100 lines · plain
1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj --symbols - | FileCheck %s2 3 4 .text5 6// Test that this produces a regular local symbol.7 .type common1,@object8 .local common19 .comm common1,1,110 11// CHECK: Symbol {12// CHECK: Name: common113// CHECK-NEXT: Value: 0x014// CHECK-NEXT: Size: 115// CHECK-NEXT: Binding: Local16// CHECK-NEXT: Type: Object17// CHECK-NEXT: Other: 018// CHECK-NEXT: Section:19// CHECK-NEXT: }20 21 22// Same as common1, but with directives in a different order.23 .local common224 .type common2,@object25 .comm common2,1,126 27// CHECK: Symbol {28// CHECK: Name: common229// CHECK-NEXT: Value: 0x130// CHECK-NEXT: Size: 131// CHECK-NEXT: Binding: Local32// CHECK-NEXT: Type: Object33// CHECK-NEXT: Other: 034// CHECK-NEXT: Section:35// CHECK-NEXT: }36 37 38 .local common639 .comm common6,8,1640 41// CHECK: Symbol {42// CHECK: Name: common643// CHECK-NEXT: Value: 0x1044// CHECK-NEXT: Size: 845// CHECK-NEXT: Binding: Local46// CHECK-NEXT: Type: Object47// CHECK-NEXT: Other: 048// CHECK-NEXT: Section: .bss49// CHECK-NEXT: }50 51 52// Test that without an explicit .local we produce a global.53 .type common3,@object54 .comm common3,4,455 56// CHECK: Symbol {57// CHECK: Name: common358// CHECK-NEXT: Value: 0x459// CHECK-NEXT: Size: 460// CHECK-NEXT: Binding: Global61// CHECK-NEXT: Type: Object62// CHECK-NEXT: Other: 063// CHECK-NEXT: Section: Common (0xFFF2)64// CHECK-NEXT: }65 66 67// Test that without an explicit .local we produce a global, even if the first68// occurrence is not in a directive.69 .globl foo70 .type foo,@function71foo:72 movsbl common4+3(%rip), %eax73 74 75 .type common4,@object76 .comm common4,40,1677 78// CHECK: Symbol {79// CHECK: Name: common480// CHECK-NEXT: Value: 0x1081// CHECK-NEXT: Size: 4082// CHECK-NEXT: Binding: Global83// CHECK-NEXT: Type: Object84// CHECK-NEXT: Other: 085// CHECK-NEXT: Section: Common (0xFFF2)86// CHECK-NEXT: }87 88 89 .comm common5,4,490 91// CHECK: Symbol {92// CHECK: Name: common593// CHECK-NEXT: Value: 0x494// CHECK-NEXT: Size: 495// CHECK-NEXT: Binding: Global96// CHECK-NEXT: Type: Object97// CHECK-NEXT: Other: 098// CHECK-NEXT: Section: Common (0xFFF2)99// CHECK-NEXT: }100