[PATCH, V3] gas: sframe: command line option takes precedence

Jens Remus jremus@linux.ibm.com
Fri Jul 25 07:18:25 GMT 2025


On 25.07.2025 08:45, Indu Bhagat via Binutils wrote:
> over gas directive to emit .sframe section.
> 
> Fix PR gas/33175 sframe: --gsframe=no does not disable when
> .cfi_sections directive with .sframe
> 
> --gsframe=no should also disable generation of SFrame section when
> explicit CFI directive:
>   .cfi_sections .sframe
> is specified in the input.  This means we need to track whether SFrame
> generation was explcitly disabled by the user.  Introduce a new enum to
> facilitate disambiguation between GEN_SFRAME_CONFIG_DISABLED and
> GEN_SFRAME_DISABLED.
> 
> While fixing the bug by adding the enum, keep the upcoming requirement
> in mind: we will also need to disambiguate between
> --enable-default-sframe and user-specified --gsframe/--gsframe=yes.  The
> intent is to not display SFrame related warnings or errors like:
> 
>   as_bad (_(".sframe not supported for target"));
> 
> for unsupported targets if --enable-default-sframe is in effect.
> 
> This implies we need to have a four state enum (
> GEN_SFRAME_DEFAULT_NONE, GEN_SFRAME_CONFIG_ENABLED,
> GEN_SFRAME_DISABLED, GEN_SFRAME_ENABLED)
> 
> gas/
> 	PR gas/33175
> 	* dw2gencfi.c (cfi_finish): Check state of flag_gen_sframe to
> 	determine whether any SFrame section is generated.
> 	* as.h (enum gen_sframe_option): New definition.
> 	* as.c (parse_args): Keep track of whether the flag is
> 	explicitly enabled or disabled
> gas/testsuite/
> 	PR gas/33175
> 	* gas/cfi-sframe/cfi-sframe-common-1.d: Remove redundant
> 	--gsframe.
> 	* gas/cfi-sframe/cfi-sframe.exp:  Add new test.
> 	* gas/cfi-sframe/cfi-sframe-common-1c.d: New test.  No SFrame
> 	section if explicit --gsframe=no.
> 	* gas/cfi-sframe/cfi-sframe-common-1c.s: New test.
> 
> ---

LGTM.

Reviewed-by: Jens Remus <jremus@linux.ibm.com>

Regards,
Jens
-- 
Jens Remus
Linux on Z Development (D3303)
+49-7031-16-1128 Office
jremus@de.ibm.com

IBM

IBM Deutschland Research & Development GmbH; Vorsitzender des Aufsichtsrats: Wolfgang Wendt; Geschäftsführung: David Faller; Sitz der Gesellschaft: Böblingen; Registergericht: Amtsgericht Stuttgart, HRB 243294
IBM Data Privacy Statement: https://www.ibm.com/privacy/



More information about the Binutils mailing list