From 5f1908384a6a173ed89192d47b4ef5aa10c31a60 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Sat, 28 Feb 2004 22:40:38 +0000 Subject: [PATCH] * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg. From-SVN: r78632 --- 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 f255b8a2140..750d29bbce9 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-28 Kazu Hirata * genattr.c (main): Don't define diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h index eed16720c1a..098f47f79e1 100644 --- a/gcc/config/pa/pa64-hpux.h +++ b/gcc/config/pa/pa64-hpux.h @@ -57,14 +57,20 @@ Boston, MA 02111-1307, USA. */ %{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}}}}\ - %{p:%{!pg:-lprof -lc\ - %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ - %{pg:-lgprof -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.30.2