mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
beb004a7c0
We were creating a weak external that tried to reference a static symbol. That would always fail to link with link.exe. We now create an external symbol in the same position as the local and refer to that. This works with link.exe and matches what gas does. llvm-svn: 270906
44 lines
1.3 KiB
ArmAsm
44 lines
1.3 KiB
ArmAsm
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s -o %t.o
|
|
// RUN: llvm-readobj -t %t.o | FileCheck %s
|
|
|
|
// test that we create an external symbol for a to point to.
|
|
|
|
.data
|
|
.long 123
|
|
b:
|
|
.long 42
|
|
.weak a
|
|
a=b
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: b
|
|
// CHECK-NEXT: Value: 4
|
|
// CHECK-NEXT: Section: .data (2)
|
|
// CHECK-NEXT: BaseType: Null (0x0)
|
|
// CHECK-NEXT: ComplexType: Null (0x0)
|
|
// CHECK-NEXT: StorageClass: Static (0x3)
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: Symbol {
|
|
// CHECK-NEXT: Name: a
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED (0)
|
|
// CHECK-NEXT: BaseType: Null (0x0)
|
|
// CHECK-NEXT: ComplexType: Null (0x0)
|
|
// CHECK-NEXT: StorageClass: WeakExternal (0x69)
|
|
// CHECK-NEXT: AuxSymbolCount: 1
|
|
// CHECK-NEXT: AuxWeakExternal {
|
|
// CHECK-NEXT: Linked: .weak.a.default (9)
|
|
// CHECK-NEXT: Search: Library (0x2)
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: Symbol {
|
|
// CHECK-NEXT: Name: .weak.a.default
|
|
// CHECK-NEXT: Value: 4
|
|
// CHECK-NEXT: Section: .data (2)
|
|
// CHECK-NEXT: BaseType: Null (0x0)
|
|
// CHECK-NEXT: ComplexType: Null (0x0)
|
|
// CHECK-NEXT: StorageClass: External (0x2)
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|