[testsuite] PATCH: Add check_effective_target_pie

H.J. Lu hjl.tools@gmail.com
Wed Feb 11 15:45:00 GMT 2015


On Wed, Feb 11, 2015 at 7:19 AM, Rainer Orth
<ro@cebitec.uni-bielefeld.de> wrote:
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
>> On Wed, Feb 11, 2015 at 6:10 AM, Rainer Orth
>> <ro@cebitec.uni-bielefeld.de> wrote:
>>> "H.J. Lu" <hjl.tools@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.

That is how other options are described.

> 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?
>

Assembly outputs may be different, depending on if PIE is
enabled nor not. When we scan assembly outputs for test
results, we have different expected results when PIE is enabled.
That is how pie_enabled is used so far.

-- 
H.J.



More information about the Gcc-patches mailing list