binutils-gdb/ld/testsuite/ld-powerpc/pr28827-2.d
Alan Modra 9ff8aa7d41 Re: PR28827, assertion building LLVM 9 on powerpc64le-linux-gnu
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.
2022-01-31 14:09:34 +10:30

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 .*