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
> 

Reply via email to