[llvm] Do not replace dead constant references in metadata with undef
[llvm-project.git] / lld / test / ELF / ppc32-weak-undef-call.s
blobdfb45e5fe18cfd37f8f85efc00a4df3c0f49e829
1 # REQUIRES: ppc
2 # RUN: llvm-mc -filetype=obj -triple=powerpc %s -o %t.o
3 # RUN: ld.lld %t.o -o %t
4 # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck --check-prefix=PDE %s
5 # RUN: ld.lld -pie %t.o -o %t
6 # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck --check-prefix=PIC %s
7 # RUN: ld.lld -shared %t.o -o %t
8 # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck --check-prefix=PIC %s
10 ## It does not really matter how we fixup it, but we cannot overflow and
11 ## should not generate a call stub (this would waste space).
12 # PDE: bl 0x100100b4
14 ## With -pie or -shared, create a call stub. ld.bfd produces bl .+0
15 # PIC: bl 0x[[PLT:[0-9a-f]+]]
16 # PIC-EMPTY:
17 # PIC-NEXT: 000[[PLT]] <00000000.plt_pic32.foo>:
19 .weak foo
20 bl foo