mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
54806ffa85
Complement:
commit 1bbce13264
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date: Mon Jun 24 23:55:46 2013 +0000
<https://sourceware.org/ml/binutils/2013-06/msg00077.html>, ("MIPS:
Compressed PLT/stubs support"), and also choose between regular and
compressed PLT entries as appropriate for any branches referring.
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
in PLT compression selection.
(_bfd_mips_elf_check_relocs): Likewise.
ld/
* testsuite/ld-mips-elf/compressed-plt-1.s: Add branch support.
* testsuite/ld-mips-elf/compressed-plt-1a.s: Likewise.
* testsuite/ld-mips-elf/compressed-plt-1b.s: Likewise.
* testsuite/ld-mips-elf/compressed-plt-1-o32-branch.od: New
test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-branch.rd: New
test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.od:
New test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.rd:
New test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.od:
New test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.rd:
New test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.od:
New test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.rd:
New test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.od:
New test.
* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.rd:
New test.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
50 lines
1.5 KiB
R
50 lines
1.5 KiB
R
|
|
Dynamic section .*
|
|
#...
|
|
0x00000003 \(PLTGOT\) 0x10201000
|
|
#...
|
|
0x70000013 \(MIPS_GOTSYM\) 0x6
|
|
0x00000014 \(PLTREL\) REL
|
|
0x00000017 \(JMPREL\) 0x10004000
|
|
0x00000002 \(PLTRELSZ\) 24 \(bytes\)
|
|
0x70000032 \(MIPS_PLTGOT\) 0x10200000
|
|
#...
|
|
Relocation section '\.rel\.plt' .*
|
|
Offset Info Type Sym\.Value Sym\. Name
|
|
10200008 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_bu_bc
|
|
1020000c [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_bu
|
|
10200010 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_bc
|
|
|
|
Symbol table '\.dynsym' .*
|
|
Num: Value Size Type Bind Vis Ndx Name
|
|
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
|
|
#...
|
|
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_bu_bc
|
|
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_bu
|
|
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_bc
|
|
|
|
Symbol table '\.symtab' .*
|
|
#...
|
|
Primary GOT:
|
|
Canonical gp value: 10208ff0
|
|
|
|
Reserved entries:
|
|
Address Access Initial Purpose
|
|
10201000 -32752\(gp\) 00000000 Lazy resolver
|
|
10201004 -32748\(gp\) 80000000 Module pointer \(GNU extension\)
|
|
|
|
|
|
PLT GOT:
|
|
|
|
Reserved entries:
|
|
Address Initial Purpose
|
|
10200000 00000000 PLT lazy resolver
|
|
10200004 00000000 Module pointer
|
|
|
|
Entries:
|
|
Address Initial Sym\.Val\. Type Ndx Name
|
|
10200008 10100000 00000000 FUNC UND f_bu_bc
|
|
1020000c 10100000 00000000 FUNC UND f_bu
|
|
10200010 10100000 00000000 FUNC UND f_bc
|
|
|