[memprof] Remove an unused using directive (#117004)
[llvm-project.git] / lld / test / ELF / startstop.s
blob7ec2c92cf3318b330f1c3d93067f419b6f0c665a
1 // REQUIRES: x86
2 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
3 // RUN: ld.lld %t -o %t.so -shared
4 // RUN: llvm-objdump -d --no-show-raw-insn %t.so | FileCheck --check-prefix=DISASM %s
5 // RUN: llvm-readobj --symbols -r %t.so | FileCheck -check-prefix=SYMBOL %s
7 // DISASM: <_start>:
8 // DISASM: 1330: callq 0x133f <__start_foo>
9 // DISASM: 1335: callq 0x1342 <__start_bar>
10 // DISASM: 133a: callq 0x1342 <__start_bar>
11 // DISASM: Disassembly of section foo:
12 // DISASM-EMPTY:
13 // DISASM: <__start_foo>:
14 // DISASM: 133f: nop
15 // DISASM: nop
16 // DISASM: nop
17 // DISASM: Disassembly of section bar:
18 // DISASM-EMPTY:
19 // DISASM: <__start_bar>:
20 // DISASM: 1342: nop
21 // DISASM: nop
22 // DISASM: nop
24 // SYMBOL: Relocations [
25 // SYMBOL-NEXT: Section ({{.*}}) .rela.dyn {
26 // SYMBOL-NEXT: R_X86_64_RELATIVE
27 // SYMBOL-NEXT: R_X86_64_RELATIVE
28 // SYMBOL-NEXT: R_X86_64_RELATIVE
29 // SYMBOL-NEXT: R_X86_64_RELATIVE
30 // SYMBOL-NEXT: }
31 // SYMBOL-NEXT: ]
33 // SYMBOL: Symbol {
34 // SYMBOL: Name: __start_foo
35 // SYMBOL: Value: 0x133F
36 // SYMBOL: STV_HIDDEN
37 // SYMBOL: Section: foo
38 // SYMBOL: }
39 // SYMBOL: Symbol {
40 // SYMBOL: Name: __stop_foo
41 // SYMBOL: Value: 0x1342
42 // SYMBOL: STV_HIDDEN
43 // SYMBOL: Section: foo
44 // SYMBOL: }
45 // SYMBOL: Symbol {
46 // SYMBOL: Name: __start_bar
47 // SYMBOL: Value: 0x1342
48 // SYMBOL: STV_HIDDEN
49 // SYMBOL: Section: bar
50 // SYMBOL: }
51 // SYMBOL-NOT: Section: __stop_bar
53 // SYMBOL: Symbol {
54 // SYMBOL: Name: __stop_zed2
55 // SYMBOL: Value: 0x3418
56 // SYMBOL: STV_PROTECTED
57 // SYMBOL: Section: zed2
58 // SYMBOL: }
59 // SYMBOL: Symbol {
60 // SYMBOL: Name: __stop_zed1
61 // SYMBOL: Value: 0x3408
62 // SYMBOL: STV_PROTECTED
63 // SYMBOL: Section: zed1
64 // SYMBOL: }
66 .hidden __start_foo
67 .hidden __stop_foo
68 .hidden __start_bar
69 .global _start
70 .text
71 _start:
72 call __start_foo
73 call __stop_foo
74 call __start_bar
76 .section foo,"ax"
77 nop
78 nop
79 nop
81 .section bar,"ax"
82 nop
83 nop
84 nop
86 .section zed1, "aw"
87 .quad __stop_zed2
88 .quad __stop_zed2 + 1
90 .section zed2, "aw"
91 .quad __stop_zed1
92 .quad __stop_zed1 + 1