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
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
:
13 // DISASM
: <__start_foo
>:
17 // DISASM
: Disassembly of section bar
:
19 // DISASM
: <__start_bar
>:
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
34 // SYMBOL
: Name
: __start_foo
35 // SYMBOL
: Value
: 0x133F
37 // SYMBOL
: Section
: foo
40 // SYMBOL
: Name
: __stop_foo
41 // SYMBOL
: Value
: 0x1342
43 // SYMBOL
: Section
: foo
46 // SYMBOL
: Name
: __start_bar
47 // SYMBOL
: Value
: 0x1342
49 // SYMBOL
: Section
: bar
51 // SYMBOL-
NOT: Section
: __stop_bar
54 // SYMBOL
: Name
: __stop_zed2
55 // SYMBOL
: Value
: 0x3418
56 // SYMBOL
: STV_PROTECTED
57 // SYMBOL
: Section
: zed2
60 // SYMBOL
: Name
: __stop_zed1
61 // SYMBOL
: Value
: 0x3408
62 // SYMBOL
: STV_PROTECTED
63 // SYMBOL
: Section
: zed1