This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fwd: PING^3: [PATCH]: New configure options that make the compiler use -fPIE and -pie as default option
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: Richard Earnshaw <richard dot earnshaw at arm dot com>, Bernd Schmidt <bernds at codesourcery dot com>, Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>, Nick Clifton <nickc at redhat dot com>, Matthew Fortune <Matthew dot Fortune at imgtec dot com>, David Edelsohn <dje dot gcc at gmail dot com>, "David S. Miller" <davem at redhat dot com>, Matt Thomas <matt at 3am-software dot com>, Rainer Orth <ro at cebitec dot uni-bielefeld dot de>, Mike Stump <mikestump at comcast dot net>, GCC Patches <gcc-patches at gcc dot gnu dot org>, "Joseph S. Myers" <joseph at codesourcery dot com>
- Date: Sat, 30 May 2015 08:42:38 -0700
- Subject: Re: Fwd: PING^3: [PATCH]: New configure options that make the compiler use -fPIE and -pie as default option
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOrw7OFObOmOCG1wM2Hfr_hpKo-wY0_17ngB89CTQ_34Mw at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1505072104300 dot 20024 at digraph dot polyomino dot org dot uk> <CAMe9rOrcADb1t2Ch0LDy9SOaS9RDoj4BGgo8qL+6jtg1tnLA8g at mail dot gmail dot com> <3072346 dot CTCrhcXNep at laptop1 dot gw dot ume dot nu> <alpine dot DEB dot 2 dot 10 dot 1505190109380 dot 16300 at digraph dot polyomino dot org dot uk> <CAMe9rOr-mU-vxmF3po-zKAYtLyYGGCN4LeM-DJkL6Kv3fYxD_g at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1505191520110 dot 32308 at digraph dot polyomino dot org dot uk> <CAMe9rOqncLsJhb7Fhr3t3acDO+Kq38AeA+ac1TKt6oqWwGz-5Q at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1505191531440 dot 32308 at digraph dot polyomino dot org dot uk> <CAMe9rOrW1BGje8b6EmrzaJP8b0rPWF+WrTTWdAn-67Fn7-imqw at mail dot gmail dot com> <CAMe9rOpZow4w3zcycLoTb5LZdLKP2QWNpsU5oLMJCyZGUTd1fg at mail dot gmail dot com> <87vbflkh05 dot fsf at igel dot home> <87k2w1k54t dot fsf at igel dot home> <CAMe9rOqUj4dhH3omFO7UONsPgmg9iOaXhntfK+dNByLeGnrm_Q at mail dot gmail dot com> <87oal2ayo8 dot fsf at igel dot home>
On Sat, May 30, 2015 at 8:10 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
>> +# Check if -fno-PIE works.
>> +AC_CACHE_CHECK([for -fno-PIE option],
>> + [gcc_cv_c_no_fpie],
>> + [saved_CFLAGS="$CFLAGS"
>> + CFLAGS="$CFLAGS -fno-PIE"
>> + AC_COMPILE_IFELSE([int main(void) {return 0;}],
>> + [gcc_cv_c_no_fpie=yes],
>> + [gcc_cv_c_no_fpie=no])
>> + CFLAGS="$saved_CFLAGS"])
>> +if test "$gcc_cv_c_no_fpie" = "yes"; then
>> + NO_PIE_CFLAGS="-fno-PIE"
>> +fi
>> +AC_SUBST([NO_PIE_CFLAGS])
>> +
>
> That doesn't work:
>
> configure:28726: checking for -fno-PIE option
> configure:28737: g++ -c -g conftest.cpp >&5
> configure:28737: $? = 0
> configure:28745: result: yes
>
>> +# Check if -no-pie works.
>> +AC_CACHE_CHECK([for -no-pie option],
>> + [gcc_cv_no_pie],
>> + [saved_LDFLAGS="$LDFLAGS"
>> + LDFLAGS="$LDFLAGS -no-pie"
>> + AC_LINK_IFELSE([int main(void) {return 0;}],
>> + [gcc_cv_no_pie=yes],
>> + [gcc_cv_no_pie=no])
>> + LDFLAGS="$saved_LDFLAGS"])
>> +if test "$gcc_cv_no_pie" = "yes"; then
>> + NO_PIE_FLAG="-no-pie"
>> +fi
>> +AC_SUBST([NO_PIE_FLAG])
>> +
>
> That doesn't work with gcc 4.3:
>
> configure:28753: checking for -no-pie option
> configure:28764: g++ -std=c++98 -o conftest -g -no-pie conftest.cpp >&5
> g++: unrecognized option '-no-pie'
> configure:28764: $? = 0
> configure:28773: result: yes
>
Starting GCC 4.6, the unrecognized option became an error.
Before 4.6, it was ignored. Does it cause any problems for
bootstrap?
--
H.J.