Message ID | 20150919120023.GA12911@var.home |
---|---|
State | New |
Headers | show |
Ping? Samuel Thibault, le Sat 19 Sep 2015 14:00:23 +0200, a écrit : > On Linux, -p and -pg do not make gcc link against libc_p.a, only > -profile does (as documented in r11246), and thus people expect -p > and -pg to work without libc_p.a installed (it is actually even not > available any more in Debian). We should thus rather make the Hurd port > do the same to avoid build failures. > > Samuel > > * gcc/config/gnu.h (LIB_SPEC) [-p|-pg]: Link with -lc instead of -lc_p. > * gcc/config/i386/gnu.h (STARTFILE_SPEC) [-p|-pg]: Use gcrt1.o > instead of gcrt0.o. > > --- gcc/config/gnu.h.orig 2015-09-16 00:43:09.785570853 +0200 > +++ gcc/config/gnu.h 2015-09-16 00:43:12.513550418 +0200 > @@ -25,7 +25,7 @@ > > /* Default C library spec. */ > #undef LIB_SPEC > -#define LIB_SPEC "%{pthread:-lpthread} %{pg|p|profile:-lc_p;:-lc}" > +#define LIB_SPEC "%{pthread:-lpthread} %{profile:-lc_p;:-lc}" > > #undef GNU_USER_TARGET_OS_CPP_BUILTINS > #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ > --- gcc/config/i386/gnu.h.orig 2015-09-17 21:41:13.000000000 +0000 > +++ gcc/config/i386/gnu.h 2015-09-17 23:03:57.000000000 +0000 > @@ -27,11 +27,11 @@ > #undef STARTFILE_SPEC > #if defined HAVE_LD_PIE > #define STARTFILE_SPEC \ > - "%{!shared: %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > #else > #define STARTFILE_SPEC \ > - "%{!shared: %{pg|p|profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > #endif >
Ping? (I don't have commit access) Samuel Thibault, le Sat 19 Sep 2015 14:00:23 +0200, a écrit : > On Linux, -p and -pg do not make gcc link against libc_p.a, only > -profile does (as documented in r11246), and thus people expect -p > and -pg to work without libc_p.a installed (it is actually even not > available any more in Debian). We should thus rather make the Hurd port > do the same to avoid build failures. > > Samuel > > * gcc/config/gnu.h (LIB_SPEC) [-p|-pg]: Link with -lc instead of -lc_p. > * gcc/config/i386/gnu.h (STARTFILE_SPEC) [-p|-pg]: Use gcrt1.o > instead of gcrt0.o. > > --- gcc/config/gnu.h.orig 2015-09-16 00:43:09.785570853 +0200 > +++ gcc/config/gnu.h 2015-09-16 00:43:12.513550418 +0200 > @@ -25,7 +25,7 @@ > > /* Default C library spec. */ > #undef LIB_SPEC > -#define LIB_SPEC "%{pthread:-lpthread} %{pg|p|profile:-lc_p;:-lc}" > +#define LIB_SPEC "%{pthread:-lpthread} %{profile:-lc_p;:-lc}" > > #undef GNU_USER_TARGET_OS_CPP_BUILTINS > #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ > --- gcc/config/i386/gnu.h.orig 2015-09-17 21:41:13.000000000 +0000 > +++ gcc/config/i386/gnu.h 2015-09-17 23:03:57.000000000 +0000 > @@ -27,11 +27,11 @@ > #undef STARTFILE_SPEC > #if defined HAVE_LD_PIE > #define STARTFILE_SPEC \ > - "%{!shared: %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > #else > #define STARTFILE_SPEC \ > - "%{!shared: %{pg|p|profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > #endif >
Hi Samuel! On Sat, 19 Sep 2015 14:00:23 +0200, Samuel Thibault <samuel.thibault@gnu.org> wrote: > On Linux, -p and -pg do not make gcc link against libc_p.a, only > -profile does (as documented in r11246), and thus people expect -p > and -pg to work without libc_p.a installed (it is actually even not > available any more in Debian). We should thus rather make the Hurd port > do the same to avoid build failures. ACK. Thanks, I'll take care of your patch. > * gcc/config/gnu.h (LIB_SPEC) [-p|-pg]: Link with -lc instead of -lc_p. > * gcc/config/i386/gnu.h (STARTFILE_SPEC) [-p|-pg]: Use gcrt1.o > instead of gcrt0.o. > > --- gcc/config/gnu.h.orig 2015-09-16 00:43:09.785570853 +0200 > +++ gcc/config/gnu.h 2015-09-16 00:43:12.513550418 +0200 > @@ -25,7 +25,7 @@ > > /* Default C library spec. */ > #undef LIB_SPEC > -#define LIB_SPEC "%{pthread:-lpthread} %{pg|p|profile:-lc_p;:-lc}" > +#define LIB_SPEC "%{pthread:-lpthread} %{profile:-lc_p;:-lc}" > > #undef GNU_USER_TARGET_OS_CPP_BUILTINS > #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ > --- gcc/config/i386/gnu.h.orig 2015-09-17 21:41:13.000000000 +0000 > +++ gcc/config/i386/gnu.h 2015-09-17 23:03:57.000000000 +0000 > @@ -27,11 +27,11 @@ > #undef STARTFILE_SPEC > #if defined HAVE_LD_PIE > #define STARTFILE_SPEC \ > - "%{!shared: %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > #else > #define STARTFILE_SPEC \ > - "%{!shared: %{pg|p|profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > #endif Grüße, Thomas
Ping? Samuel Thibault, on Sun 11 Oct 2015 20:29:10 +0200, wrote: > Ping? > > (I don't have commit access) > > Samuel Thibault, le Sat 19 Sep 2015 14:00:23 +0200, a écrit : > > On Linux, -p and -pg do not make gcc link against libc_p.a, only > > -profile does (as documented in r11246), and thus people expect -p > > and -pg to work without libc_p.a installed (it is actually even not > > available any more in Debian). We should thus rather make the Hurd port > > do the same to avoid build failures. > > > > Samuel > > > > * gcc/config/gnu.h (LIB_SPEC) [-p|-pg]: Link with -lc instead of -lc_p. > > * gcc/config/i386/gnu.h (STARTFILE_SPEC) [-p|-pg]: Use gcrt1.o > > instead of gcrt0.o. > > > > --- gcc/config/gnu.h.orig 2015-09-16 00:43:09.785570853 +0200 > > +++ gcc/config/gnu.h 2015-09-16 00:43:12.513550418 +0200 > > @@ -25,7 +25,7 @@ > > > > /* Default C library spec. */ > > #undef LIB_SPEC > > -#define LIB_SPEC "%{pthread:-lpthread} %{pg|p|profile:-lc_p;:-lc}" > > +#define LIB_SPEC "%{pthread:-lpthread} %{profile:-lc_p;:-lc}" > > > > #undef GNU_USER_TARGET_OS_CPP_BUILTINS > > #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ > > --- gcc/config/i386/gnu.h.orig 2015-09-17 21:41:13.000000000 +0000 > > +++ gcc/config/i386/gnu.h 2015-09-17 23:03:57.000000000 +0000 > > @@ -27,11 +27,11 @@ > > #undef STARTFILE_SPEC > > #if defined HAVE_LD_PIE > > #define STARTFILE_SPEC \ > > - "%{!shared: %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > > #else > > #define STARTFILE_SPEC \ > > - "%{!shared: %{pg|p|profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > > + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ > > crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" > > #endif > >
--- gcc/config/gnu.h.orig 2015-09-16 00:43:09.785570853 +0200 +++ gcc/config/gnu.h 2015-09-16 00:43:12.513550418 +0200 @@ -25,7 +25,7 @@ /* Default C library spec. */ #undef LIB_SPEC -#define LIB_SPEC "%{pthread:-lpthread} %{pg|p|profile:-lc_p;:-lc}" +#define LIB_SPEC "%{pthread:-lpthread} %{profile:-lc_p;:-lc}" #undef GNU_USER_TARGET_OS_CPP_BUILTINS #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ --- gcc/config/i386/gnu.h.orig 2015-09-17 21:41:13.000000000 +0000 +++ gcc/config/i386/gnu.h 2015-09-17 23:03:57.000000000 +0000 @@ -27,11 +27,11 @@ #undef STARTFILE_SPEC #if defined HAVE_LD_PIE #define STARTFILE_SPEC \ - "%{!shared: %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" #else #define STARTFILE_SPEC \ - "%{!shared: %{pg|p|profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" #endif