[PATCH 2/3] gas: restrict scrubber mri_{state,last_ch} vars
Jan Beulich
jbeulich@suse.com
Mon Sep 2 09:35:05 GMT 2024
They're needed with TC_M68K only. Group them accordingly, just like is
the case for Arm's symver vars.
--- a/gas/app.c
+++ b/gas/app.c
@@ -45,6 +45,8 @@ static int scrub_m68k_mri;
/* The pseudo-op which switches in and out of MRI mode. See the
comment in do_scrub_chars. */
static const char mri_pseudo[] = ".mri 0";
+static const char *mri_state;
+static char mri_last_ch;
#else
#define scrub_m68k_mri 0
#endif
@@ -270,8 +272,6 @@ static int add_newlines;
static char *saved_input;
static size_t saved_input_len;
static char input_buffer[32 * 1024];
-static const char *mri_state;
-static char mri_last_ch;
/* Data structure for saving the state of app across #include's. Note that
app is called asynchronously to the parsing of the .include's, so our
@@ -289,9 +289,9 @@ struct app_save
size_t saved_input_len;
#ifdef TC_M68K
int scrub_m68k_mri;
-#endif
const char * mri_state;
char mri_last_ch;
+#endif
#if defined TC_ARM && defined OBJ_ELF
const char * symver_state;
#endif
@@ -319,9 +319,9 @@ app_push (void)
}
#ifdef TC_M68K
saved->scrub_m68k_mri = scrub_m68k_mri;
-#endif
saved->mri_state = mri_state;
saved->mri_last_ch = mri_last_ch;
+#endif
#if defined TC_ARM && defined OBJ_ELF
saved->symver_state = symver_state;
#endif
@@ -359,9 +359,9 @@ app_pop (char *arg)
}
#ifdef TC_M68K
scrub_m68k_mri = saved->scrub_m68k_mri;
-#endif
mri_state = saved->mri_state;
mri_last_ch = saved->mri_last_ch;
+#endif
#if defined TC_ARM && defined OBJ_ELF
symver_state = saved->symver_state;
#endif
@@ -1439,7 +1439,9 @@ do_scrub_chars (size_t (*get) (char *, s
/* This is a common case. Quickly copy CH and all the
following symbol component or normal characters. */
if (to + 1 < toend
+#ifdef TC_M68K
&& mri_state == NULL
+#endif
#if defined TC_ARM && defined OBJ_ELF
&& symver_state == NULL
#endif
More information about the Binutils
mailing list