On 07/24/2018 04:29 AM, tamar.christ...@arm.com wrote:
> Hi All,
> 
> This patch is re-spun to handle the configure changes in patch 4 / 6 of the 
> previous series.
> 
> This patch now changes it so that default parameters are validated during
> initialization. This change is needed to ensure parameters set via by the
> target specific common initialization routines still keep the parameters 
> within
> the valid range.
> 
> Bootstrapped Regtested on aarch64-none-linux-gnu, x86_64-pc-linux-gnu and no 
> issues.
> Both targets were tested with stack clash on and off by default.
> 
> Ok for trunk?
> 
> Thanks,
> Tamar
> 
> gcc/
> 2018-07-24  Tamar Christina  <tamar.christ...@arm.com>
> 
>       * params.c (validate_param): New.
>       (add_params): Use it.
>       (set_param_value): Refactor param validation into validate_param.
>       (diagnostic.h): Include.
>       * diagnostic.h (diagnostic_ready_p): New.
> 
>> -----Original Message-----
>> From: Jeff Law <l...@redhat.com>
>> Sent: Wednesday, July 11, 2018 20:24
>> To: Tamar Christina <tamar.christ...@arm.com>; gcc-patches@gcc.gnu.org
>> Cc: nd <n...@arm.com>; jos...@codesourcery.com
>> Subject: Re: [PATCH][GCC][front-end][opt-framework] Update options
>> framework for parameters to properly handle and validate configure time
>> params. [Patch (2/3)]
>>
>> On 07/11/2018 05:24 AM, Tamar Christina wrote:
>>> Hi All,
>>>
>>> This patch builds on a previous patch to pass param options down from
>>> configure by adding more expansive validation and correctness checks.
>>>
>>> These are set very early on and allow the target to validate or reject
>>> the values as they see fit.
>>>
>>> To do this compiler_param has been extended to hold a value set at
>>> configure time, this value is used to be able to distinguish between
>>>
>>> 1) default value
>>> 2) configure value
>>> 3) back-end default
>>> 4) user specific value.
>>>
>>> The priority of the values should be 4 > 2 > 3 > 1.  The compiler will
>>> now also validate the values in params.def after setting them.  This
>>> means invalid values will no longer be accepted.
>>>
>>> This also changes it so that default parameters are validated during
>>> initialization. This change is needed to ensure parameters set via
>>> configure or by the target specific common initialization routines
>>> still keep the parameters within the valid range.
>>>
>>> Bootstrapped Regtested on aarch64-none-linux-gnu, x86_64-pc-linux-gnu
>> and no issues.
>>> Both targets were tested with stack clash on and off by default.
>>>
>>> Ok for trunk?
>>>
>>> Thanks,
>>> Tamar
>>>
>>> gcc/
>>> 2018-07-11  Tamar Christina  <tamar.christ...@arm.com>
>>>
>>>     * params.h (struct param_info): Add configure_value.
>>>     * params.c (DEFPARAMCONF): New.
>>>     (DEFPARAM, DEFPARAMENUM5): Set configure_value.
>>>     (validate_param): New.
>>>     (add_params): Use it.
>>>     (set_param_value): Refactor param validation into validate_param.
>>>     (maybe_set_param_value): Don't override value from configure.
>>>     (diagnostic.h): Include.
>>>     * params-enum.h (DEFPARAMCONF): New.
>>>     * params-list.h: Likewise.
>>>     * params-options.h: Likewise.
>>>     * params.def (PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE):
>> Use it.
>>>     * diagnostic.h (diagnostic_ready_p): New.
>> Generally OK, though probably should depend on what we decide WRT
>> configurability.  ie, I'm not convinced we need to be able to set the default
>> via a configure time option.  And if we don't support that this patch gets
>> somewhat simpler.
>>
>> jeff
> 
> 
> rb9153-2.patch
[ ... ]
I think this is fine now.

jeff

Reply via email to