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