mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-07 13:39:43 +08:00
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>
18 lines
196 B
ArmAsm
18 lines
196 B
ArmAsm
.text
|
|
.globl foo
|
|
foo:
|
|
larl %r1,d
|
|
larl %r1,wd
|
|
larl %r1,wu
|
|
brasl %r1,wu
|
|
crl %r1,wu
|
|
lrl %r1,wu
|
|
strl %r1,wu
|
|
exrl %r1,wu
|
|
pfdrl %r1,wu
|
|
.weak wd
|
|
.weak wu
|
|
.data
|
|
d: .quad 0x123
|
|
wd: .quad 0x123
|