brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · d39d08f Raw
108 lines · plain
1// This test checks that the unwind data is dumped by llvm-objdump.2// RUN: llvm-objdump -u %p/Inputs/win64-unwind.exe.coff-x86_64.obj \3// RUN:   | FileCheck -check-prefix=OBJ %s4// RUN: llvm-objdump -u %p/Inputs/win64-unwind.exe.coff-x86_64.exe \5// RUN:   | FileCheck -check-prefix=EXE %s6 7OBJ:      Unwind info:8OBJ:      Function Table:9OBJ-NEXT:   Start Address: func10OBJ-NEXT:   End Address: func + 0x001b11OBJ-NEXT:   Unwind Info Address: .xdata12OBJ-NEXT:     Version: 113OBJ-NEXT:     Flags: 1 UNW_ExceptionHandler14OBJ-NEXT:     Size of prolog: 1815OBJ-NEXT:     Number of Codes: 816OBJ-NEXT:     Frame register: RBX17OBJ-NEXT:     Frame offset: 018OBJ-NEXT:     Unwind Codes:19OBJ-NEXT:       0x12: UOP_SetFPReg20OBJ-NEXT:       0x0f: UOP_PushNonVol RBX21OBJ-NEXT:       0x0e: UOP_SaveXMM128 XMM8 [0x0000]22OBJ-NEXT:       0x09: UOP_SaveNonVol RSI [0x0010]23OBJ-NEXT:       0x04: UOP_AllocSmall 2424OBJ-NEXT:       0x00: UOP_PushMachFrame w/o error code25OBJ:      Function Table:26OBJ-NEXT:   Start Address: func + 0x001227OBJ-NEXT:   End Address: func + 0x001228OBJ-NEXT:   Unwind Info Address: .xdata + 0x001c29OBJ-NEXT:     Version: 130OBJ-NEXT:     Flags: 4 UNW_ChainInfo31OBJ-NEXT:     Size of prolog: 032OBJ-NEXT:     Number of Codes: 033OBJ-NEXT:     No frame pointer used34OBJ:      Function Table:35OBJ-NEXT:   Start Address: smallFunc36OBJ-NEXT:   End Address: smallFunc + 0x000137OBJ-NEXT:   Unwind Info Address: .xdata + 0x002c38OBJ-NEXT:     Version: 139OBJ-NEXT:     Flags: 040OBJ-NEXT:     Size of prolog: 041OBJ-NEXT:     Number of Codes: 042OBJ-NEXT:     No frame pointer used43OBJ:      Function Table:44OBJ-NEXT:   Start Address: allocFunc45OBJ-NEXT:   End Address: allocFunc + 0x001d46OBJ-NEXT:   Unwind Info Address: .xdata + 0x003447OBJ-NEXT:     Version: 148OBJ-NEXT:     Flags: 049OBJ-NEXT:     Size of prolog: 1450OBJ-NEXT:     Number of Codes: 651OBJ-NEXT:     No frame pointer used52OBJ-NEXT:     Unwind Codes:53OBJ-NEXT:       0x0e: UOP_AllocLarge 845412854OBJ-NEXT:       0x07: UOP_AllocLarge 819055OBJ-NEXT:       0x00: UOP_PushMachFrame w/o error code56 57EXE:      Function Table:58EXE-NEXT:   Start Address: 0x100059EXE-NEXT:   End Address: 0x101b60EXE-NEXT:   Unwind Info Address: 0x200061EXE-NEXT:     Version: 162EXE-NEXT:     Flags: 1 UNW_ExceptionHandler63EXE-NEXT:     Size of prolog: 1864EXE-NEXT:     Number of Codes: 865EXE-NEXT:     Frame register: RBX66EXE-NEXT:     Frame offset: 067EXE-NEXT:     Unwind Codes:68EXE-NEXT:       0x12: UOP_SetFPReg69EXE-NEXT:       0x0f: UOP_PushNonVol RBX70EXE-NEXT:       0x0e: UOP_SaveXMM128 XMM8 [0x0000]71EXE-NEXT:       0x09: UOP_SaveNonVol RSI [0x0010]72EXE-NEXT:       0x04: UOP_AllocSmall 2473EXE-NEXT:       0x00: UOP_PushMachFrame w/o error code74 75EXE:      Function Table:76EXE-NEXT:   Start Address: 0x101277EXE-NEXT:   End Address: 0x101278EXE-NEXT:   Unwind Info Address: 0x201c79EXE-NEXT:     Version: 180EXE-NEXT:     Flags: 4 UNW_ChainInfo81EXE-NEXT:     Size of prolog: 082EXE-NEXT:     Number of Codes: 083EXE-NEXT:     No frame pointer used84 85EXE:      Function Table:86EXE-NEXT:   Start Address: 0x101b87EXE-NEXT:   End Address: 0x101c88EXE-NEXT:   Unwind Info Address: 0x202c89EXE-NEXT:     Version: 190EXE-NEXT:     Flags: 091EXE-NEXT:     Size of prolog: 092EXE-NEXT:     Number of Codes: 093EXE-NEXT:     No frame pointer used94 95EXE:      Function Table:96EXE-NEXT:   Start Address: 0x101c97EXE-NEXT:   End Address: 0x103998EXE-NEXT:   Unwind Info Address: 0x203499EXE-NEXT:     Version: 1100EXE-NEXT:     Flags: 0101EXE-NEXT:     Size of prolog: 14102EXE-NEXT:     Number of Codes: 6103EXE-NEXT:     No frame pointer used104EXE-NEXT:     Unwind Codes:105EXE-NEXT:       0x0e: UOP_AllocLarge 8454128106EXE-NEXT:       0x07: UOP_AllocLarge 8190107EXE-NEXT:       0x00: UOP_PushMachFrame w/o error code108