From: Jan Beulich Date: Fri, 4 Oct 2024 07:36:24 +0000 (+0200) Subject: gas: put emul decls in emul.h X-Git-Tag: gdb-16-branchpoint~746 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c41215350b049439974f304b4e232ec3e73a72a0;p=thirdparty%2Fbinutils-gdb.git 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.) --- diff --git a/gas/as.c b/gas/as.c index 7117be21df3..030da2e0501 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 d4c3f062898..d2ca8f5765a 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 4676d07b65d..22b56e101b5 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