2 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-pc-linux
%s
-o
%t.o
3 // RUN
: echo
".global __progname; .data; .dc.a __progname" > %t2.s
4 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-pc-linux
%t2.s
-o
%t2.o
5 // RUN
: ld.lld
-shared
%t2.o
-o
%t2.so
6 // RUN
: ld.lld
-o
%t %t.o
%t2.so
7 // RUN
: llvm-readobj
--dyn-syms
%t | FileCheck
%s
9 // RUN
: echo
"VER_1 { global: bar; };" > %t.script
10 // RUN
: echo
'.globl bar; bar: .quad __progname@GOT' | llvm-mc
-filetype
=obj
-triple
=x86_64
- -o
%t-ver.o
11 // RUN
: ld.lld
-shared
-o
%t.so
-version-script
%t.script
%t-ver.o
12 // RUN
: ld.lld
-o
%t %t.o
%t.so
13 // RUN
: llvm-readobj
--dyn-syms
%t | FileCheck
%s
15 // RUN
: echo
"{ _start; };" > %t.dynlist
16 // RUN
: ld.lld
-dynamic-list
%t.dynlist
-o
%t %t.o
%t.so
17 // RUN
: llvm-readobj
--dyn-syms
%t | FileCheck
%s
19 // CHECK
: Name
: __progname
21 // CHECK-NEXT
: Size
: 0
22 // CHECK-NEXT
: Binding
: Global
(0x1)
23 // CHECK-NEXT
: Type
: None
(0x0)
24 // CHECK-NEXT
: Other
: 0
25 // CHECK-NEXT
: Section
: .text
28 .global _start, __progname