aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-12-15 12:40:52 +0100
committerJan Beulich <jbeulich@suse.com>2023-12-15 12:40:52 +0100
commitd4064aad87f47dac73f9ae2b2c24bae8bb5feabe (patch)
tree9b0c0df91927bee666402b656fdac41864b9d7d2 /gas/config/tc-i386.c
parentdf5a4840c4088f3fca93ba77db76960cea7b66c4 (diff)
downloadgdb-d4064aad87f47dac73f9ae2b2c24bae8bb5feabe.zip
gdb-d4064aad87f47dac73f9ae2b2c24bae8bb5feabe.tar.gz
gdb-d4064aad87f47dac73f9ae2b2c24bae8bb5feabe.tar.bz2
x86: don't needlessly override .bss
ELF, COFF, and Mach-O all have custom handlers for .bss. Don't override those; install a handler only for a.out.
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r--gas/config/tc-i386.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index f147324..6a349f2 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -181,7 +181,7 @@ static const reg_entry *build_modrm_byte (void);
static void output_insn (const struct last_insn *);
static void output_imm (fragS *, offsetT);
static void output_disp (fragS *, offsetT);
-#ifndef I386COFF
+#ifdef OBJ_AOUT
static void s_bss (int);
#endif
#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
@@ -1201,9 +1201,10 @@ const pseudo_typeS md_pseudo_table[] =
{"align", s_align_ptwo, 0},
#endif
{"arch", set_cpu_arch, 0},
-#ifndef I386COFF
+#ifdef OBJ_AOUT
{"bss", s_bss, 0},
-#else
+#endif
+#ifdef I386COFF
{"lcomm", pe_lcomm, 1},
#endif
{"ffloat", float_cons, 'f'},
@@ -15477,17 +15478,13 @@ md_pcrel_from (fixS *fixP)
return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address;
}
-#ifndef I386COFF
+#ifdef OBJ_AOUT
static void
s_bss (int ignore ATTRIBUTE_UNUSED)
{
int temp;
-#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
- if (IS_ELF)
- obj_elf_section_change_hook ();
-#endif
temp = get_absolute_expression ();
subseg_set (bss_section, (subsegT) temp);
demand_empty_rest_of_line ();