From: John David Anglin Date: Wed, 21 May 2003 22:00:58 +0000 (+0000) Subject: re PR target/6428 ([hppa*-hp-hpux] gmon.out is not generated when application to... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f48758e4ee440a8866485fad7c63f4f2f2e1dbb0;p=platform%2Fupstream%2Fgcc.git re PR target/6428 ([hppa*-hp-hpux] gmon.out is not generated when application to be profiled is linked with shared libgcc) PR target/6428 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg' option is used without `-static'. * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise. * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise. * g++.old-deja/g++.law/profile1.C (dg-options): Add -static to options for hppa*-hp-hpux*. * gcc.dg/20021014-1.c (dg-options): Likewise. * gcc.dg/nest.c (dg-options): Likewise. From-SVN: r67068 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 355cf18..cc049d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2003-05-21 John David Anglin + + PR target/6428 + * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling + directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg' + option is used without `-static'. + * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise. + * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise. + 2003-05-21 Bob Wilson * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE, diff --git a/gcc/config/pa/pa-hpux10.h b/gcc/config/pa/pa-hpux10.h index 9cd7c1b..1c89598 100644 --- a/gcc/config/pa/pa-hpux10.h +++ b/gcc/config/pa/pa-hpux10.h @@ -69,12 +69,27 @@ Boston, MA 02111-1307, USA. */ /* We can debug dynamically linked executables on hpux9; we also want dereferencing of a NULL pointer to cause a SEGV. */ #undef LINK_SPEC -#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) +#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) #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 }}\ + %{!shared:%{p:-L/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{!shared:%{pg:-L/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + -z %{mlinker-opt:-O} %{!shared:-u main}\ + %{static:-a archive} %{shared:-b}" #else #define LINK_SPEC \ - "-z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}" + "%{!shared:%{p:-L/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{!shared:%{pg:-L/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + -z %{mlinker-opt:-O} %{!shared:-u main}\ + %{static:-a archive} %{shared:-b}" #endif /* Like the default, except no -lg. */ @@ -84,10 +99,8 @@ Boston, MA 02111-1307, USA. */ %{!p:%{!pg:\ %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{threads:-lcma -lc_r}}}\ - %{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}}}}" + %{p:%{!pg:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ + %{pg:-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 b567c98..a1dbf20 100644 --- a/gcc/config/pa/pa-hpux11.h +++ b/gcc/config/pa/pa-hpux11.h @@ -70,14 +70,26 @@ Boston, MA 02111-1307, USA. */ /* We can debug dynamically linked executables on hpux11; we also want dereferencing of a NULL pointer to cause a SEGV. */ #undef LINK_SPEC -#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 1) +#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) #define LINK_SPEC \ - "%{!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}\ + "%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }}\ + %{!shared:%{p:-L/lib/libp -L/usr/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{!shared:%{pg:-L/lib/libp -L/usr/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + -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 -u __gcc_plt_call}\ + "%{!shared:%{p:-L/lib/libp -L/usr/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{!shared:%{pg:-L/lib/libp -L/usr/lib/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + -z %{mlinker-opt:-O} %{!shared:-u main -u __gcc_plt_call}\ %{static:-a archive} %{shared:-b}" #endif @@ -88,10 +100,8 @@ Boston, MA 02111-1307, USA. */ %{!p:%{!pg:\ %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{threads:-lcma -lc_r}}}\ - %{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}}}}" + %{p:%{!pg:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ + %{pg:-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 eca868c..9a00a21 100644 --- a/gcc/config/pa/pa64-hpux.h +++ b/gcc/config/pa/pa64-hpux.h @@ -37,10 +37,24 @@ Boston, MA 02111-1307, USA. */ #undef LINK_SPEC #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GNU_LD) #define LINK_SPEC \ - "%{mhp-ld:+Accept TypeMismatch} -E %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:%{mhp-ld:-b}%{!mhp-ld:-shared}}" + "%{!shared:%{p:-L/lib/pa20_64/libp -L/usr/lib/pa20_64/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{!shared:%{pg:-L/lib/pa20_64/libp -L/usr/lib/pa20_64/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{mhp-ld:+Accept TypeMismatch} -E %{mlinker-opt:-O} %{!shared:-u main}\ + %{static:-a archive} %{shared:%{mhp-ld:-b}%{!mhp-ld:-shared}}" #else #define LINK_SPEC \ - "%{!mgnu-ld:+Accept TypeMismatch} -E %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:%{mgnu-ld:-shared}%{!mgnu-ld:-b}}" + "%{!shared:%{p:-L/lib/pa20_64/libp -L/usr/lib/pa20_64/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{!shared:%{pg:-L/lib/pa20_64/libp -L/usr/lib/pa20_64/libp %{!static:\ + %nWarning: consider linking with `-static' as system libraries with\n\ + %n profiling support are only provided in archive format}}}\ + %{!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. */ @@ -48,9 +62,9 @@ Boston, MA 02111-1307, USA. */ #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:-lprof -lc\ + %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ + %{pg:-lgprof -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ /usr/lib/pa20_64/milli.a" diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index db194e8..0184524 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2003-05-21 John David Anglin + + * g++.old-deja/g++.law/profile1.C (dg-options): Add -static to options + for hppa*-hp-hpux*. + * gcc.dg/20021014-1.c (dg-options): Likewise. + * gcc.dg/nest.c (dg-options): Likewise. + 2003-05-21 Danny Smith PR c++/9738 diff --git a/gcc/testsuite/g++.old-deja/g++.law/profile1.C b/gcc/testsuite/g++.old-deja/g++.law/profile1.C index ada9fe8..24a79b4 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/profile1.C +++ b/gcc/testsuite/g++.old-deja/g++.law/profile1.C @@ -1,5 +1,6 @@ // { dg-do run { xfail m68k-motorola-sysv m88k-motorola-sysv3 mips*-*-* i[3456]86-*-sco3.2v5* } } // { dg-options "-pg" } +// { dg-options "-pg -static" { target hppa*-*-hpux* } } // GROUPS passed profiling #include main() diff --git a/gcc/testsuite/gcc.dg/20021014-1.c b/gcc/testsuite/gcc.dg/20021014-1.c index 982829f..69e2eaa 100644 --- a/gcc/testsuite/gcc.dg/20021014-1.c +++ b/gcc/testsuite/gcc.dg/20021014-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -p" } */ +/* { dg-options "-O2 -p -static" { target hppa*-*-hpux* } } */ /* { dg-error "profiler" "No profiler support" { target mmix-*-* xstormy16-*-* } 0 } */ /* { dg-error "" "consider using `-pg' instead of `-p' with gprof(1)" { target *-*-freebsd* } 0 } */ /* Support for -p on solaris2 relies on mcrt1.o which comes with the diff --git a/gcc/testsuite/gcc.dg/nest.c b/gcc/testsuite/gcc.dg/nest.c index ba566ef..adb9f0d 100644 --- a/gcc/testsuite/gcc.dg/nest.c +++ b/gcc/testsuite/gcc.dg/nest.c @@ -1,6 +1,7 @@ /* PR 5967, PR 7114 */ /* { dg-do run } */ /* { dg-options "-O2 -pg" } */ +/* { dg-options "-O2 -pg -static" { target hppa*-*-hpux* } } */ /* { dg-error "profiler" "No profiler support" { target mmix-*-* xstormy16-*-* } 0 } */ /* Support for -pg on irix relies on gcrt1.o which doesn't exist yet. See: http://gcc.gnu.org/ml/gcc/2002-10/msg00169.html */