This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PING][PATCH][1-3] New configure options that make the compiler use -fPIE and -pie as default option
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Daniel Micay <danielmicay at gmail dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, Magnus Granberg <zorry at gentoo dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 9 Jan 2015 17:49:59 +0000
- Subject: Re: [PING][PATCH][1-3] New configure options that make the compiler use -fPIE and -pie as default option
- Authentication-results: sourceware.org; auth=none
- References: <4827012 dot p4mTkPPu1h at laptop1 dot gw dot ume dot nu> <2546517 dot 6r217PbQ20 at laptop1 dot gw dot ume dot nu> <3640063 dot 8rDKLvUbS6 at laptop1 dot gw dot ume dot nu> <1625902 dot vd5h90ZESU at laptop1 dot gw dot ume dot nu> <CAFiYyc36p_JMOHbbDPOYJisRw1cL3gakAHmc1DJLGiS3vD9oUQ at mail dot gmail dot com> <54AFE15D dot 40406 at gmail dot com>
On Fri, 9 Jan 2015, Daniel Micay wrote:
> > --with-specs="%{pie|fpic|fPIC|fpie|fPIE|fno-pic|fno-PIC|fno-pie|fno-PIE|shared|static|nostdlib|nodefaultlibs|nostartfiles:;:-fPIE
> > -pie}"
> >
> > at configure time (using CONFIGURE_SPECS).
> >
> > I have no idea if the above is really the proper spec to use - why
> > do you include static, nostdlib, nodefaultlibs and nostartfiles
> > for example? Similar, if I say
>
> PIE isn't supported for static executables by binutils, etc. so it
> does need to exclude that. The checks for nostdlib, nodefaultlibs
Well - that would indicate excluding -pie if one of the link-time options
conflicting with it is used, -fPIE if one of the compile-time options
conflicting with it is used. That way, "gcc -static file.c" would still
have the same effect as "gcc -c file.c; gcc -static file.o" (building a
PIE object, linking it into a non-PIE static executable), which makes
logical sense to me (although there may be no great benefit either way).
--
Joseph S. Myers
joseph@codesourcery.com