1// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s -o - | llvm-readobj -t -r | FileCheck %s 2 3local1: 4external_aliased_to_local = local1 5 6 .globl global_aliased_to_external 7global_aliased_to_external = external1 8 9 .globl global_aliased_to_local 10local2: 11global_aliased_to_local = local2 12 13 .weak weak_aliased_to_external 14weak_aliased_to_external = external2 15 16// Generate relocs against the above aliases. 17 .long external_aliased_to_local 18 .long global_aliased_to_external 19 .long global_aliased_to_local 20 .long weak_aliased_to_external 21 22// CHECK: Relocations [ 23// CHECK: 0x0 IMAGE_REL_I386_DIR32 local1 24// CHECK: 0x4 IMAGE_REL_I386_DIR32 external1 25// CHECK: 0x8 IMAGE_REL_I386_DIR32 local2 26// CHECK: 0xC IMAGE_REL_I386_DIR32 external2 27// CHECK: ] 28// CHECK: Symbols [ 29// CHECK-NEXT: Symbol { 30// CHECK-NEXT: Name: .text 31// CHECK-NEXT: Value: 0 32// CHECK-NEXT: Section: .text (1) 33// CHECK-NEXT: BaseType: Null (0x0) 34// CHECK-NEXT: ComplexType: Null (0x0) 35// CHECK-NEXT: StorageClass: Static (0x3) 36// CHECK-NEXT: AuxSymbolCount: 1 37// CHECK: } 38// CHECK: Symbol { 39// CHECK-NEXT: Name: local1 40// CHECK-NEXT: Value: 0 41// CHECK-NEXT: Section: .text (1) 42// CHECK-NEXT: BaseType: Null (0x0) 43// CHECK-NEXT: ComplexType: Null (0x0) 44// CHECK-NEXT: StorageClass: Static (0x3) 45// CHECK-NEXT: AuxSymbolCount: 0 46// CHECK-NEXT: } 47// CHECK-NEXT: Symbol { 48// CHECK-NEXT: Name: global_aliased_to_external 49// CHECK-NEXT: Value: 0 50// CHECK-NEXT: Section: (0) 51// CHECK-NEXT: BaseType: Null (0x0) 52// CHECK-NEXT: ComplexType: Null (0x0) 53// CHECK-NEXT: StorageClass: External (0x2) 54// CHECK-NEXT: AuxSymbolCount: 0 55// CHECK-NEXT: } 56// CHECK-NEXT: Symbol { 57// CHECK-NEXT: Name: external1 58// CHECK-NEXT: Value: 0 59// CHECK-NEXT: Section: (0) 60// CHECK-NEXT: BaseType: Null (0x0) 61// CHECK-NEXT: ComplexType: Null (0x0) 62// CHECK-NEXT: StorageClass: External (0x2) 63// CHECK-NEXT: AuxSymbolCount: 0 64// CHECK-NEXT: } 65// CHECK-NEXT: Symbol { 66// CHECK-NEXT: Name: global_aliased_to_local 67// CHECK-NEXT: Value: 0 68// CHECK-NEXT: Section: .text (1) 69// CHECK-NEXT: BaseType: Null (0x0) 70// CHECK-NEXT: ComplexType: Null (0x0) 71// CHECK-NEXT: StorageClass: Static (0x3) 72// CHECK-NEXT: AuxSymbolCount: 0 73// CHECK-NEXT: } 74// CHECK-NEXT: Symbol { 75// CHECK-NEXT: Name: local2 76// CHECK-NEXT: Value: 0 77// CHECK-NEXT: Section: .text (1) 78// CHECK-NEXT: BaseType: Null (0x0) 79// CHECK-NEXT: ComplexType: Null (0x0) 80// CHECK-NEXT: StorageClass: Static (0x3) 81// CHECK-NEXT: AuxSymbolCount: 0 82// CHECK-NEXT: } 83// CHECK-NEXT: Symbol { 84// CHECK-NEXT: Name: weak_aliased_to_external 85// CHECK-NEXT: Value: 0 86// CHECK-NEXT: Section: (0) 87// CHECK-NEXT: BaseType: Null (0x0) 88// CHECK-NEXT: ComplexType: Null (0x0) 89// CHECK-NEXT: StorageClass: WeakExternal (0x69) 90// CHECK-NEXT: AuxSymbolCount: 1 91// CHECK-NEXT: AuxWeakExternal { 92// CHECK-NEXT: Linked: external2 (9) 93// CHECK-NEXT: Search: Library (0x2) 94// CHECK-NEXT: Unused: (00 00 00 00 00 00 00 00 00 00) 95// CHECK-NEXT: } 96// CHECK-NEXT: } 97// CHECK-NEXT: Symbol { 98// CHECK-NEXT: Name: external2 99// CHECK-NEXT: Value: 0 100// CHECK-NEXT: Section: (0) 101// CHECK-NEXT: BaseType: Null (0x0) 102// CHECK-NEXT: ComplexType: Null (0x0) 103// CHECK-NEXT: StorageClass: External (0x2) 104// CHECK-NEXT: AuxSymbolCount: 0 105// CHECK-NEXT: } 106// CHECK-NEXT: ] 107