summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSean Fertile <sfertile@ca.ibm.com>2019-05-03 12:57:07 +0000
committerSean Fertile <sfertile@ca.ibm.com>2019-05-03 12:57:07 +0000
commitfd75ee9154d25a7ac4b806a193ef7ad846703c0c (patch)
treee590df34872294b32fb57e1b588f990eb66a42a7 /llvm/test
parente798e3a34600de0698d5bae131e5d153294e8155 (diff)
downloadbcm5719-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.obin0 -> 876 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-time.obin0 -> 3567 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.obin0 -> 3567 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/xcoff-basic.test66
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
new file mode 100644
index 00000000000..e7f63664acd
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-sym-count.o
Binary files differ
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
new file mode 100644
index 00000000000..f814965f4f0
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic-neg-time.o
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.o b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.o
new file mode 100644
index 00000000000..c84056bdb00
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/xcoff-basic.o
Binary files differ
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.
+
OpenPOWER on IntegriCloud