blob: 2bb10a3ed0a674882f6562075e20dfd2dea661f5 [file] [log] [blame]
Rafael Espindolad72d97b2017-09-08 18:16:59 +00001# REQUIRES: x86
2
3# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
4# RUN: echo "{ foo; zed; };" > %t.list
5# RUN: echo "{ global: foo; bar; local: *; };" > %t.vers
George Rimard46753e2017-10-06 09:37:44 +00006# RUN: ld.lld --hash-style=sysv -fatal-warnings -dynamic-list %t.list -version-script %t.vers -shared %t.o -o %t.so
Rafael Espindolad72d97b2017-09-08 18:16:59 +00007# RUN: llvm-readobj -r %t.so | FileCheck --check-prefix=RELOCS %s
8# RUN: llvm-readobj -dyn-symbols %t.so | FileCheck --check-prefix=DYNSYMS %s
9
10# RELOCS: Relocations [
11# RELOCS-NEXT: Section ({{.*}}) .rela.plt {
12# RELOCS-NEXT: R_X86_64_JUMP_SLOT foo 0x0
13# RELOCS-NEXT: R_X86_64_JUMP_SLOT ext 0x0
14# RELOCS-NEXT: }
15# RELOCS-NEXT: ]
16
17# DYNSYMS: DynamicSymbols [
18# DYNSYMS-NEXT: Symbol {
19# DYNSYMS-NEXT: Name: @ (0)
20# DYNSYMS-NEXT: Value: 0x0
21# DYNSYMS-NEXT: Size: 0
22# DYNSYMS-NEXT: Binding: Local
23# DYNSYMS-NEXT: Type: None
24# DYNSYMS-NEXT: Other: 0
25# DYNSYMS-NEXT: Section: Undefined
26# DYNSYMS-NEXT: }
27# DYNSYMS-NEXT: Symbol {
28# DYNSYMS-NEXT: Name: bar@
29# DYNSYMS-NEXT: Value:
30# DYNSYMS-NEXT: Size:
31# DYNSYMS-NEXT: Binding: Global
32# DYNSYMS-NEXT: Type:
33# DYNSYMS-NEXT: Other:
34# DYNSYMS-NEXT: Section:
35# DYNSYMS-NEXT: }
36# DYNSYMS-NEXT: Symbol {
37# DYNSYMS-NEXT: Name: ext@
38# DYNSYMS-NEXT: Value:
39# DYNSYMS-NEXT: Size:
40# DYNSYMS-NEXT: Binding: Global
41# DYNSYMS-NEXT: Type:
42# DYNSYMS-NEXT: Other:
43# DYNSYMS-NEXT: Section:
44# DYNSYMS-NEXT: }
45# DYNSYMS-NEXT: Symbol {
46# DYNSYMS-NEXT: Name: foo@
47# DYNSYMS-NEXT: Value:
48# DYNSYMS-NEXT: Size:
49# DYNSYMS-NEXT: Binding: Global
50# DYNSYMS-NEXT: Type:
51# DYNSYMS-NEXT: Other:
52# DYNSYMS-NEXT: Section:
53# DYNSYMS-NEXT: }
54# DYNSYMS-NEXT: ]
55
56 .globl foo
57foo:
58 ret
59
60 .globl bar
61bar:
62 ret
63
64 .globl baz
65baz:
66 ret
67
68 .globl zed
69zed:
70 ret
71
72 call foo@PLT
73 call bar@PLT
74 call baz@PLT
75 call zed@PLT
76 call ext@PLT