From cc604aea46696031a53fe437e55a048da6d0ecd2 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Sat, 28 Feb 2004 23:32:07 +0000 Subject: [PATCH] * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg. From-SVN: r78637 --- gcc/ChangeLog | 4 ++++ gcc/config/pa/pa64-hpux.h | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3392469efa9e..33d563b0220a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-02-28 John David Anglin + + * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg. + 2004-02-27 Ian Lance Taylor PR optimization/7871 diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h index 44eb11b9b83e..8417e297270d 100644 --- a/gcc/config/pa/pa64-hpux.h +++ b/gcc/config/pa/pa64-hpux.h @@ -43,14 +43,20 @@ Boston, MA 02111-1307, USA. */ "%{!mgnu-ld:+Accept TypeMismatch} -E %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:%{mgnu-ld:-shared}%{!mgnu-ld:-b}}" #endif -/* Like the default, except no -lg. */ +/* Profiling support is only provided in libc.a. However, libprof and + libgprof are only available in shared form on HP-UX 11.00. We use + the shared form if we are using the GNU linker or an archive form + isn't available. We also usually need to link with libdld and it's + only available in shared form. */ #undef LIB_SPEC #define LIB_SPEC \ "%{!shared:\ %{!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\ + %{p:%{!pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ + -lprof %{static:-a archive} -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ + %{pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ + -lgprof %{static:-a archive} -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ /usr/lib/pa20_64/milli.a" -- 2.47.2