2 // Check that symbol table is correctly populated with local symbols.
3 // RUN
: llvm-mc
-save-temp-labels
-filetype
=obj
-triple
=x86_64-pc-linux
%s
-o
%t
4 // RUN
: ld.lld
%t -o
%t1
5 // RUN
: llvm-readobj
--symbols
-S
%t1 | FileCheck
%s
7 // Check that Info is equal to the number of local symbols.
9 // CHECK
: Name
: .symtab
10 // CHECK-NEXT
: Type
: SHT_SYMTAB
11 // CHECK-NEXT
: Flags
[
13 // CHECK-NEXT
: Address
:
14 // CHECK-NEXT
: Offset
:
17 // CHECK-NEXT
: Info
: 6
20 // CHECK-NEXT
: Symbol
{
22 // CHECK-NEXT
: Value
: 0x0
23 // CHECK-NEXT
: Size
: 0
24 // CHECK-NEXT
: Binding
: Local
25 // CHECK-NEXT
: Type
: None
26 // CHECK-NEXT
: Other
: 0
27 // CHECK-NEXT
: Section
: Undefined
29 // CHECK-NEXT
: Symbol
{
30 // CHECK-NEXT
: Name
: blah
32 // CHECK-NEXT
: Size
: 0
33 // CHECK-NEXT
: Binding
: Local
34 // CHECK-NEXT
: Type
: None
35 // CHECK-NEXT
: Other
: 0
36 // CHECK-NEXT
: Section
: .text
38 // CHECK-NEXT
: Symbol
{
39 // CHECK-NEXT
: Name
: foo
41 // CHECK-NEXT
: Size
: 0
42 // CHECK-NEXT
: Binding
: Local
43 // CHECK-NEXT
: Type
: None
44 // CHECK-NEXT
: Other
: 0
45 // CHECK-NEXT
: Section
: .text
47 // CHECK-NEXT
: Symbol
{
48 // CHECK-NEXT
: Name
: goo
50 // CHECK-NEXT
: Size
: 0
51 // CHECK-NEXT
: Binding
: Local
52 // CHECK-NEXT
: Type
: None
53 // CHECK-NEXT
: Other
: 0
54 // CHECK-NEXT
: Section
: .text
56 // CHECK-NEXT
: Symbol
{
57 // CHECK-NEXT
: Name
: abs
59 // CHECK-NEXT
: Size
: 0
60 // CHECK-NEXT
: Binding
: Local
61 // CHECK-NEXT
: Type
: None
62 // CHECK-NEXT
: Other
: 0
63 // CHECK-NEXT
: Section
: Absolute
65 // CHECK-NEXT
: Symbol
{
66 // CHECK-NEXT
: Name
: .Labs
68 // CHECK-NEXT
: Size
: 0
69 // CHECK-NEXT
: Binding
: Local
70 // CHECK-NEXT
: Type
: None
71 // CHECK-NEXT
: Other
: 0
72 // CHECK-NEXT
: Section
: Absolute
74 // CHECK-NEXT
: Symbol
{
75 // CHECK-NEXT
: Name
: _start
77 // CHECK-NEXT
: Size
: 0
78 // CHECK-NEXT
: Binding
: Global
79 // CHECK-NEXT
: Type
: None
80 // CHECK-NEXT
: Other
: 0
81 // CHECK-NEXT
: Section
: .text