From 4715a11dcfe79de2a7a8b0b633d6ca272eea0bc3 Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Fri, 27 Sep 2013 01:29:36 +0000 Subject: Revert "llvm-objdump: Dump COFF import table if -private-headers option is given." This reverts commit r191472 because it's failing on BE machine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191480 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 | Bin 7680 -> 0 bytes .../tools/llvm-objdump/Inputs/trivial.obj.elf-i386 | Bin 449 -> 0 bytes .../Inputs/win64-unwind.exe.coff-x86_64 | Bin 698 -> 0 bytes .../Inputs/win64-unwind.exe.coff-x86_64.asm | 53 ----------- test/tools/llvm-objdump/coff-private-headers.test | 9 -- test/tools/llvm-objdump/disassembly-show-raw.s | 15 +++ test/tools/llvm-objdump/disassembly-show-raw.test | 14 --- test/tools/llvm-objdump/lit.local.cfg | 4 + test/tools/llvm-objdump/win64-unwind-data.s | 106 +++++++++++++++++++++ test/tools/llvm-objdump/win64-unwind-data.test | 52 ---------- 10 files changed, 125 insertions(+), 128 deletions(-) delete mode 100644 test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 delete mode 100644 test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 delete mode 100644 test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 delete mode 100644 test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm delete mode 100644 test/tools/llvm-objdump/coff-private-headers.test create mode 100644 test/tools/llvm-objdump/disassembly-show-raw.s delete mode 100644 test/tools/llvm-objdump/disassembly-show-raw.test create mode 100644 test/tools/llvm-objdump/lit.local.cfg create mode 100644 test/tools/llvm-objdump/win64-unwind-data.s delete mode 100644 test/tools/llvm-objdump/win64-unwind-data.test (limited to 'test/tools') diff --git a/test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 b/test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 deleted file mode 100644 index 68c9d3d..0000000 Binary files a/test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 and /dev/null differ diff --git a/test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 b/test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 deleted file mode 100644 index fdc4874..0000000 Binary files a/test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 and /dev/null differ diff --git a/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 b/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 deleted file mode 100644 index 63460e7..0000000 Binary files a/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 and /dev/null differ diff --git a/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm b/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm deleted file mode 100644 index 4d47fa4..0000000 --- a/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm +++ /dev/null @@ -1,53 +0,0 @@ - .text - .globl func - .def func; .scl 2; .type 32; .endef - .seh_proc func -func: - .seh_pushframe @code - subq $24, %rsp - .seh_stackalloc 24 - movq %rsi, 16(%rsp) - .seh_savereg %rsi, 16 - movups %xmm8, (%rsp) - .seh_savexmm %xmm8, 0 - pushq %rbx - .seh_pushreg 3 - mov %rsp, %rbx - .seh_setframe 3, 0 - .seh_endprologue - .seh_handler __C_specific_handler, @except - .seh_handlerdata - .long 0 - .text - .seh_startchained - .seh_endprologue - .seh_endchained - lea (%rbx), %rsp - pop %rbx - addq $24, %rsp - ret - .seh_endproc - -// Test emission of small functions. - .globl smallFunc - .def smallFunc; .scl 2; .type 32; .endef - .seh_proc smallFunc -smallFunc: - ret - .seh_endproc - -// Function with big stack allocation. - .globl allocFunc - .def allocFunc; .scl 2; .type 32; .endef - .seh_proc allocFunc -allocFunc: - .seh_pushframe @code - subq $65520, %rsp - .seh_stackalloc 65520 - sub $8454128, %rsp - .seh_stackalloc 8454128 - .seh_endprologue - add $8454128, %rsp - addq $65520, %rsp - ret - .seh_endproc diff --git a/test/tools/llvm-objdump/coff-private-headers.test b/test/tools/llvm-objdump/coff-private-headers.test deleted file mode 100644 index d36c148..0000000 --- a/test/tools/llvm-objdump/coff-private-headers.test +++ /dev/null @@ -1,9 +0,0 @@ -// RUN: llvm-objdump -p %p/Inputs/nop.exe.coff-i386 | FileCheck %s - -CHECK: The Import Tables: -CHECK-NEXT: lookup 00005028 time 00000000 fwd 00000000 name 00005096 addr 00005058 -CHECK: DLL Name: KERNEL32.dll -CHECK-NEXT: Hint/Ord Name -CHECK-NEXT: 365 ExitProcess - - diff --git a/test/tools/llvm-objdump/disassembly-show-raw.s b/test/tools/llvm-objdump/disassembly-show-raw.s new file mode 100644 index 0000000..32fcad4 --- /dev/null +++ b/test/tools/llvm-objdump/disassembly-show-raw.s @@ -0,0 +1,15 @@ +// RUN: llvm-mc -filetype=obj -arch=x86 %s | llvm-objdump -d - \ +// RUN: | FileCheck %s -check-prefix=WITHRAW +// RUN: llvm-mc -filetype=obj -arch=x86 %s | llvm-objdump -d -no-show-raw-insn - \ +// RUN: | FileCheck %s -check-prefix=NORAW + +// Expect to find the raw incoding when run with raw output (default), but not +// when run explicitly with -no-show-raw-insn + +movl 0, %eax +// WITHRAW: a1 00 00 00 00 movl + +// NORAW: movl +// NORAW-NOT: a1 00 + + diff --git a/test/tools/llvm-objdump/disassembly-show-raw.test b/test/tools/llvm-objdump/disassembly-show-raw.test deleted file mode 100644 index e9956a5..0000000 --- a/test/tools/llvm-objdump/disassembly-show-raw.test +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: llvm-objdump -d %p/Inputs/trivial.obj.elf-i386 \ -// RUN: | FileCheck %s -check-prefix=WITHRAW -// RUN: llvm-objdump -d -no-show-raw-insn %p/Inputs/trivial.obj.elf-i386 \ -// RUN: | FileCheck %s -check-prefix=NORAW - -// Expect to find the raw incoding when run with raw output (default), but not -// when run explicitly with -no-show-raw-insn - -WITHRAW: a1 00 00 00 00 movl - -NORAW: movl -NORAW-NOT: a1 00 - - diff --git a/test/tools/llvm-objdump/lit.local.cfg b/test/tools/llvm-objdump/lit.local.cfg new file mode 100644 index 0000000..ba763cf --- /dev/null +++ b/test/tools/llvm-objdump/lit.local.cfg @@ -0,0 +1,4 @@ +targets = set(config.root.targets_to_build.split()) +if not 'X86' in targets: + config.unsupported = True + diff --git a/test/tools/llvm-objdump/win64-unwind-data.s b/test/tools/llvm-objdump/win64-unwind-data.s new file mode 100644 index 0000000..f8463fb --- /dev/null +++ b/test/tools/llvm-objdump/win64-unwind-data.s @@ -0,0 +1,106 @@ +// This test checks that the unwind data is dumped by llvm-objdump. +// RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-objdump -u - | FileCheck %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 + + .text + .globl func + .def func; .scl 2; .type 32; .endef + .seh_proc func +func: + .seh_pushframe @code + subq $24, %rsp + .seh_stackalloc 24 + movq %rsi, 16(%rsp) + .seh_savereg %rsi, 16 + movups %xmm8, (%rsp) + .seh_savexmm %xmm8, 0 + pushq %rbx + .seh_pushreg 3 + mov %rsp, %rbx + .seh_setframe 3, 0 + .seh_endprologue + .seh_handler __C_specific_handler, @except + .seh_handlerdata + .long 0 + .text + .seh_startchained + .seh_endprologue + .seh_endchained + lea (%rbx), %rsp + pop %rbx + addq $24, %rsp + ret + .seh_endproc + +// Test emission of small functions. + .globl smallFunc + .def smallFunc; .scl 2; .type 32; .endef + .seh_proc smallFunc +smallFunc: + ret + .seh_endproc + +// Function with big stack allocation. + .globl allocFunc + .def allocFunc; .scl 2; .type 32; .endef + .seh_proc allocFunc +allocFunc: + .seh_pushframe @code + subq $65520, %rsp + .seh_stackalloc 65520 + sub $8454128, %rsp + .seh_stackalloc 8454128 + .seh_endprologue + add $8454128, %rsp + addq $65520, %rsp + ret + .seh_endproc diff --git a/test/tools/llvm-objdump/win64-unwind-data.test b/test/tools/llvm-objdump/win64-unwind-data.test deleted file mode 100644 index a723ffe..0000000 --- a/test/tools/llvm-objdump/win64-unwind-data.test +++ /dev/null @@ -1,52 +0,0 @@ -// 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 - -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 -- cgit v1.1