Browse Source
* 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.gdb_6_6-branch
6 changed files with 98 additions and 0 deletions
@ -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 |
||||
@ -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 |
||||
Loading…
Reference in new issue