From 08404d9c66fc31c270ae2364186c6072267864ea Mon Sep 17 00:00:00 2001 From: danglin 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78632 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 f255b8a..750d29b 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 eed1672..098f47f 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.7.4