diff options
author | Alan Modra <amodra@gmail.com> | 2019-07-09 12:27:55 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-07-09 14:30:00 +0930 |
commit | d69cd47e7e9884f7b3a319936f70b8d93347e9e0 (patch) | |
tree | 0f20c0314732be1cc380e0701b207e3176d6304b /gas/config/tc-mips.h | |
parent | 64da05d557f59814151e908a34f36996a027d127 (diff) | |
download | gdb-d69cd47e7e9884f7b3a319936f70b8d93347e9e0.zip gdb-d69cd47e7e9884f7b3a319936f70b8d93347e9e0.tar.gz gdb-d69cd47e7e9884f7b3a319936f70b8d93347e9e0.tar.bz2 |
Re: gas/ELF: don't accumulate .type settings
git commit f2d4ba38f5 caused many failures for mips-sgi-irix targets,
and added a new test that failed for aarch64, nds32, and rl78.
The mips failures are due to BSF_OBJECT being set in many cases for
symbols by the mips .global/.globl directive. This patch removes that
code and instead sets BSF_OBJECT in a target frob_symbol function,
also moving the mips hacks in elf_frob_symbol to the new function.
Note that common symbols are handled fine in elf.c:swap_out_syms
without needing to set BSF_OBJECT, so that old code can disappear.
* config/obj-elf.c (elf_frob_symbol): Remove mips hacks.
* config/tc-mips.h (tc_frob_symbol): Define.
(mips_frob_symbol): Declare.
* config/tc-mips.c (s_mips_globl): Don't set BSF_OBJECT for irix.
(mips_frob_symbol): Fudge symbols for irix here.
* testsuite/gas/elf/type-2.e: Allow random target symbols.
Diffstat (limited to 'gas/config/tc-mips.h')
-rw-r--r-- | gas/config/tc-mips.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h index 615269d..a928c8a 100644 --- a/gas/config/tc-mips.h +++ b/gas/config/tc-mips.h @@ -126,6 +126,11 @@ extern void mips_frob_file (void); extern void mips_frob_file_after_relocs (void); #endif +#ifdef TE_IRIX +#define tc_frob_symbol(sym, punt) mips_frob_symbol (sym) +extern void mips_frob_symbol (symbolS *); +#endif + #define tc_fix_adjustable(fixp) mips_fix_adjustable (fixp) extern int mips_fix_adjustable (struct fix *); |