1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
6 // Test that this produces a regular local symbol.
12 // CHECK: Name: common1 (1)
13 // CHECK-NEXT: Value: 0x0
14 // CHECK-NEXT: Size: 1
15 // CHECK-NEXT: Binding: Local
16 // CHECK-NEXT: Type: Object
17 // CHECK-NEXT: Other: 0
18 // CHECK-NEXT: Section:
22 // Same as common1, but with directives in a different order.
28 // CHECK: Name: common2 (9)
29 // CHECK-NEXT: Value: 0x1
30 // CHECK-NEXT: Size: 1
31 // CHECK-NEXT: Binding: Local
32 // CHECK-NEXT: Type: Object
33 // CHECK-NEXT: Other: 0
34 // CHECK-NEXT: Section:
42 // CHECK: Name: common6 (17)
43 // CHECK-NEXT: Value: 0x10
44 // CHECK-NEXT: Size: 8
45 // CHECK-NEXT: Binding: Local
46 // CHECK-NEXT: Type: Object
47 // CHECK-NEXT: Other: 0
48 // CHECK-NEXT: Section: .bss (0x4)
52 // Test that without an explicit .local we produce a global.
57 // CHECK: Name: common3 (25)
58 // CHECK-NEXT: Value: 0x4
59 // CHECK-NEXT: Size: 4
60 // CHECK-NEXT: Binding: Global
61 // CHECK-NEXT: Type: Object
62 // CHECK-NEXT: Other: 0
63 // CHECK-NEXT: Section: (0xFFF2)
67 // Test that without an explicit .local we produce a global, even if the first
68 // occurrence is not in a directive.
72 movsbl common4+3(%rip), %eax
79 // CHECK: Name: common4 (37)
80 // CHECK-NEXT: Value: 0x10
81 // CHECK-NEXT: Size: 40
82 // CHECK-NEXT: Binding: Global
83 // CHECK-NEXT: Type: Object
84 // CHECK-NEXT: Other: 0
85 // CHECK-NEXT: Section: (0xFFF2)
92 // CHECK: Name: common5 (45)
93 // CHECK-NEXT: Value: 0x4
94 // CHECK-NEXT: Size: 4
95 // CHECK-NEXT: Binding: Global
96 // CHECK-NEXT: Type: Object
97 // CHECK-NEXT: Other: 0
98 // CHECK-NEXT: Section: (0xFFF2)