diff options
author | Rui Ueyama <ruiu@google.com> | 2013-09-27 00:07:01 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2013-09-27 00:07:01 +0000 |
commit | 5b1adbaad9a18084e4da2cac4216b828c179d40f (patch) | |
tree | 93482a3ba0934585195688873c42b672df810ca0 /llvm/test/tools/llvm-objdump/Inputs | |
parent | 6ac40036f152242e1bfae177614c090e1995d824 (diff) | |
download | bcm5719-llvm-5b1adbaad9a18084e4da2cac4216b828c179d40f.tar.gz bcm5719-llvm-5b1adbaad9a18084e4da2cac4216b828c179d40f.zip |
llvm-objdump: Dump COFF import table if -private-headers option is given.
This is a patch to add capability to llvm-objdump to dump COFF Import Table
entries, so that we can write tests for LLD checking Import Table contents.
llvm-objdump did not print anything but just file name if the format is COFF
and -private-headers option is given. This is a patch adds capability for
dumping DLL Import Table, which is specific to the COFF format.
In this patch I defined a new iterator to iterate over import table entries.
Also added a few functions to COFFObjectFile.cpp to access fields of the entry.
Differential Revision: http://llvm-reviews.chandlerc.com/D1719
llvm-svn: 191472
Diffstat (limited to 'llvm/test/tools/llvm-objdump/Inputs')
-rw-r--r-- | llvm/test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 | bin | 0 -> 7680 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 | bin | 0 -> 449 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 | bin | 0 -> 698 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm | 53 |
4 files changed, 53 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 b/llvm/test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 Binary files differnew file mode 100644 index 00000000000..68c9d3db0f8 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/Inputs/nop.exe.coff-i386 diff --git a/llvm/test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 b/llvm/test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 Binary files differnew file mode 100644 index 00000000000..fdc48743a88 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/Inputs/trivial.obj.elf-i386 diff --git a/llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 b/llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 Binary files differnew file mode 100644 index 00000000000..63460e7826e --- /dev/null +++ b/llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64 diff --git a/llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm b/llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm new file mode 100644 index 00000000000..4d47fa4515a --- /dev/null +++ b/llvm/test/tools/llvm-objdump/Inputs/win64-unwind.exe.coff-x86_64.asm @@ -0,0 +1,53 @@ + .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 |