gas:
* config/tc-mips.c (pic_need_relax): Return true for section symbols. gas/testsuite: * gas/mips/elf-rel26.s: New test. * gas/mips/elf-rel26.d: Ditto. * gas/mips/mips.exp: Run it.
This commit is contained in:
parent
3181e5dc7c
commit
df1f3cdab5
6 changed files with 98 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2006-11-06 David Daney <ddaney@avtrex.com>
|
||||
|
||||
* config/tc-mips.c (pic_need_relax): Return true for section symbols.
|
||||
|
||||
2006-11-06 Thiemo Seufer <ths@mips.com>
|
||||
|
||||
* doc/c-mips.texi (-march): Document sb1a.
|
||||
|
|
|
@ -13153,6 +13153,9 @@ pic_need_relax (symbolS *sym, asection *segtype)
|
|||
sym = n;
|
||||
}
|
||||
|
||||
if (symbol_section_p (sym))
|
||||
return TRUE;
|
||||
|
||||
symsec = S_GET_SEGMENT (sym);
|
||||
|
||||
/* This must duplicate the test in adjust_reloc_syms. */
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2006-11-06 David Daney <ddaney@avtrex.com>
|
||||
|
||||
* gas/mips/elf-rel26.s: New test.
|
||||
* gas/mips/elf-rel26.d: Ditto.
|
||||
* gas/mips/mips.exp: Run it.
|
||||
|
||||
2006-11-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gas/cfi/cfi-common-6.d: New test.
|
||||
|
|
22
gas/testsuite/gas/mips/elf-rel26.d
Normal file
22
gas/testsuite/gas/mips/elf-rel26.d
Normal file
|
@ -0,0 +1,22 @@
|
|||
#as: -mips32 -EL -KPIC
|
||||
#readelf: --relocs
|
||||
#name: MIPS ELF reloc 26
|
||||
|
||||
Relocation section '\.rel\.pdr' .*
|
||||
*Offset.*
|
||||
00.*
|
||||
|
||||
Relocation section '\.rel\.text\.foo' at offset .* contains 11 entries:
|
||||
*Offset * Info * Type * Sym\.Value * Sym\. Name
|
||||
0+000 * .+ * R_MIPS_HI16 * 0+0 * _gp_disp
|
||||
0+004 * .+ * R_MIPS_LO16 * 0+0 * _gp_disp
|
||||
0+014 * .+ * R_MIPS_GOT16 * 0+0 * \$LC28
|
||||
0+01c * .+ * R_MIPS_LO16 * 0+0 * \$LC28
|
||||
0+020 * .+ * R_MIPS_CALL16 * 0+0 * bar
|
||||
0+030 * .+ * R_MIPS_PC16 * 0+0 * \$L846
|
||||
0+034 * .+ * R_MIPS_GOT16 * 0+0 * \$LC27
|
||||
0+038 * .+ * R_MIPS_PC16 * 0+0 * \$L848
|
||||
0+048 * .+ * R_MIPS_PC16 * 0+0 * \$L925
|
||||
0+010 * .+ * R_MIPS_GOT16 * 0+0 * \.rodata\.foo
|
||||
0+05c * .+ * R_MIPS_LO16 * 0+0 * \.rodata\.foo
|
||||
#pass
|
62
gas/testsuite/gas/mips/elf-rel26.s
Normal file
62
gas/testsuite/gas/mips/elf-rel26.s
Normal file
|
@ -0,0 +1,62 @@
|
|||
.section .text.foo,"axG",@progbits,foo,comdat
|
||||
.align 2
|
||||
.weak foo
|
||||
.ent foo
|
||||
.type foo, @function
|
||||
foo:
|
||||
$LFB308:
|
||||
.frame $fp,136,$31 # vars= 72, regs= 10/0, args= 16, gp= 8
|
||||
.mask 0xc0ff0000,-4
|
||||
.fmask 0x00000000,0
|
||||
.set noreorder
|
||||
.cpload $25
|
||||
|
||||
.set nomacro
|
||||
bne $3,$0,$L924
|
||||
lw $25,%got($L874)($28)
|
||||
.set macro
|
||||
.set reorder
|
||||
lw $5,%got($LC28)($28)
|
||||
lw $4,136($fp)
|
||||
addiu $5,$5,%lo($LC28)
|
||||
lw $25,%call16(bar)($28)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
jalr $25
|
||||
li $6,-1 # 0xffffffffffffffff
|
||||
.set macro
|
||||
.set reorder
|
||||
lw $25,64($fp)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
bne $25,$0,$L846
|
||||
lw $5,%got($LC27)($28)
|
||||
b $L848
|
||||
sw $0,68($fp)
|
||||
.set macro
|
||||
.set reorder
|
||||
$L920:
|
||||
lb $3,0($18)
|
||||
li $2,59 # 0x3b
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
beq $3,$2,$L925
|
||||
lw $25,76($fp)
|
||||
b $L920
|
||||
addiu $18,$18,1
|
||||
.set macro
|
||||
.set reorder
|
||||
|
||||
$L924:
|
||||
sll $2,$2,2
|
||||
addiu $25,$25,%lo($L874)
|
||||
addu $2,$2,$25
|
||||
lw $3,0($2)
|
||||
addu $3,$3,$28
|
||||
j $3
|
||||
.end foo
|
||||
.section .rodata.foo,"aG",@progbits,foo,comdat
|
||||
.align 2
|
||||
.align 2
|
||||
$L874:
|
||||
.gpword $L924
|
|
@ -687,6 +687,7 @@ if { [istarget mips*-*-vxworks*] } {
|
|||
|
||||
run_dump_test "elf-rel25"
|
||||
run_dump_test "elf-rel25a"
|
||||
run_dump_test "elf-rel26"
|
||||
|
||||
if { !$no_mips16 } {
|
||||
run_dump_test "${tmips}mips${el}16-e"
|
||||
|
|
Loading…
Reference in a new issue