aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2024-10-04 09:36:24 +0200
committerJan Beulich <jbeulich@suse.com>2024-10-04 09:36:24 +0200
commitc41215350b049439974f304b4e232ec3e73a72a0 (patch)
tree724a7b27892a4c4414260480ac216e35b0feb106
parent2ced0b79da9839083e7a1f4657b39ba0ae317ab5 (diff)
downloadgdb-c41215350b049439974f304b4e232ec3e73a72a0.zip
gdb-c41215350b049439974f304b4e232ec3e73a72a0.tar.gz
gdb-c41215350b049439974f304b4e232ec3e73a72a0.tar.bz2
gas: put emul decls in emul.h
The individual struct emulation instances shouldn't be declared in a .c file; it and the producers of the symbols want to both see the declarations, so declarations and definitions don't go out of sync. Move these declarations to emul.h. While there also adjust the conditional around this_format: That symbol is never #define-d anywhere, and it's needed only when USE_EMULATIONS is defined. (Really, when obj-multi isn't in use, it also is effectively only ever written to.)
-rw-r--r--gas/as.c4
-rw-r--r--gas/emul.h4
-rw-r--r--gas/obj.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/gas/as.c b/gas/as.c
index 7117be2..030da2e 100644
--- a/gas/as.c
+++ b/gas/as.c
@@ -130,10 +130,6 @@ static long start_time;
#ifdef USE_EMULATIONS
#define EMULATION_ENVIRON "AS_EMULATION"
-extern struct emulation mipsbelf, mipslelf, mipself;
-extern struct emulation i386coff, i386elf, i386aout;
-extern struct emulation crisaout, criself;
-
static struct emulation *const emulations[] = { EMULATIONS };
static const int n_emulations = sizeof (emulations) / sizeof (emulations[0]);
diff --git a/gas/emul.h b/gas/emul.h
index d4c3f06..d2ca8f5 100644
--- a/gas/emul.h
+++ b/gas/emul.h
@@ -35,6 +35,10 @@ struct emulation
COMMON struct emulation * this_emulation;
+extern struct emulation mipsbelf, mipslelf, mipself;
+extern struct emulation i386coff, i386elf, i386aout;
+extern struct emulation crisaout, criself;
+
extern void common_emul_init (void);
#endif
diff --git a/gas/obj.h b/gas/obj.h
index 4676d07..22b56e1 100644
--- a/gas/obj.h
+++ b/gas/obj.h
@@ -82,7 +82,7 @@ extern const struct format_ops ecoff_format_ops;
extern const struct format_ops coff_format_ops;
extern const struct format_ops aout_format_ops;
-#ifndef this_format
+#ifdef USE_EMULATIONS
COMMON const struct format_ops *this_format;
#endif