xref: /aosp_15_r20/external/llvm/test/MC/COFF/alias.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s -o - \
2*9880d681SAndroid Build Coastguard Worker// RUN:   | llvm-readobj -t -r | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerlocal1:
5*9880d681SAndroid Build Coastguard Workerexternal_aliased_to_local = local1
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker        .globl  global_aliased_to_external
8*9880d681SAndroid Build Coastguard Workerglobal_aliased_to_external = external1
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker        .globl  global_aliased_to_local
11*9880d681SAndroid Build Coastguard Workerlocal2:
12*9880d681SAndroid Build Coastguard Workerglobal_aliased_to_local = local2
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker        .weak   weak_aliased_to_external
15*9880d681SAndroid Build Coastguard Workerweak_aliased_to_external = external2
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker// Generate relocs against the above aliases.
18*9880d681SAndroid Build Coastguard Worker        .long external_aliased_to_local
19*9880d681SAndroid Build Coastguard Worker        .long global_aliased_to_external
20*9880d681SAndroid Build Coastguard Worker        .long global_aliased_to_local
21*9880d681SAndroid Build Coastguard Worker        .long weak_aliased_to_external
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker// CHECK:      Relocations [
24*9880d681SAndroid Build Coastguard Worker// CHECK:        0x0 IMAGE_REL_I386_DIR32 external_aliased_to_local
25*9880d681SAndroid Build Coastguard Worker// CHECK:        0x4 IMAGE_REL_I386_DIR32 external1
26*9880d681SAndroid Build Coastguard Worker// CHECK:        0x8 IMAGE_REL_I386_DIR32 global_aliased_to_local
27*9880d681SAndroid Build Coastguard Worker// CHECK:        0xC IMAGE_REL_I386_DIR32 external2
28*9880d681SAndroid Build Coastguard Worker// CHECK:      ]
29*9880d681SAndroid Build Coastguard Worker// CHECK:      Symbols [
30*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
31*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: .text
32*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
33*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: .text (1)
34*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
35*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
36*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: Static (0x3)
37*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 1
38*9880d681SAndroid Build Coastguard Worker// CHECK:        }
39*9880d681SAndroid Build Coastguard Worker// CHECK:        Symbol {
40*9880d681SAndroid Build Coastguard Worker// CHECK:          Name: local1
41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
42*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: .text (1)
43*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: Static (0x3)
46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 0
47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
48*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
49*9880d681SAndroid Build Coastguard Worker// CHECK:          Name: global_aliased_to_external
50*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
51*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: IMAGE_SYM_UNDEFINED (0)
52*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
53*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
54*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: External (0x2)
55*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 0
56*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
57*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
58*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: external1
59*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
60*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: IMAGE_SYM_UNDEFINED (0)
61*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
62*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
63*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: External (0x2)
64*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 0
65*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
66*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
67*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: global_aliased_to_local
68*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
69*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: .text (1)
70*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
71*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
72*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: External (0x2)
73*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 0
74*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
75*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
76*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: local2
77*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
78*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: .text (1)
79*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
80*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
81*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: Static (0x3)
82*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 0
83*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
84*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
85*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: weak_aliased_to_external
86*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
87*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: IMAGE_SYM_UNDEFINED (0)
88*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
89*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
90*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: WeakExternal (0x69)
91*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 1
92*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxWeakExternal {
93*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Linked: external2
94*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Search: Library (0x2)
95*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
96*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
97*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
98*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: external2
99*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0
100*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: IMAGE_SYM_UNDEFINED (0)
101*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     BaseType: Null (0x0)
102*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ComplexType: Null (0x0)
103*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     StorageClass: External (0x2)
104*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AuxSymbolCount: 0
105*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
106*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ]
107