gas/
authorRichard Sandiford <rdsandiford@googlemail.com>
Sun, 23 Sep 2012 11:14:27 +0000 (11:14 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Sun, 23 Sep 2012 11:14:27 +0000 (11:14 +0000)
commitb886a2ab0d52932b39118747c0c2c078f4e0f043
treeee52fe9e423f13e0ca7ecee6af5b739949f99d54
parent335574df3c281b3c469ec272686694b41bad928b
gas/
* config/tc-mips.h (TC_FORCE_RELOCATION): Remove comment.
* config/tc-mips.c (calculate_reloc): New function.
(append_insn): Use it.  Do not resolve compound relocations here.
(mips16_macro_build, mips16_ip): Use calculate_reloc.
(mips16_immed_extend): New function, split out from...
(mips16_immed): ...here.
(mips_frob_file): Handle null symbols.
(mips_force_relocation): Remove NEWABI handling.
(read_reloc_insn, write_reloc_insn): New functions.
(md_apply_fix): Report TLS relocations against constants.
Use read_reloc_insn, calculate_reloc and write_reloc_insn.
Report relocations against constants that can't be resolved
at assembly time.

gas/testsuite/
* gas/mips/elf-rel22.s, gas/mips/elf-rel22.d: Add more tests.
* gas/mips/elf-rel29.s, gas/mips/elf-rel29.d,
gas/mips/micromips@elf-rel29.d, gas/mips/elf-rel30.s,
gas/mips/elf-rel30.l: New tests.
* gas/mips/mips.exp: Run them.
12 files changed:
gas/ChangeLog
gas/config/tc-mips.c
gas/config/tc-mips.h
gas/testsuite/ChangeLog
gas/testsuite/gas/mips/elf-rel22.d
gas/testsuite/gas/mips/elf-rel22.s
gas/testsuite/gas/mips/elf-rel29.d [new file with mode: 0644]
gas/testsuite/gas/mips/elf-rel29.s [new file with mode: 0644]
gas/testsuite/gas/mips/elf-rel30.l [new file with mode: 0644]
gas/testsuite/gas/mips/elf-rel30.s [new file with mode: 0644]
gas/testsuite/gas/mips/micromips@elf-rel29.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips.exp