From be5cc51a9bcc7fa15701a93ae47410d255089561 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Fri, 15 Feb 2002 19:11:01 +0000 Subject: [PATCH] gcc.c (init_gcc_specs): Revert patch from 2002-02-15. * gcc.c (init_gcc_specs): Revert patch from 2002-02-15. * config/pa/pa-linux.h (LIB_SPEC): Likewise. * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise. From-SVN: r49794 --- gcc/ChangeLog | 6 ++++++ gcc/config/pa/pa-linux.h | 3 +++ gcc/config/pa/pa32-linux.h | 11 +++++++++++ gcc/gcc.c | 2 +- 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e4f023f9670..570574474e6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-02-15 John David Anglin + + * gcc.c (init_gcc_specs): Revert patch from 2002-02-15. + * config/pa/pa-linux.h (LIB_SPEC): Likewise. + * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise. + 2002-02-15 Richard Sandiford * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls. diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index a0707f7164a..7138e755d25 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -27,6 +27,9 @@ Boston, MA 02111-1307, USA. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__hppa__ -Dlinux -Asystem=unix -Asystem=posix -Acpu=hppa -Amachine=hppa -Amachine=bigendian" +#undef LIB_SPEC +#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" + #undef ASM_SPEC #define ASM_SPEC \ "%{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}" diff --git a/gcc/config/pa/pa32-linux.h b/gcc/config/pa/pa32-linux.h index 81f64529a3a..09bd44d8965 100644 --- a/gcc/config/pa/pa32-linux.h +++ b/gcc/config/pa/pa32-linux.h @@ -24,3 +24,14 @@ Boston, MA 02111-1307, USA. */ #undef CPP_SPEC #define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{mhppa:-D__hppa__} %{posix:-D_POSIX_SOURCE} -D_PA_RISC1_1" + +/* We need to link against libgcc.a to resolve millicode references. */ +#undef LINK_COMMAND_SPEC +#define LINK_COMMAND_SPEC "\ +%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ + %(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t}\ + %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ + %{static:} %{L*} %(link_libgcc) %o %{!nostdlib:%{!nodefaultlibs:%G %L %G}}\ + %{!A:%{!nostdlib:%{!nostartfiles:%E}}}\ + %{!nostdlib:%{!nodefaultlibs:%{!static:%{!static-libgcc:-lgcc}}}}\ + %{T*} }}}}}}" diff --git a/gcc/gcc.c b/gcc/gcc.c index 84f1a1dddfe..41c62a9e4fe 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -1430,7 +1430,7 @@ init_gcc_specs (obstack, shared_name, static_name, eh_name) #ifdef LINK_EH_SPEC sprintf (buffer, "%s}}}", static_name); #else - sprintf (buffer, "%s %s}}}", shared_name, static_name); + sprintf (buffer, "%s}}}", shared_name); #endif obstack_grow (obstack, buffer, strlen (buffer)); /* Otherwise, use the static version. */ -- 2.30.2