xref: /llvm-project/llvm/test/MC/COFF/addrsig.s (revision 7198baccdae10d2b23ea3c21b3c09a59ec053ec9)
1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s -o - | llvm-readobj -S --symbols --sd --addrsig - | FileCheck %s
2
3// CHECK:      Name: .llvm_addrsig
4// CHECK-NEXT: VirtualSize: 0x0
5// CHECK-NEXT: VirtualAddress: 0x0
6// CHECK-NEXT: RawDataSize: 6
7// CHECK-NEXT: PointerToRawData:
8// CHECK-NEXT: PointerToRelocations: 0x0
9// CHECK-NEXT: PointerToLineNumbers: 0x0
10// CHECK-NEXT: RelocationCount: 0
11// CHECK-NEXT: LineNumberCount: 0
12// CHECK-NEXT: Characteristics [ (0x100800)
13// CHECK-NEXT:   IMAGE_SCN_ALIGN_1BYTES (0x100000)
14// CHECK-NEXT:   IMAGE_SCN_LNK_REMOVE (0x800)
15// CHECK-NEXT: ]
16// CHECK-NEXT: SectionData (
17// CHECK-NEXT:   0000: 080B0A02
18// CHECK-NEXT: )
19
20// CHECK: Symbols [
21// CHECK:      Name:
22// CHECK-SAME: {{^}} .text
23// CHECK: AuxSectionDef
24// CHECK:      Name:
25// CHECK-SAME: {{^}} .data
26// CHECK: AuxSectionDef
27// CHECK:      Name:
28// CHECK-SAME: {{^}} .bss
29// CHECK: AuxSectionDef
30// CHECK:      Name:
31// CHECK-SAME: {{^}} .llvm_addrsig
32// CHECK: AuxSectionDef
33// CHECK:      Name:
34// CHECK-SAME: {{^}} g1
35// CHECK:      Name:
36// CHECK-SAME: {{^}} g2
37// CHECK:      Name:
38// CHECK-SAME: {{^}} local
39// CHECK:      Name:
40// CHECK-SAME: {{^}} g3
41// CHECK-NOT:  Name:
42// CHECK: }
43
44// CHECK:      Addrsig [
45// CHECK-NEXT:   Sym: g1 (8)
46// CHECK-NEXT:   Sym: g3 (11)
47// CHECK-NEXT:   Sym: local (10)
48// CHECK-NEXT:   Sym: .data (2)
49// CHECK-NEXT:   Sym: weak_sym (12)
50// CHECK-NEXT:   Sym: .data (2)
51// CHECK-NEXT: ]
52
53.globl g1
54
55.addrsig
56.addrsig_sym g1
57.globl g2
58.addrsig_sym g3
59.addrsig_sym local
60.addrsig_sym .Llocal
61.addrsig_sym .Lunseen
62.addrsig_sym unseen
63
64local:
65.globl g3
66
67.data
68.Llocal:
69
70.weak weak_sym
71weak_sym:
72.addrsig_sym weak_sym
73
74.set .Lalias_weak_sym, weak_sym
75.addrsig_sym .Lalias_weak_sym
76