* config/tc-mips.c (tc_gen_reloc): Extend GP-relative addend
	handling to BFD_RELOC_MIPS16_GPREL.

[gas/testsuite/]
	* gas/mips/elf-rel6.[sd]: New test.
	* gas/mips/mips.exp: Run it.
This commit is contained in:
Richard Sandiford 2002-08-01 20:14:49 +00:00
parent 78fde5f8a3
commit 9860559818
6 changed files with 38 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-08-01 Richard Sandiford <rsandifo@redhat.com>
* config/tc-mips.c (tc_gen_reloc): Extend GP-relative addend
handling to BFD_RELOC_MIPS16_GPREL.
2002-08-01 Nick Clifton <nickc@redhat.com>
* config/tc-arm.c (add_to_lit_pool): Ensure that offset to literal

View File

@ -12694,7 +12694,7 @@ tc_gen_reloc (section, fixp)
stop md_apply_fix3 from subtracting twice in the first place since
the fake addend is required for variant frags above. */
if (fixp->fx_addsy != NULL && OUTPUT_FLAVOR == bfd_target_elf_flavour
&& code == BFD_RELOC_GPREL16
&& (code == BFD_RELOC_GPREL16 || code == BFD_RELOC_MIPS16_GPREL)
&& reloc->addend != 0
&& mips_need_elf_addend_fixup (fixp))
reloc->addend += S_GET_VALUE (fixp->fx_addsy);

View File

@ -1,3 +1,8 @@
2002-08-01 Richard Sandiford <rsandifo@redhat.com>
* gas/mips/elf-rel6.[sd]: New test.
* gas/mips/mips.exp: Run it.
2002-07-29 Chris Demetriou <cgd@broadcom.com>
* gas/mips/elf_ase_mips16.d: New file to test ELF MIPS16 ASE marking.

View File

@ -0,0 +1,10 @@
#objdump: -dr --prefix-addresses
#name: MIPS ELF reloc 6
.*: +file format elf.*mips.*
Disassembly of section \.text:
0+00 <.*> lb v0,0\(v1\)
0: R_MIPS16_GPREL bar
0+04 <.*> lb v0,1\(v1\)
4: R_MIPS16_GPREL bar

View File

@ -0,0 +1,16 @@
.sdata
.global foo
.globl bar
foo: .byte 1
.byte 2
bar: .byte 3
.byte 4
.text
.set mips16
.global f
.ent f
f:
lb $2,%gprel(bar)($3)
lb $2,%gprel(bar+1)($3)
.end f

View File

@ -205,6 +205,7 @@ if { [istarget mips*-*-*] } then {
run_dump_test "e32-rel4"
}
run_dump_test "elf-rel5"
run_dump_test "elf-rel6"
run_dump_test "${tmips}${el}empic"
run_dump_test "empic2"
run_dump_test "empic3_e"