summaryrefslogtreecommitdiffstats
path: root/lld/test/elf/dynamic.test
blob: fa2e5d7174ac5642235c12aa1a38865ef6919cee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
RUN: lld -core -target x86_64-linux %p/Inputs/use-shared.x86-64 \
RUN:   %p/Inputs/shared.so-x86-64 -output=%t -entry=main \
RUN:   -output-type=dynamic
RUN: lld -core -target x86_64-linux %p/Inputs/use-shared.x86-64 \
RUN:   %p/Inputs/shared.so-x86-64 -emit-yaml -output=%t2 -noinhibit-exec \
RUN:   -output-type=dynamic
RUN: llvm-objdump -p %t >> %t2
RUN: llvm-readobj -s -dyn-symbols -dynamic-table %t >> %t2
RUN: FileCheck %s < %t2

CHECK: type: got
CHECK: R_X86_64_JUMP_SLOT

CHECK: name: main
CHECK: kind: R_X86_64_PC32
CHECK: target: [[PLTNAME:[-a-zA-Z0-9_]+]]

CHECK: name: [[PLTNAME]]
CHECK: type: stub

CHECK: shared-library-atoms:
CHECK: name: foo
CHECK: load-name: shared.so-x86-64

CHECK: PHDR off 0x{{0+}}40
CHECK: INTERP
CHECK: flags r--

CHECK:        Section {
CHECK:          Name: .hash
CHECK-NEXT:     Type: SHT_HASH
CHECK-NEXT:     Flags [
CHECK-NEXT:       SHF_ALLOC
CHECK-NEXT:     ]
CHECK-NEXT:     Address:
CHECK-NEXT:     Offset:
CHECK-NEXT:     Size: 32
CHECK-NEXT:     Link:
CHECK-NEXT:     Info:
CHECK-NEXT:     AddressAlignment: 8
CHECK-NEXT:     EntrySize:
CHECK-NEXT:   }

CHECK:      DynamicSymbols [
CHECK:        Symbol {
CHECK:          Name: foo
CHECK-NEXT:     Value: 0
CHECK-NEXT:     Size:
CHECK-NEXT:     Binding: Global
CHECK-NEXT:     Type: Function
CHECK:        }
CHECK:        Symbol {
CHECK:          Name: i
CHECK-NEXT:     Value: 0
CHECK-NEXT:     Size:
CHECK-NEXT:     Binding: Global
CHECK-NEXT:     Type: Function
CHECK:        }

CHECK: DynamicSection [ (14 entries)
CHECK:   Tag                Type                 Name/Value
CHECK:   0x0000000000000004 HASH
CHECK:   0x0000000000000005 STRTAB
CHECK:   0x0000000000000006 SYMTAB
CHECK:   0x000000000000000A STRSZ
CHECK:   0x000000000000000B SYMENT 24
CHECK:   0x0000000000000007 RELA
CHECK:   0x0000000000000008 RELASZ 24
CHECK:   0x0000000000000009 RELAENT 24
CHECK:   0x0000000000000002 PLTRELSZ 24
CHECK:   0x0000000000000003 PLTGOT
CHECK:   0x0000000000000014 PLTREL RELA
CHECK:   0x0000000000000017 JMPREL
CHECK:   0x0000000000000001 NEEDED SharedLibrary (shared.so-x86-64)
CHECK:   0x0000000000000000 NULL               0x0
CHECK: ]
OpenPOWER on IntegriCloud