diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-12-15 12:40:52 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2023-12-15 12:40:52 +0100 |
commit | d4064aad87f47dac73f9ae2b2c24bae8bb5feabe (patch) | |
tree | 9b0c0df91927bee666402b656fdac41864b9d7d2 /gas/config | |
parent | df5a4840c4088f3fca93ba77db76960cea7b66c4 (diff) | |
download | gdb-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')
-rw-r--r-- | gas/config/tc-i386.c | 13 |
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 (); |