xref: /llvm-project/lld/test/ELF/shared-ppc64.s (revision 488fdb7d1245af5651ba77630f81412648ba7ae3)
1// REQUIRES: ppc
2
3// RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %s -o %t.o
4// RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %p/Inputs/shared.s -o %t2.o
5// RUN: ld.lld -shared %t2.o -o %t2.so
6// RUN: ld.lld -dynamic-linker /lib64/ld64.so.1 -rpath foo -rpath bar --export-dynamic %t.o %t2.so -o %t
7// RUN: llvm-readobj --dynamic-table -S %t | FileCheck %s
8
9// RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %s -o %t.o
10// RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %p/Inputs/shared.s -o %t2.o
11// RUN: ld.lld -shared %t2.o -o %t2.so
12// RUN: ld.lld -dynamic-linker /lib64/ld64.so.1 -rpath foo -rpath bar --export-dynamic %t.o %t2.so -o %t
13// RUN: llvm-readobj --dynamic-table -S %t | FileCheck %s
14
15// CHECK:      Name: .rela.dyn
16// CHECK-NEXT: Type: SHT_REL
17// CHECK-NEXT: Flags [
18// CHECK-NEXT:   SHF_ALLOC
19// CHECK-NEXT: ]
20// CHECK-NEXT: Address: [[RELADDR:.*]]
21// CHECK-NEXT: Offset:
22// CHECK-NEXT: Size: [[RELSIZE:.*]]
23// CHECK-NEXT: Link:
24// CHECK-NEXT: Info:
25// CHECK-NEXT: AddressAlignment:
26// CHECK-NEXT: EntrySize: [[RELENT:.*]]
27
28// CHECK:      DynamicSection [
29// CHECK-NEXT:   Tag                Type                 Name/Value
30// CHECK-NEXT:   0x000000000000001D RUNPATH              Library runpath: [foo:bar]
31// CHECK-NEXT:   0x0000000000000001 NEEDED               Shared library: [{{.*}}2.so]
32// CHECK-NEXT:   0x0000000000000015 DEBUG                0x0
33// CHECK-NEXT:   0x0000000000000007 RELA                 [[RELADDR]]
34// CHECK-NEXT:   0x0000000000000008 RELASZ               [[RELSIZE]] (bytes)
35// CHECK-NEXT:   0x0000000000000009 RELAENT              [[RELENT]] (bytes)
36// CHECK:        0x0000000000000000 NULL                 0x0
37// CHECK-NEXT: ]
38
39.global _start
40_start:
41.data
42.quad bar
43.quad zed
44
45