diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2008-07-10 19:05:29 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2008-07-10 19:05:29 +0000 |
commit | 30c090907953c55bb80ec4af160054776d32303e (patch) | |
tree | b16f1fae33fd1f6a46e43a584a64e364853680ae /gas/config/tc-mips.c | |
parent | e0a3ce09eda6da9d3242ec79da937b156bf593fd (diff) | |
download | gdb-30c090907953c55bb80ec4af160054776d32303e.zip gdb-30c090907953c55bb80ec4af160054776d32303e.tar.gz gdb-30c090907953c55bb80ec4af160054776d32303e.tar.bz2 |
include/elf/
* mips.h (ELF_ST_IS_MIPS16, ELF_ST_SET_MIPS16): New macros.
bfd/
* elfxx-mips.c (mips_elf_check_mips16_stubs): Use ELF_ST_IS_MIPS16.
(mips_elf_calculate_relocation): Likewise.
(_bfd_mips_elf_add_symbol_hook): Likewise.
(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
opcodes/
* mips-dis.c (_print_insn_mips): Use ELF_ST_IS_MIPS16.
gas/
* config/tc-mips.c (mips16_mark_labels): Use ELF_ST_SET_MIPS16.
(mips_fix_adjustable): Likewise.
(mips_frob_file_after_relocs): Likewise.
gas/testsuite/
* gas/mips/mips16-vis-1.d, gas/mips/mips16-vis-1.s: New tests.
* gas/mips/mips.exp: Run them.
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r-- | gas/config/tc-mips.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index d5ed84c..d12d3c4 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -2321,7 +2321,7 @@ mips16_mark_labels (void) #if defined(OBJ_ELF) || defined(OBJ_MAYBE_ELF) if (IS_ELF) - S_SET_OTHER (label, STO_MIPS16); + S_SET_OTHER (label, ELF_ST_SET_MIPS16 (S_GET_OTHER (label))); #endif if ((S_GET_VALUE (label) & 1) == 0 /* Don't adjust the address if the label is global or weak, or @@ -13976,7 +13976,7 @@ mips_fix_adjustable (fixS *fixp) that we have for MIPS16 symbols. */ if (IS_ELF && fixp->fx_subsy == NULL - && (S_GET_OTHER (fixp->fx_addsy) == STO_MIPS16 + && (ELF_ST_IS_MIPS16 (S_GET_OTHER (fixp->fx_addsy)) || *symbol_get_tc (fixp->fx_addsy))) return 0; #endif @@ -14453,7 +14453,7 @@ mips_frob_file_after_relocs (void) count = bfd_get_symcount (stdoutput); for (i = 0; i < count; i++, syms++) { - if (elf_symbol (*syms)->internal_elf_sym.st_other == STO_MIPS16 + if (ELF_ST_IS_MIPS16 (elf_symbol (*syms)->internal_elf_sym.st_other) && ((*syms)->value & 1) != 0) { (*syms)->value &= ~1; |