From f401d0f52653fd3112d8b6a12dc4d474a0f9faaa Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Fri, 11 Apr 2003 18:30:52 +0000 Subject: install.texi (hppa): Update links for HP-UX patches. * doc/install.texi (hppa): Update links for HP-UX patches. Revise notes on linker selection and configuration for 64-bit HP-UX port. * doc/invoke.texi (hppa): Remove hppa text from description for -ffunction-sections and -fdata-sections. Document -static, -nolibdld and -threads options. * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of libc.a on libdld.sl when -static is specified and -nolibdld is not specified. * pa64-hpux.h (LIB_SPEC): Likewise. * pa-hpux11.h (LIB_SPEC): Likewise. (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared is not specified. From-SVN: r65471 --- gcc/config/pa/pa-hpux10.h | 8 +++++--- gcc/config/pa/pa-hpux11.h | 15 ++++++++++----- gcc/config/pa/pa64-hpux.h | 10 ++++++---- 3 files changed, 21 insertions(+), 12 deletions(-) (limited to 'gcc/config/pa') diff --git a/gcc/config/pa/pa-hpux10.h b/gcc/config/pa/pa-hpux10.h index 0354543..9cd7c1b 100644 --- a/gcc/config/pa/pa-hpux10.h +++ b/gcc/config/pa/pa-hpux10.h @@ -82,10 +82,12 @@ Boston, MA 02111-1307, USA. */ #define LIB_SPEC \ "%{!shared:\ %{!p:%{!pg:\ - %{!threads:-lc}\ + %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{threads:-lcma -lc_r}}}\ - %{p: -L/lib/libp/ -lc}\ - %{pg: -L/lib/libp/ -lc}}" + %{p: -L/lib/libp/ -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ + %{pg: -L/lib/libp/ -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}" #undef THREAD_MODEL_SPEC #define THREAD_MODEL_SPEC "%{!threads:single}%{threads:dce}" diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h index 502b82b..b567c98 100644 --- a/gcc/config/pa/pa-hpux11.h +++ b/gcc/config/pa/pa-hpux11.h @@ -72,10 +72,13 @@ Boston, MA 02111-1307, USA. */ #undef LINK_SPEC #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 1) #define LINK_SPEC \ - "%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }} -z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}" + "%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }} -z\ + %{mlinker-opt:-O} %{!shared:-u main -u __gcc_plt_call}\ + %{static:-a archive} %{shared:-b}" #else #define LINK_SPEC \ - "-z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}" + "-z %{mlinker-opt:-O} %{!shared:-u main -u __gcc_plt_call}\ + %{static:-a archive} %{shared:-b}" #endif /* Like the default, except no -lg. */ @@ -83,10 +86,12 @@ Boston, MA 02111-1307, USA. */ #define LIB_SPEC \ "%{!shared:\ %{!p:%{!pg:\ - %{!threads:-lc}\ + %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{threads:-lcma -lc_r}}}\ - %{p: -L/lib/libp/ -lc}\ - %{pg: -L/lib/libp/ -lc}}" + %{p: -L/lib/libp/ -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ + %{pg: -L/lib/libp/ -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}" /* Under hpux11, the normal location of the `ld' and `as' programs is the /usr/ccs/bin directory. */ diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h index 690d511..024d189 100644 --- a/gcc/config/pa/pa64-hpux.h +++ b/gcc/config/pa/pa64-hpux.h @@ -47,10 +47,12 @@ Boston, MA 02111-1307, USA. */ #undef LIB_SPEC #define LIB_SPEC \ "%{!shared:\ - %{!p:\ - %{!pg: %{!threads:-lc} %{threads:-lcma -lc_r}}\ - %{pg: -L/usr/lib/pa20_64/libp/ -lgprof -lc}}\ - %{p: -L/usr/lib/pa20_64/libp/ -lprof -lc}} /usr/lib/pa20_64/milli.a" + %{!p:%{!pg: -lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ + %{pg: -L/usr/lib/pa20_64/libp/ -lgprof -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ + %{p: -L/usr/lib/pa20_64/libp/ -lprof -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ + /usr/lib/pa20_64/milli.a" /* Under hpux11, the normal location of the `ld' and `as' programs is the /usr/ccs/bin directory. */ -- cgit v1.1