xref: /aosp_15_r20/external/llvm/test/tools/llvm-objdump/win64-unwind-data.test (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// This test checks that the unwind data is dumped by llvm-objdump.
2*9880d681SAndroid Build Coastguard Worker// RUN: llvm-objdump -u %p/Inputs/win64-unwind.exe.coff-x86_64.obj \
3*9880d681SAndroid Build Coastguard Worker// RUN:   | FileCheck -check-prefix=OBJ %s
4*9880d681SAndroid Build Coastguard Worker// RUN: llvm-objdump -u %p/Inputs/win64-unwind.exe.coff-x86_64.exe \
5*9880d681SAndroid Build Coastguard Worker// RUN:   | FileCheck -check-prefix=EXE %s
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard WorkerOBJ:      Unwind info:
8*9880d681SAndroid Build Coastguard WorkerOBJ:      Function Table:
9*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Start Address: func
10*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   End Address: func + 0x001b
11*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Unwind Info Address: .xdata
12*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Version: 1
13*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Flags: 1 UNW_ExceptionHandler
14*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Size of prolog: 18
15*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Number of Codes: 8
16*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Frame register: RBX
17*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Frame offset: 0
18*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Unwind Codes:
19*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x12: UOP_SetFPReg
20*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x0f: UOP_PushNonVol RBX
21*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x0e: UOP_SaveXMM128 XMM8 [0x0000]
22*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x09: UOP_SaveNonVol RSI [0x0010]
23*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x04: UOP_AllocSmall 24
24*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x00: UOP_PushMachFrame w/o error code
25*9880d681SAndroid Build Coastguard WorkerOBJ:      Function Table:
26*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Start Address: func + 0x0012
27*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   End Address: func + 0x0012
28*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Unwind Info Address: .xdata + 0x001c
29*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Version: 1
30*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Flags: 4 UNW_ChainInfo
31*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Size of prolog: 0
32*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Number of Codes: 0
33*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     No frame pointer used
34*9880d681SAndroid Build Coastguard WorkerOBJ:      Function Table:
35*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Start Address: smallFunc
36*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   End Address: smallFunc + 0x0001
37*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Unwind Info Address: .xdata + 0x002c
38*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Version: 1
39*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Flags: 0
40*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Size of prolog: 0
41*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Number of Codes: 0
42*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     No frame pointer used
43*9880d681SAndroid Build Coastguard WorkerOBJ:      Function Table:
44*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Start Address: allocFunc
45*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   End Address: allocFunc + 0x001d
46*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:   Unwind Info Address: .xdata + 0x0034
47*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Version: 1
48*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Flags: 0
49*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Size of prolog: 14
50*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Number of Codes: 6
51*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     No frame pointer used
52*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:     Unwind Codes:
53*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x0e: UOP_AllocLarge 8454128
54*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x07: UOP_AllocLarge 8190
55*9880d681SAndroid Build Coastguard WorkerOBJ-NEXT:       0x00: UOP_PushMachFrame w/o error code
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard WorkerEXE:      Function Table:
58*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Start Address: 0x1000
59*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   End Address: 0x101b
60*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Unwind Info Address: 0x2000
61*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Version: 1
62*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Flags: 1 UNW_ExceptionHandler
63*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Size of prolog: 18
64*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Number of Codes: 8
65*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Frame register: RBX
66*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Frame offset: 0
67*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Unwind Codes:
68*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x12: UOP_SetFPReg
69*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x0f: UOP_PushNonVol RBX
70*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x0e: UOP_SaveXMM128 XMM8 [0x0000]
71*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x09: UOP_SaveNonVol RSI [0x0010]
72*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x04: UOP_AllocSmall 24
73*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x00: UOP_PushMachFrame w/o error code
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard WorkerEXE:      Function Table:
76*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Start Address: 0x1012
77*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   End Address: 0x1012
78*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Unwind Info Address: 0x201c
79*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Version: 1
80*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Flags: 4 UNW_ChainInfo
81*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Size of prolog: 0
82*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Number of Codes: 0
83*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     No frame pointer used
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard WorkerEXE:      Function Table:
86*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Start Address: 0x101b
87*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   End Address: 0x101c
88*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Unwind Info Address: 0x202c
89*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Version: 1
90*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Flags: 0
91*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Size of prolog: 0
92*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Number of Codes: 0
93*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     No frame pointer used
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard WorkerEXE:      Function Table:
96*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Start Address: 0x101c
97*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   End Address: 0x1039
98*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:   Unwind Info Address: 0x2034
99*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Version: 1
100*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Flags: 0
101*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Size of prolog: 14
102*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Number of Codes: 6
103*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     No frame pointer used
104*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:     Unwind Codes:
105*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x0e: UOP_AllocLarge 8454128
106*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x07: UOP_AllocLarge 8190
107*9880d681SAndroid Build Coastguard WorkerEXE-NEXT:       0x00: UOP_PushMachFrame w/o error code
108