1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
2
3// Test which symbols should be in the symbol table
4
5        .long	.Lsym1
6.Lsym2:
7.Lsym3:
8.Lsym4 = .Lsym2 - .Lsym3
9        .long	.Lsym4
10
11	.type	.Lsym5,@object
12        .type   sym6,@object
13        .long sym6
14
15	.section	.rodata.str1.1,"aMS",@progbits,1
16.Lsym7:
17.Lsym8:
18
19        .text
20        movsd   .Lsym8(%rip), %xmm1
21
22test2_a = undef
23test2_b = undef + 1
24
25// CHECK:      Symbols [
26// CHECK-NEXT:   Symbol {
27// CHECK-NEXT:     Name:  (0)
28// CHECK-NEXT:     Value: 0x0
29// CHECK-NEXT:     Size: 0
30// CHECK-NEXT:     Binding: Local
31// CHECK-NEXT:     Type: None
32// CHECK-NEXT:     Other: 0
33// CHECK-NEXT:     Section: Undefined
34// CHECK-NEXT:   }
35// CHECK-NEXT:   Symbol {
36// CHECK-NEXT:     Name: .Lsym8
37// CHECK-NEXT:     Value: 0x0
38// CHECK-NEXT:     Size: 0
39// CHECK-NEXT:     Binding: Local
40// CHECK-NEXT:     Type: None
41// CHECK-NEXT:     Other: 0
42// CHECK-NEXT:     Section: .rodata.str1.1
43// CHECK-NEXT:   }
44// CHECK-NEXT:   Symbol {
45// CHECK-NEXT:     Name: .text
46// CHECK-NEXT:     Value: 0x0
47// CHECK-NEXT:     Size: 0
48// CHECK-NEXT:     Binding: Local
49// CHECK-NEXT:     Type: Section
50// CHECK-NEXT:     Other: 0
51// CHECK-NEXT:     Section: .text
52// CHECK-NEXT:   }
53// CHECK-NEXT:   Symbol {
54// CHECK-NEXT:     Name: .data
55// CHECK-NEXT:     Value: 0x0
56// CHECK-NEXT:     Size: 0
57// CHECK-NEXT:     Binding: Local
58// CHECK-NEXT:     Type: Section
59// CHECK-NEXT:     Other: 0
60// CHECK-NEXT:     Section: .data
61// CHECK-NEXT:   }
62// CHECK-NEXT:   Symbol {
63// CHECK-NEXT:     Name: .bss
64// CHECK-NEXT:     Value: 0x0
65// CHECK-NEXT:     Size: 0
66// CHECK-NEXT:     Binding: Local
67// CHECK-NEXT:     Type: Section
68// CHECK-NEXT:     Other: 0
69// CHECK-NEXT:     Section: .bss
70// CHECK-NEXT:   }
71// CHECK-NEXT:   Symbol {
72// CHECK-NEXT:     Name: .rodata.str1.1
73// CHECK-NEXT:     Value: 0x0
74// CHECK-NEXT:     Size: 0
75// CHECK-NEXT:     Binding: Local
76// CHECK-NEXT:     Type: Section
77// CHECK-NEXT:     Other: 0
78// CHECK-NEXT:     Section: .rodata.str1.1
79// CHECK-NEXT:   }
80// CHECK-NEXT:   Symbol {
81// CHECK-NEXT:     Name: .Lsym1
82// CHECK-NEXT:     Value: 0x0
83// CHECK-NEXT:     Size: 0
84// CHECK-NEXT:     Binding: Global
85// CHECK-NEXT:     Type: None
86// CHECK-NEXT:     Other: 0
87// CHECK-NEXT:     Section: Undefined
88// CHECK-NEXT:   }
89// CHECK-NEXT:   Symbol {
90// CHECK-NEXT:     Name: sym6
91// CHECK-NEXT:     Value: 0x0
92// CHECK-NEXT:     Size: 0
93// CHECK-NEXT:     Binding: Global
94// CHECK-NEXT:     Type: Object
95// CHECK-NEXT:     Other: 0
96// CHECK-NEXT:     Section: Undefined
97// CHECK-NEXT:   }
98// CHECK-NEXT: ]
99