mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
9ff8aa7d41
In trying to find a testcase for PR28827, I managed to hit a linker error in bfd_set_section_contents with a .branch_lt input section being too large for the output .branch_lt. bfd/ PR 28827 * elf64-ppc.c (ppc64_elf_size_stubs): Set section size to maxsize past STUB_SHRINK_ITER before laying out. Remove now unnecessary conditional setting of maxsize at start of loop. ld/ * testsuite/ld-powerpc/pr28827-2.d, * testsuite/ld-powerpc/pr28827-2.lnk, * testsuite/ld-powerpc/pr28827-2.s: New test. * testsuite/ld-powerpc/powerpc.exp: Run it.
49 lines
1.0 KiB
Makefile
49 lines
1.0 KiB
Makefile
#as: -a64
|
|
#ld: -melf64ppc --plt-align=0 -T pr28827-2.lnk
|
|
#objdump: -dr
|
|
|
|
.*: file format .*
|
|
|
|
Disassembly of section \.text:
|
|
|
|
.*:
|
|
.*: (49 ff ff f0|f0 ff ff 49) b .* <far1>
|
|
\.\.\.
|
|
|
|
.* <.*\.plt_branch\..*>:
|
|
.*: (e9 82 80 28|28 80 82 e9) ld r12,-32728\(r2\)
|
|
.*: (7d 89 03 a6|a6 03 89 7d) mtctr r12
|
|
.*: (4e 80 04 20|20 04 80 4e) bctr
|
|
|
|
.* <_start>:
|
|
.*: (49 ff ff d8|d8 ff ff 49) b .* <far1>
|
|
.*: (4b ff ff f0|f0 ff ff 4b) b .*
|
|
|
|
Disassembly of section \.far1:
|
|
|
|
.*:
|
|
.*: (4a 00 00 38|38 00 00 4a) b .* <_start>
|
|
|
|
.* <.*\.long_branch\..*>:
|
|
.*: (49 ff ff f4|f4 ff ff 49) b .* <far2>
|
|
\.\.\.
|
|
|
|
.* <far1>:
|
|
.*: (41 82 ff f4|f4 ff 82 41) beq .*
|
|
.*: (4a 00 00 24|24 00 00 4a) b .* <_start>
|
|
|
|
Disassembly of section \.far2:
|
|
|
|
.*:
|
|
.*: (e9 82 80 20|20 80 82 e9) ld r12,-32736\(r2\)
|
|
.*: (7d 89 03 a6|a6 03 89 7d) mtctr r12
|
|
.*: (4e 80 04 20|20 04 80 4e) bctr
|
|
|
|
.*:
|
|
.*: (4a 00 00 24|24 00 00 4a) b .* <far1>
|
|
\.\.\.
|
|
|
|
.* <far2>:
|
|
.*: (40 82 ff f4|f4 ff 82 40) bne .*
|
|
.*: (4b ff ff e4|e4 ff ff 4b) b .*
|