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
This commit is contained in:
John David Anglin 2003-05-21 22:00:58 +00:00 committed by John David Anglin
parent 7a29f483cf
commit f48758e4ee
8 changed files with 76 additions and 20 deletions

View File

@ -1,3 +1,12 @@
2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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 <bob.wilson@acm.org> 2003-05-21 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE, * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,

View File

@ -69,12 +69,27 @@ Boston, MA 02111-1307, USA. */
/* We can debug dynamically linked executables on hpux9; we also want /* We can debug dynamically linked executables on hpux9; we also want
dereferencing of a NULL pointer to cause a SEGV. */ dereferencing of a NULL pointer to cause a SEGV. */
#undef LINK_SPEC #undef LINK_SPEC
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11)
#define LINK_SPEC \ #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 #else
#define LINK_SPEC \ #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 #endif
/* Like the default, except no -lg. */ /* Like the default, except no -lg. */
@ -84,10 +99,8 @@ Boston, MA 02111-1307, USA. */
%{!p:%{!pg:\ %{!p:%{!pg:\
%{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
%{threads:-lcma -lc_r}}}\ %{threads:-lcma -lc_r}}}\
%{p: -L/lib/libp/ -lc\ %{p:%{!pg:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{pg:-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 #undef THREAD_MODEL_SPEC
#define THREAD_MODEL_SPEC "%{!threads:single}%{threads:dce}" #define THREAD_MODEL_SPEC "%{!threads:single}%{threads:dce}"

View File

@ -70,14 +70,26 @@ Boston, MA 02111-1307, USA. */
/* We can debug dynamically linked executables on hpux11; we also /* We can debug dynamically linked executables on hpux11; we also
want dereferencing of a NULL pointer to cause a SEGV. */ want dereferencing of a NULL pointer to cause a SEGV. */
#undef LINK_SPEC #undef LINK_SPEC
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 1) #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11)
#define LINK_SPEC \ #define LINK_SPEC \
"%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }} -z\ "%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }}\
%{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}" %{static:-a archive} %{shared:-b}"
#else #else
#define LINK_SPEC \ #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}" %{static:-a archive} %{shared:-b}"
#endif #endif
@ -88,10 +100,8 @@ Boston, MA 02111-1307, USA. */
%{!p:%{!pg:\ %{!p:%{!pg:\
%{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
%{threads:-lcma -lc_r}}}\ %{threads:-lcma -lc_r}}}\
%{p: -L/lib/libp/ -lc\ %{p:%{!pg:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{pg:-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 /* Under hpux11, the normal location of the `ld' and `as' programs is the
/usr/ccs/bin directory. */ /usr/ccs/bin directory. */

View File

@ -37,10 +37,24 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC #undef LINK_SPEC
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GNU_LD) #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GNU_LD)
#define LINK_SPEC \ #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 #else
#define LINK_SPEC \ #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 #endif
/* Like the default, except no -lg. */ /* Like the default, except no -lg. */
@ -48,9 +62,9 @@ Boston, MA 02111-1307, USA. */
#define LIB_SPEC \ #define LIB_SPEC \
"%{!shared:\ "%{!shared:\
%{!p:%{!pg: -lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ %{!p:%{!pg: -lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
%{pg: -L/usr/lib/pa20_64/libp/ -lgprof -lc\ %{p:%{!pg:-lprof -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
%{p: -L/usr/lib/pa20_64/libp/ -lprof -lc\ %{pg:-lgprof -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
/usr/lib/pa20_64/milli.a" /usr/lib/pa20_64/milli.a"

View File

@ -1,3 +1,10 @@
2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* 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 <dannysmith@users.sourceforge.net> 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
PR c++/9738 PR c++/9738

View File

@ -1,5 +1,6 @@
// { dg-do run { xfail m68k-motorola-sysv m88k-motorola-sysv3 mips*-*-* i[3456]86-*-sco3.2v5* } } // { dg-do run { xfail m68k-motorola-sysv m88k-motorola-sysv3 mips*-*-* i[3456]86-*-sco3.2v5* } }
// { dg-options "-pg" } // { dg-options "-pg" }
// { dg-options "-pg -static" { target hppa*-*-hpux* } }
// GROUPS passed profiling // GROUPS passed profiling
#include <stdio.h> #include <stdio.h>
main() main()

View File

@ -1,5 +1,6 @@
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -p" } */ /* { dg-options "-O2 -p" } */
/* { dg-options "-O2 -p -static" { target hppa*-*-hpux* } } */
/* { dg-error "profiler" "No profiler support" { target mmix-*-* xstormy16-*-* } 0 } */ /* { dg-error "profiler" "No profiler support" { target mmix-*-* xstormy16-*-* } 0 } */
/* { dg-error "" "consider using `-pg' instead of `-p' with gprof(1)" { target *-*-freebsd* } 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 /* Support for -p on solaris2 relies on mcrt1.o which comes with the

View File

@ -1,6 +1,7 @@
/* PR 5967, PR 7114 */ /* PR 5967, PR 7114 */
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -pg" } */ /* { dg-options "-O2 -pg" } */
/* { dg-options "-O2 -pg -static" { target hppa*-*-hpux* } } */
/* { dg-error "profiler" "No profiler support" { target mmix-*-* xstormy16-*-* } 0 } */ /* { dg-error "profiler" "No profiler support" { target mmix-*-* xstormy16-*-* } 0 } */
/* Support for -pg on irix relies on gcrt1.o which doesn't exist yet. /* 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 */ See: http://gcc.gnu.org/ml/gcc/2002-10/msg00169.html */