brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 016c1f8 Raw
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