"H.J. Lu" <hjl.to...@gmail.com> writes: > On Wed, Feb 11, 2015 at 6:10 AM, Rainer Orth > <r...@cebitec.uni-bielefeld.de> wrote: >> "H.J. Lu" <hjl.to...@gmail.com> writes: >> >>>> The new proc is bogus, unfortunately: there's already an existing >>>> check_effective_target_pie that checks if a target can support PIE. The >>>> new one just overrides the previous one. On targets supporting PIE >>>> (like Darwin), but not defaulting to it, the PIE tests suddenly turn out >>>> UNSUPPORTED. >>>> >>>> You should rename the new one to >>>> e.g. check_effective_target_pie_default, update the single user, and >>>> document it in sourcebuild.texi. >>> >>> I checked in this as an obvious fix. >> >> I think pie_enabled is not a very descriptive name: >> >> Index: doc/sourcebuild.texi >> =================================================================== >> --- doc/sourcebuild.texi (revision 220617) >> +++ doc/sourcebuild.texi (working copy) >> @@ -1884,6 +1884,9 @@ >> @item nonpic >> Target does not generate PIC by default. >> >> +@item pie_enabled >> +Target generates PIE by default. >> + >> @item pcc_bitfield_type_matters >> Target defines @code{PCC_BITFIELD_TYPE_MATTERS}. >> >> With -fpie, PIE is also enabled, just not the default without any > > I was testing > > # make RUNTESTFLAGS="--target_board='unix{-m32\ -fpie,-fpie}' > > I don't consider PIE is default. It is just enabled. > >> options. Please either go with the pie_default I sugested or wait for >> others to weigh in before rushing in another `obvious' fix.
Then the description (both sourcebuild.texi and target-supports.texi) is confusing. What are you trying to achieve here, actually? Even on Solaris 11/x86 (which doesn't support PIE), -fpie lets the check_effective_target_pie_enabled (or whatever it's called) proc pass. Shouldn't it also check if the target can support PIE at all? Please clarify your goals before going forward with this. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University