Thomas Schwinge, on Wed 24 Feb 2016 23:46:36 +0100, wrote: > I guess getting -D_REENTRANT for -pthread won't do us any harm?
It won't. > > --- 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 > > I think I understand what you're trying to do (avoid gcrt0.o being used > for -pg or -p, and instead use gcrt1.o), Yes. > Likewise, for -pg or -p, I would assume that we > still need gcrt0.o for static linking, and gcrt1.o for dynamic linking. Mmm, probably indeed. > - "%{!shared: > %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ > + "%{!shared: > %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} > \ Yes, that looks reasonable. Samuel