2
0
mirror of https://sourceware.org/git/binutils-gdb.git synced 2024-12-27 04:52:05 +08:00
binutils-gdb/ld/testsuite/ld-s390/weakundef-1.dd
Jens Remus 83511d2679 s390: Do not replace brcth referencing undefined weak symbol
Branch Relative on Count High (brcth) is a conditional branch relative
instruction. It is not guaranteed that it only appears within loops
that sooner or later will take the branch. It may very well be used to
check a condition that will prevent the branch from ever being taken.

bfd/
	* elf64-s390.c (elf_s390_relocate_section): Do not replace brcth
	referencing undefined weak symbol with a trap.

ld/
	* testsuite/ld-s390/weakundef-1.s: Update test case accordingly.
	* testsuite/ld-s390/weakundef-1.dd: Likewise.

Fixes: 896a639bab ("s390: Avoid reloc overflows on undefined weak symbols")
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
2024-07-12 16:53:47 +02:00

16 lines
452 B
Plaintext

tmpdir/weakundef-1: file format elf64-s390
Disassembly of section .text:
.* <foo>:
.*: c0 10 00 00 00 1c [ ]*larl %r1,200000038 <d>
.*: c0 10 00 00 00 1d [ ]*larl %r1,200000040 <wd>
.*: e3 10 00 00 00 71 [ ]*lay %r1,0
.*: c0 f4 00 00 00 01 [ ]*jg .*
.*: c0 f4 00 00 00 01 [ ]*jg .*
.*: c0 f4 00 00 00 01 [ ]*jg .*
.*: c0 f4 00 00 00 01 [ ]*jg .*
.*: c0 f4 00 00 00 01 [ ]*jg .*
.*: c0 04 00 00 00 00 [ ]*jgnop .*
.*: 07 07 [ ]*nopr %r7