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: (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
48 // CHECK-NEXT: Unused: (00 00 00 00 00 00 00 00 00 00)
53 // CHECK: Name: .weak._test_weak.default
54 // CHECK-NEXT: Value: 0
55 // CHECK-NEXT: Section: (-1)
56 // CHECK-NEXT: BaseType: Null
57 // CHECK-NEXT: ComplexType: Null
58 // CHECK-NEXT: StorageClass: External
59 // CHECK-NEXT: AuxSymbolCount: 0
63 // CHECK: Name: _test_weak_alias
64 // CHECK-NEXT: Value: 0
65 // CHECK-NEXT: Section: (0)
66 // CHECK-NEXT: BaseType: Null
67 // CHECK-NEXT: ComplexType: Null
68 // CHECK-NEXT: StorageClass: WeakExternal
69 // CHECK-NEXT: AuxSymbolCount: 1
70 // CHECK-NEXT: AuxWeakExternal {
71 // CHECK-NEXT: Linked: _main
72 // CHECK-NEXT: Search: Library
73 // CHECK-NEXT: Unused: (00 00 00 00 00 00 00 00 00 00)