1
// This tests that default-null weak symbols (a GNU extension) are created
2
// properly via the .weak directive.
4
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | llvm-readobj -t | FileCheck %s
5
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj -t | FileCheck %s
17
movl $_test_weak, %eax
32
.weak _test_weak_alias
33
_test_weak_alias=_main
38
// CHECK: Name: _test_weak
39
// CHECK-NEXT: Value: 0
40
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED (0)
41
// CHECK-NEXT: BaseType: Null
42
// CHECK-NEXT: ComplexType: Null
43
// CHECK-NEXT: StorageClass: WeakExternal
44
// CHECK-NEXT: AuxSymbolCount: 1
45
// CHECK-NEXT: AuxWeakExternal {
46
// CHECK-NEXT: Linked: .weak._test_weak.default
47
// CHECK-NEXT: Search: Library
52
// CHECK: Name: .weak._test_weak.default
53
// CHECK-NEXT: Value: 0
54
// CHECK-NEXT: Section: IMAGE_SYM_ABSOLUTE (-1)
55
// CHECK-NEXT: BaseType: Null
56
// CHECK-NEXT: ComplexType: Null
57
// CHECK-NEXT: StorageClass: External
58
// CHECK-NEXT: AuxSymbolCount: 0
62
// CHECK: Name: _test_weak_alias
63
// CHECK-NEXT: Value: 0
64
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED (0)
65
// CHECK-NEXT: BaseType: Null
66
// CHECK-NEXT: ComplexType: Null
67
// CHECK-NEXT: StorageClass: WeakExternal
68
// CHECK-NEXT: AuxSymbolCount: 1
69
// CHECK-NEXT: AuxWeakExternal {
70
// CHECK-NEXT: Linked: _main
71
// CHECK-NEXT: Search: Library