1# REQUIRES: ppc
2# RUN: llvm-mc -filetype=obj -triple=powerpc %s -o %t.o
3# RUN: ld.lld -shared %t.o -o %t.so
4# RUN: llvm-nm %t.so | FileCheck --check-prefix=NM %s
5# RUN: llvm-readobj -r %t.so | FileCheck --check-prefix=RELOC %s
6
7## R_PPC_ADDR32 is an absolute relocation type.
8## In PIC mode, it creates a relative relocation if the symbol is non-preemptable.
9
10# NM: 00030204 d b
11
12# RELOC:      .rela.dyn {
13# RELOC-NEXT:   0x30204 R_PPC_RELATIVE - 0x30204
14# RELOC-NEXT:   0x30200 R_PPC_ADDR32 a 0
15# RELOC-NEXT: }
16
17.globl a, b
18.hidden b
19
20.data
21.long a
22b:
23.long b
24