mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 09:14:14 +08:00
gas: add new command line option --gsframe
When --gsframe is specified, the assembler will generate a .sframe section from the CFI directives in the assembly. ChangeLog: * gas/as.c (parse_args): Parse args and set flag_gen_sframe. * gas/as.h: Introduce skeleton for --gsframe. * gas/doc/as.texi: document --gsframe.
This commit is contained in:
10
gas/as.c
10
gas/as.c
@ -315,6 +315,8 @@ Options:\n\
|
||||
#endif
|
||||
fprintf (stream, _("\
|
||||
generate GNU Build notes if none are present in the input\n"));
|
||||
fprintf (stream, _("\
|
||||
--gsframe generate SFrame unwind info\n"));
|
||||
#endif /* OBJ_ELF */
|
||||
|
||||
fprintf (stream, _("\
|
||||
@ -499,7 +501,8 @@ parse_args (int * pargc, char *** pargv)
|
||||
OPTION_COMPRESS_DEBUG,
|
||||
OPTION_NOCOMPRESS_DEBUG,
|
||||
OPTION_NO_PAD_SECTIONS,
|
||||
OPTION_MULTIBYTE_HANDLING /* = STD_BASE + 40 */
|
||||
OPTION_MULTIBYTE_HANDLING, /* = STD_BASE + 40 */
|
||||
OPTION_SFRAME
|
||||
/* When you add options here, check that they do
|
||||
not collide with OPTION_MD_BASE. See as.h. */
|
||||
};
|
||||
@ -530,6 +533,7 @@ parse_args (int * pargc, char *** pargv)
|
||||
,{"elf-stt-common", required_argument, NULL, OPTION_ELF_STT_COMMON}
|
||||
,{"sectname-subst", no_argument, NULL, OPTION_SECTNAME_SUBST}
|
||||
,{"generate-missing-build-notes", required_argument, NULL, OPTION_ELF_BUILD_NOTES}
|
||||
,{"gsframe", no_argument, NULL, OPTION_SFRAME}
|
||||
#endif
|
||||
,{"fatal-warnings", no_argument, NULL, OPTION_WARN_FATAL}
|
||||
,{"gdwarf-2", no_argument, NULL, OPTION_GDWARF_2}
|
||||
@ -993,6 +997,10 @@ This program has absolutely no warranty.\n"));
|
||||
optarg);
|
||||
break;
|
||||
|
||||
case OPTION_SFRAME:
|
||||
flag_gen_sframe = 1;
|
||||
break;
|
||||
|
||||
#endif /* OBJ_ELF */
|
||||
|
||||
case 'Z':
|
||||
|
3
gas/as.h
3
gas/as.h
@ -337,6 +337,9 @@ COMMON int flag_execstack;
|
||||
/* TRUE if .note.GNU-stack section with SEC_CODE should be created */
|
||||
COMMON int flag_noexecstack;
|
||||
|
||||
/* TRUE if .sframe section should be created. */
|
||||
COMMON int flag_gen_sframe;
|
||||
|
||||
/* name of emitted object file */
|
||||
COMMON const char *out_file_name;
|
||||
|
||||
|
@ -240,6 +240,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
|
||||
[@b{--gdwarf-<N>}] [@b{--gdwarf-sections}]
|
||||
[@b{--gdwarf-cie-version}=@var{VERSION}]
|
||||
[@b{--generate-missing-build-notes=[no|yes]}]
|
||||
[@b{--gsframe}]
|
||||
[@b{--hash-size}=@var{N}]
|
||||
[@b{--help}] [@b{--target-help}]
|
||||
[@b{-I} @var{dir}]
|
||||
@ -847,6 +848,11 @@ These options control whether the ELF assembler should generate GNU Build
|
||||
attribute notes if none are present in the input sources.
|
||||
The default can be controlled by the @option{--enable-generate-build-notes}
|
||||
configure option.
|
||||
|
||||
@item --gsframe
|
||||
@itemx --gsframe
|
||||
Create @var{.sframe} section from CFI directives.
|
||||
|
||||
@end ifset
|
||||
|
||||
@item --hash-size @var{N}
|
||||
|
Reference in New Issue
Block a user