[No changes in V3, V2]
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.
---
gas/as.c | 10 +++++++++-
gas/as.h | 3 +++
gas/doc/as.texi | 6 ++++++
3 files changed, 18 insertions(+), 1 deletion(-)
@@ -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':
@@ -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}