diff test/tools/llvm-objdump/win64-unwind-data.test @ 77:54457678186b LLVM3.6

LLVM 3.6
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Mon, 08 Sep 2014 22:06:00 +0900
parents 95c75e76d11b
children
line wrap: on
line diff
--- a/test/tools/llvm-objdump/win64-unwind-data.test	Thu Dec 12 15:22:36 2013 +0900
+++ b/test/tools/llvm-objdump/win64-unwind-data.test	Mon Sep 08 22:06:00 2014 +0900
@@ -1,52 +1,107 @@
 // This test checks that the unwind data is dumped by llvm-objdump.
-// RUN: llvm-objdump -u %p/Inputs/win64-unwind.exe.coff-x86_64 | FileCheck %s
+// RUN: llvm-objdump -u %p/Inputs/win64-unwind.exe.coff-x86_64.obj \
+// RUN:   | FileCheck -check-prefix=OBJ %s
+// RUN: llvm-objdump -u %p/Inputs/win64-unwind.exe.coff-x86_64.exe \
+// RUN:   | FileCheck -check-prefix=EXE %s
 
-CHECK:      Unwind info:
-CHECK:      Function Table:
-CHECK-NEXT: Start Address: func
-CHECK-NEXT: End Address: func + 0x001b
-CHECK-NEXT: Unwind Info Address: .xdata
-CHECK-NEXT: Version: 1
-CHECK-NEXT: Flags: 1 UNW_ExceptionHandler
-CHECK-NEXT: Size of prolog: 18
-CHECK-NEXT: Number of Codes: 8
-CHECK-NEXT: Frame register: RBX
-CHECK-NEXT: Frame offset: 0
-CHECK-NEXT: Unwind Codes:
-CHECK-NEXT: 0x12: UOP_SetFPReg
-CHECK-NEXT: 0x0f: UOP_PushNonVol RBX
-CHECK-NEXT: 0x0e: UOP_SaveXMM128 XMM8 [0x0000]
-CHECK-NEXT: 0x09: UOP_SaveNonVol RSI [0x0010]
-CHECK-NEXT: 0x04: UOP_AllocSmall 24
-CHECK-NEXT: 0x00: UOP_PushMachFrame w/o error code
-CHECK:      Function Table:
-CHECK-NEXT: Start Address: func + 0x0012
-CHECK-NEXT: End Address: func + 0x0012
-CHECK-NEXT: Unwind Info Address: .xdata + 0x001c
-CHECK-NEXT: Version: 1
-CHECK-NEXT: Flags: 4 UNW_ChainInfo
-CHECK-NEXT: Size of prolog: 0
-CHECK-NEXT: Number of Codes: 0
-CHECK-NEXT: No frame pointer used
-CHECK:      Function Table:
-CHECK-NEXT: Start Address: smallFunc
-CHECK-NEXT: End Address: smallFunc + 0x0001
-CHECK-NEXT: Unwind Info Address: .xdata + 0x002c
-CHECK-NEXT: Version: 1
-CHECK-NEXT: Flags: 0
-CHECK-NEXT: Size of prolog: 0
-CHECK-NEXT: Number of Codes: 0
-CHECK-NEXT: No frame pointer used
-CHECK:      Function Table:
-CHECK-NEXT: Start Address: allocFunc
-CHECK-NEXT: End Address: allocFunc + 0x001d
-CHECK-NEXT: Unwind Info Address: .xdata + 0x0034
-CHECK-NEXT: Version: 1
-CHECK-NEXT: Flags: 0
-CHECK-NEXT: Size of prolog: 14
-CHECK-NEXT: Number of Codes: 6
-CHECK-NEXT: No frame pointer used
-CHECK-NEXT: Unwind Codes:
-CHECK-NEXT: 0x0e: UOP_AllocLarge 8454128
-CHECK-NEXT: 0x07: UOP_AllocLarge 8190
-CHECK-NEXT: 0x00: UOP_PushMachFrame w/o error code
+OBJ:      Unwind info:
+OBJ:      Function Table:
+OBJ-NEXT:   Start Address: func
+OBJ-NEXT:   End Address: func + 0x001b
+OBJ-NEXT:   Unwind Info Address: .xdata
+OBJ-NEXT:     Version: 1
+OBJ-NEXT:     Flags: 1 UNW_ExceptionHandler
+OBJ-NEXT:     Size of prolog: 18
+OBJ-NEXT:     Number of Codes: 8
+OBJ-NEXT:     Frame register: RBX
+OBJ-NEXT:     Frame offset: 0
+OBJ-NEXT:     Unwind Codes:
+OBJ-NEXT:       0x12: UOP_SetFPReg
+OBJ-NEXT:       0x0f: UOP_PushNonVol RBX
+OBJ-NEXT:       0x0e: UOP_SaveXMM128 XMM8 [0x0000]
+OBJ-NEXT:       0x09: UOP_SaveNonVol RSI [0x0010]
+OBJ-NEXT:       0x04: UOP_AllocSmall 24
+OBJ-NEXT:       0x00: UOP_PushMachFrame w/o error code
+OBJ:      Function Table:
+OBJ-NEXT:   Start Address: func + 0x0012
+OBJ-NEXT:   End Address: func + 0x0012
+OBJ-NEXT:   Unwind Info Address: .xdata + 0x001c
+OBJ-NEXT:     Version: 1
+OBJ-NEXT:     Flags: 4 UNW_ChainInfo
+OBJ-NEXT:     Size of prolog: 0
+OBJ-NEXT:     Number of Codes: 0
+OBJ-NEXT:     No frame pointer used
+OBJ:      Function Table:
+OBJ-NEXT:   Start Address: smallFunc
+OBJ-NEXT:   End Address: smallFunc + 0x0001
+OBJ-NEXT:   Unwind Info Address: .xdata + 0x002c
+OBJ-NEXT:     Version: 1
+OBJ-NEXT:     Flags: 0
+OBJ-NEXT:     Size of prolog: 0
+OBJ-NEXT:     Number of Codes: 0
+OBJ-NEXT:     No frame pointer used
+OBJ:      Function Table:
+OBJ-NEXT:   Start Address: allocFunc
+OBJ-NEXT:   End Address: allocFunc + 0x001d
+OBJ-NEXT:   Unwind Info Address: .xdata + 0x0034
+OBJ-NEXT:     Version: 1
+OBJ-NEXT:     Flags: 0
+OBJ-NEXT:     Size of prolog: 14
+OBJ-NEXT:     Number of Codes: 6
+OBJ-NEXT:     No frame pointer used
+OBJ-NEXT:     Unwind Codes:
+OBJ-NEXT:       0x0e: UOP_AllocLarge 8454128
+OBJ-NEXT:       0x07: UOP_AllocLarge 8190
+OBJ-NEXT:       0x00: UOP_PushMachFrame w/o error code
+
+EXE:      Function Table:
+EXE-NEXT:   Start Address: 0x1000
+EXE-NEXT:   End Address: 0x101b
+EXE-NEXT:   Unwind Info Address: 0x2000
+EXE-NEXT:     Version: 1
+EXE-NEXT:     Flags: 1 UNW_ExceptionHandler
+EXE-NEXT:     Size of prolog: 18
+EXE-NEXT:     Number of Codes: 8
+EXE-NEXT:     Frame register: RBX
+EXE-NEXT:     Frame offset: 0
+EXE-NEXT:     Unwind Codes:
+EXE-NEXT:       0x12: UOP_SetFPReg
+EXE-NEXT:       0x0f: UOP_PushNonVol RBX
+EXE-NEXT:       0x0e: UOP_SaveXMM128 XMM8 [0x0000]
+EXE-NEXT:       0x09: UOP_SaveNonVol RSI [0x0010]
+EXE-NEXT:       0x04: UOP_AllocSmall 24
+EXE-NEXT:       0x00: UOP_PushMachFrame w/o error code
+
+EXE:      Function Table:
+EXE-NEXT:   Start Address: 0x1012
+EXE-NEXT:   End Address: 0x1012
+EXE-NEXT:   Unwind Info Address: 0x201c
+EXE-NEXT:     Version: 1
+EXE-NEXT:     Flags: 4 UNW_ChainInfo
+EXE-NEXT:     Size of prolog: 0
+EXE-NEXT:     Number of Codes: 0
+EXE-NEXT:     No frame pointer used
+
+EXE:      Function Table:
+EXE-NEXT:   Start Address: 0x101b
+EXE-NEXT:   End Address: 0x101c
+EXE-NEXT:   Unwind Info Address: 0x202c
+EXE-NEXT:     Version: 1
+EXE-NEXT:     Flags: 0
+EXE-NEXT:     Size of prolog: 0
+EXE-NEXT:     Number of Codes: 0
+EXE-NEXT:     No frame pointer used
+
+EXE:      Function Table:
+EXE-NEXT:   Start Address: 0x101c
+EXE-NEXT:   End Address: 0x1039
+EXE-NEXT:   Unwind Info Address: 0x2034
+EXE-NEXT:     Version: 1
+EXE-NEXT:     Flags: 0
+EXE-NEXT:     Size of prolog: 14
+EXE-NEXT:     Number of Codes: 6
+EXE-NEXT:     No frame pointer used
+EXE-NEXT:     Unwind Codes:
+EXE-NEXT:       0x0e: UOP_AllocLarge 8454128
+EXE-NEXT:       0x07: UOP_AllocLarge 8190
+EXE-NEXT:       0x00: UOP_PushMachFrame w/o error code