aboutsummaryrefslogtreecommitdiff
path: root/gas/as.h
diff options
context:
space:
mode:
Diffstat (limited to 'gas/as.h')
-rw-r--r--gas/as.h34
1 files changed, 28 insertions, 6 deletions
diff --git a/gas/as.h b/gas/as.h
index 826d88d..8f2facb 100644
--- a/gas/as.h
+++ b/gas/as.h
@@ -247,9 +247,7 @@ enum _relax_state
1 constant byte: no-op fill control byte. */
rs_space_nop,
- /* Similar to rs_fill. It is used to implement .nops directive.
- When listings are enabled, fr_opcode gets the buffer assigned, once
- that's available. */
+ /* Similar to rs_fill. It is used to implement .nops directive. */
rs_fill_nop,
/* A DWARF leb128 value; only ELF uses this. The subtype is 0 for
@@ -341,7 +339,8 @@ COMMON enum synth_cfi_type flag_synth_cfi;
/* This is true if the assembler should output time and space usage. */
COMMON unsigned char flag_print_statistics;
-/* True if local absolute symbols are to be stripped. */
+/* True (positive) if local absolute symbols are to be stripped. Negative if
+ even pre-defined symbols should be emitted. */
COMMON int flag_strip_local_absolute;
/* True if we should generate a traditional format object file. */
@@ -356,8 +355,30 @@ 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;
+/* PR gas/33175.
+ Add enumerators to disambiguate between configure-time
+ enablement (or not) vs user-specficied enablement/disablement (the latter
+ via command line). The expected usage of these states is:
+ - user-specified command line takes precedence over configure-time
+ setting and .cfi_sections directive usage.
+ - .cfi_sections usage takes precedence over configure-time setting. */
+enum gen_sframe_option
+{
+ /* Default. SFrame generation not enabled at configure time. GNU as will
+ not generate SFrame sections by default, unless enabled by user via
+ command line. */
+ GEN_SFRAME_DEFAULT_NONE,
+ /* SFrame generation enabled at configure time. GNU as will generate SFrame
+ sections for all objects, unless disabled by user via command line. */
+ GEN_SFRAME_CONFIG_ENABLED,
+ /* User specified disablement via --gsframe=no. */
+ GEN_SFRAME_DISABLED,
+ /* User specified enablement via --gsframe or --gsframe=yes. */
+ GEN_SFRAME_ENABLED,
+};
+
+/* State of the setting for SFrame section creation. */
+COMMON enum gen_sframe_option flag_gen_sframe;
/* name of emitted object file */
COMMON const char *out_file_name;
@@ -516,6 +537,7 @@ void as_report_context (void);
const char * as_where (unsigned int *);
const char * as_where_top (unsigned int *);
const char * as_where_physical (unsigned int *);
+void predefine_symbol (const char *, valueT);
void bump_line_counters (void);
void do_scrub_begin (int);
void input_scrub_begin (void);