2 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
3 // RUN: ld.lld --hash-style=sysv %t -o %tout -shared
4 // RUN: llvm-objdump -d %tout | FileCheck -check-prefix=DISASM %s
5 // RUN: llvm-readobj -symbols -r %tout | FileCheck -check-prefix=SYMBOL %s
8 // DISASM: 1000: {{.*}} callq 10
9 // DISASM: 1005: {{.*}} callq 8
10 // DISASM: 100a: {{.*}} callq 3
11 // DISASM: Disassembly of section foo:
12 // DISASM: __start_foo:
13 // DISASM: 100f: 90 nop
14 // DISASM: 1010: 90 nop
15 // DISASM: 1011: 90 nop
16 // DISASM: Disassembly of section bar:
17 // DISASM: __start_bar:
18 // DISASM: 1012: 90 nop
19 // DISASM: 1013: 90 nop
20 // DISASM: 1014: 90 nop
22 // SYMBOL: Relocations [
23 // SYMBOL-NEXT: Section ({{.*}}) .rela.dyn {
24 // SYMBOL-NEXT: R_X86_64_RELATIVE
25 // SYMBOL-NEXT: R_X86_64_RELATIVE
26 // SYMBOL-NEXT: R_X86_64_RELATIVE
27 // SYMBOL-NEXT: R_X86_64_RELATIVE
32 // SYMBOL: Name: __start_bar
33 // SYMBOL: Value: 0x1012
35 // SYMBOL: Section: bar
37 // SYMBOL-NOT: Section: __stop_bar
39 // SYMBOL: Name: __start_foo
40 // SYMBOL: Value: 0x100F
42 // SYMBOL: Section: foo
45 // SYMBOL: Name: __stop_foo
46 // SYMBOL: Value: 0x1012
48 // SYMBOL: Section: foo
52 // SYMBOL: Name: __stop_zed1
53 // SYMBOL: Value: 0x2010
54 // SYMBOL: STV_PROTECTED
55 // SYMBOL: Section: zed1
58 // SYMBOL: Name: __stop_zed2
59 // SYMBOL: Value: 0x2020
60 // SYMBOL: STV_PROTECTED
61 // SYMBOL: Section: zed2