diff options
| author | Sean Fertile <sfertile@ca.ibm.com> | 2019-05-03 12:57:07 +0000 |
|---|---|---|
| committer | Sean Fertile <sfertile@ca.ibm.com> | 2019-05-03 12:57:07 +0000 |
| commit | fd75ee9154d25a7ac4b806a193ef7ad846703c0c (patch) | |
| tree | e590df34872294b32fb57e1b588f990eb66a42a7 /llvm/test | |
| parent | e798e3a34600de0698d5bae131e5d153294e8155 (diff) | |
| download | bcm5719-llvm-fd75ee9154d25a7ac4b806a193ef7ad846703c0c.tar.gz bcm5719-llvm-fd75ee9154d25a7ac4b806a193ef7ad846703c0c.zip | |
[Object][XCOFF] Add an XCOFF dumper for llvm-readobj.
Patch adds support for dumping of file headers with llvm-readobj. XCOFF
object files are added to test dumping a well formed file, and dumping
both negative timestamps and negative symbol counts, both of which are
allowed in the XCOFF definition.
Differential Revision: https://reviews.llvm.org/D60878
llvm-svn: 359878
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-sym-count.o | bin | 0 -> 876 bytes | |||
| -rw-r--r-- | llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-time.o | bin | 0 -> 3567 bytes | |||
| -rw-r--r-- | llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.o | bin | 0 -> 3567 bytes | |||
| -rw-r--r-- | llvm/test/tools/llvm-readobj/xcoff-basic.test | 66 |
4 files changed, 66 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-sym-count.o b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-sym-count.o Binary files differnew file mode 100644 index 00000000000..e7f63664acd --- /dev/null +++ b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-sym-count.o diff --git a/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-time.o b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-time.o Binary files differnew file mode 100644 index 00000000000..f814965f4f0 --- /dev/null +++ b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-time.o diff --git a/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.o b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.o Binary files differnew file mode 100644 index 00000000000..c84056bdb00 --- /dev/null +++ b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.o diff --git a/llvm/test/tools/llvm-readobj/xcoff-basic.test b/llvm/test/tools/llvm-readobj/xcoff-basic.test new file mode 100644 index 00000000000..c361085f599 --- /dev/null +++ b/llvm/test/tools/llvm-readobj/xcoff-basic.test @@ -0,0 +1,66 @@ +# RUN: llvm-readobj --file-header %p/Inputs/xcoff-basic.o | \ +# RUN: FileCheck --check-prefix=FILEHEADER %s + +# RUN: llvm-readobj --file-header %p/Inputs/xcoff-basic-neg-time.o | \ +# RUN: FileCheck --check-prefix=NEGTIME %s + +# RUN: llvm-readobj --file-header %p/Inputs/xcoff-basic-neg-sym-count.o | \ +# RUN: FileCheck --check-prefix=NEGSYMCOUNT %s + +# FILEHEADER: File: {{.*}}xcoff-basic.o +# FILEHEADER-NEXT: Format: aixcoff-rs6000 +# FILEHEADER-NEXT: Arch: powerpc +# FILEHEADER-NEXT: AddressSize: 32bit +# FILEHEADER-NEXT: FileHeader { +# FILEHEADER-NEXT: Magic: 0x1DF +# FILEHEADER-NEXT: NumberOfSections: 6 +# FILEHEADER-NEXT: TimeStamp: 2019-03-12T14:04:43Z (0x5C87BC7B) +# FILEHEADER-NEXT: SymbolTableOffset: 0x52E +# FILEHEADER-NEXT: SymbolTableEntries: 120 +# FILEHEADER-NEXT: OptionalHeaderSize: 0x1C +# FILEHEADER-NEXT: Flags: 0x0 +# FILEHEADER-NEXT: } + +# NEGTIME: File: {{.*}}xcoff-basic-neg-time.o +# NEGTIME-NEXT: Format: aixcoff-rs6000 +# NEGTIME-NEXT: Arch: powerpc +# NEGTIME-NEXT: AddressSize: 32bit +# NEGTIME-NEXT: FileHeader { +# NEGTIME-NEXT: Magic: 0x1DF +# NEGTIME-NEXT: NumberOfSections: 6 +# NEGTIME-NEXT: TimeStamp: Reserved Value (0xDC87BC7B) +# NEGTIME-NEXT: SymbolTableOffset: 0x52E +# NEGTIME-NEXT: SymbolTableEntries: 120 +# NEGTIME-NEXT: OptionalHeaderSize: 0x1C +# NEGTIME-NEXT: Flags: 0x0 +# NEGTIME-NEXT: } + +# NEGSYMCOUNT: File: {{.*}}xcoff-basic-neg-sym-count.o +# NEGSYMCOUNT-NEXT: Format: aixcoff-rs6000 +# NEGSYMCOUNT-NEXT: Arch: powerpc +# NEGSYMCOUNT-NEXT: AddressSize: 32bit +# NEGSYMCOUNT-NEXT: FileHeader { +# NEGSYMCOUNT-NEXT: Magic: 0x1DF +# NEGSYMCOUNT-NEXT: NumberOfSections: 5 +# NEGSYMCOUNT-NEXT: TimeStamp: 2019-03-12T14:04:43Z (0x5C87BC7B) +# NEGSYMCOUNT-NEXT: SymbolTableOffset: 0x0 +# NEGSYMCOUNT-NEXT: SymbolTableEntries: Reserved Value (0x80000000) +# NEGSYMCOUNT-NEXT: OptionalHeaderSize: 0x1C +# NEGSYMCOUNT-NEXT: Flags: 0xD +# NEGSYMCOUNT-NEXT: } + +# xcoff-basic.o was compiled with `xlc -qtls -O3 -g -c xcoff-basic.c` +# from the following source: +# int a = 55; +# int b; +# __thread int j = 55; +# __thread double d; +# int A() { return a; } +# int B() { return b; } +# int J() { return j; } +# double D() { return d; } +# +# xcoff-basic-neg-time.o was manually edited to include a negative time stamp. +# xcoff-basic-neg-sym-count.o was stripped using the 'strip' utility, and +# manually edited to have a negative symbol table entry count. + |

