blob: a75bd78fd8801bd03f02e32a92489a1fd62160ce [file] [log] [blame]
George Rimar50dcece2016-07-16 12:26:39 +00001# REQUIRES: x86
2# XFAIL: win32
3
4# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
5# RUN: echo "LIBSAMPLE_1.0 { \
6# RUN: global: \
7# RUN: extern "C++" { \
8# RUN: \"foo(int)\"; \
9# RUN: \"zed(int)\"; \
10# RUN: }; \
11# RUN: }; \
12# RUN: LIBSAMPLE_2.0 { \
13# RUN: global: \
14# RUN: extern "C++" { \
15# RUN: \"bar(int)\"; \
16# RUN: }; \
17# RUN: }; " > %t.script
18# RUN: ld.lld --version-script %t.script -shared %t.o -o %t.so
19# RUN: llvm-readobj -V -dyn-symbols %t.so | FileCheck --check-prefix=DSO %s
20
21# DSO: DynamicSymbols [
22# DSO-NEXT: Symbol {
23# DSO-NEXT: Name: @
24# DSO-NEXT: Value: 0x0
25# DSO-NEXT: Size: 0
26# DSO-NEXT: Binding: Local
27# DSO-NEXT: Type: None
28# DSO-NEXT: Other: 0
29# DSO-NEXT: Section: Undefined
30# DSO-NEXT: }
31# DSO-NEXT: Symbol {
32# DSO-NEXT: Name: _Z3bari@@LIBSAMPLE_2.0
33# DSO-NEXT: Value: 0x1001
34# DSO-NEXT: Size: 0
35# DSO-NEXT: Binding: Global
36# DSO-NEXT: Type: Function
37# DSO-NEXT: Other: 0
38# DSO-NEXT: Section: .text
39# DSO-NEXT: }
40# DSO-NEXT: Symbol {
41# DSO-NEXT: Name: _Z3fooi@@LIBSAMPLE_1.0
42# DSO-NEXT: Value: 0x1000
43# DSO-NEXT: Size: 0
44# DSO-NEXT: Binding: Global
45# DSO-NEXT: Type: Function
46# DSO-NEXT: Other: 0
47# DSO-NEXT: Section: .text
48# DSO-NEXT: }
49# DSO-NEXT: Symbol {
50# DSO-NEXT: Name: _Z3zedi@@LIBSAMPLE_1.0
51# DSO-NEXT: Value: 0x1002
52# DSO-NEXT: Size: 0
53# DSO-NEXT: Binding: Global (0x1)
54# DSO-NEXT: Type: Function (0x2)
55# DSO-NEXT: Other: 0
56# DSO-NEXT: Section: .text (0x6)
57# DSO-NEXT: }
58# DSO-NEXT: ]
59# DSO-NEXT: Version symbols {
60# DSO-NEXT: Section Name: .gnu.version
61# DSO-NEXT: Address: 0x228
62# DSO-NEXT: Offset: 0x228
63# DSO-NEXT: Link: 1
64# DSO-NEXT: Symbols [
65# DSO-NEXT: Symbol {
66# DSO-NEXT: Version: 0
67# DSO-NEXT: Name: @
68# DSO-NEXT: }
69# DSO-NEXT: Symbol {
70# DSO-NEXT: Version: 3
71# DSO-NEXT: Name: _Z3bari@@LIBSAMPLE_2.0
72# DSO-NEXT: }
73# DSO-NEXT: Symbol {
74# DSO-NEXT: Version: 2
75# DSO-NEXT: Name: _Z3fooi@@LIBSAMPLE_1.0
76# DSO-NEXT: }
77# DSO-NEXT: Symbol {
78# DSO-NEXT: Version: 2
79# DSO-NEXT: Name: _Z3zedi@@LIBSAMPLE_1.0
80# DSO-NEXT: }
81# DSO-NEXT: ]
82# DSO-NEXT: }
83
84.text
85.globl _Z3fooi
86.type _Z3fooi,@function
87_Z3fooi:
88retq
89
90.globl _Z3bari
91.type _Z3bari,@function
92_Z3bari:
93retq
94
95.globl _Z3zedi
96.type _Z3zedi,@function
97_Z3zedi:
98retq