aboutsummaryrefslogtreecommitdiffstats
path: root/test/tools/llvm-readobj
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-05-29 02:49:00 -0700
committerStephen Hines <srhines@google.com>2014-05-29 02:49:00 -0700
commitdce4a407a24b04eebc6a376f8e62b41aaa7b071f (patch)
treedcebc53f2b182f145a2e659393bf9a0472cedf23 /test/tools/llvm-readobj
parent220b921aed042f9e520c26cffd8282a94c66c3d5 (diff)
downloadexternal_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.zip
external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.tar.gz
external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.tar.bz2
Update LLVM for 3.5 rebase (r209712).
Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
Diffstat (limited to 'test/tools/llvm-readobj')
-rwxr-xr-xtest/tools/llvm-readobj/Inputs/dynamic-table-exe.x86bin0 -> 6555 bytes
-rw-r--r--test/tools/llvm-readobj/Inputs/file-aux-record.yaml21
-rw-r--r--test/tools/llvm-readobj/Inputs/file-multiple-aux-records.yaml21
-rw-r--r--test/tools/llvm-readobj/coff-file-sections-reading.test18
-rw-r--r--test/tools/llvm-readobj/coff-non-null-terminated-file.test20
-rw-r--r--test/tools/llvm-readobj/dynamic.test45
6 files changed, 123 insertions, 2 deletions
diff --git a/test/tools/llvm-readobj/Inputs/dynamic-table-exe.x86 b/test/tools/llvm-readobj/Inputs/dynamic-table-exe.x86
new file mode 100755
index 0000000..4edbe58
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/dynamic-table-exe.x86
Binary files differ
diff --git a/test/tools/llvm-readobj/Inputs/file-aux-record.yaml b/test/tools/llvm-readobj/Inputs/file-aux-record.yaml
new file mode 100644
index 0000000..d19afaf
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/file-aux-record.yaml
@@ -0,0 +1,21 @@
+header: !Header
+ Machine: IMAGE_FILE_MACHINE_I386 # (0x14c)
+ Characteristics: [ IMAGE_FILE_DEBUG_STRIPPED ]
+sections:
+symbols:
+ - !Symbol
+ Name: .file
+ Value: 0
+ SectionNumber: 65534
+ SimpleType: IMAGE_SYM_TYPE_NULL
+ ComplexType: IMAGE_SYM_DTYPE_NULL
+ StorageClass: IMAGE_SYM_CLASS_FILE
+ File: eighteen-chars.obj
+ - !Symbol
+ Name: '@comp.id'
+ Value: 13485607
+ SectionNumber: 65535
+ SimpleType: IMAGE_SYM_TYPE_NULL
+ ComplexType: IMAGE_SYM_DTYPE_NULL
+ StorageClass: IMAGE_SYM_CLASS_STATIC
+
diff --git a/test/tools/llvm-readobj/Inputs/file-multiple-aux-records.yaml b/test/tools/llvm-readobj/Inputs/file-multiple-aux-records.yaml
new file mode 100644
index 0000000..8d8f684
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/file-multiple-aux-records.yaml
@@ -0,0 +1,21 @@
+header: !Header
+ Machine: IMAGE_FILE_MACHINE_I386 # (0x14c)
+ Characteristics: [ IMAGE_FILE_DEBUG_STRIPPED ]
+sections:
+symbols:
+ - !Symbol
+ Name: .file
+ Value: 0
+ SectionNumber: 65534
+ SimpleType: IMAGE_SYM_TYPE_NULL
+ ComplexType: IMAGE_SYM_DTYPE_NULL
+ StorageClass: IMAGE_SYM_CLASS_FILE
+ File: first-section-has-eighteen-characters.asm
+ - !Symbol
+ Name: '@comp.id'
+ Value: 13485607
+ SectionNumber: 65535
+ SimpleType: IMAGE_SYM_TYPE_NULL
+ ComplexType: IMAGE_SYM_DTYPE_NULL
+ StorageClass: IMAGE_SYM_CLASS_STATIC
+
diff --git a/test/tools/llvm-readobj/coff-file-sections-reading.test b/test/tools/llvm-readobj/coff-file-sections-reading.test
new file mode 100644
index 0000000..5c44c16
--- /dev/null
+++ b/test/tools/llvm-readobj/coff-file-sections-reading.test
@@ -0,0 +1,18 @@
+RUN: yaml2obj %p/Inputs/file-multiple-aux-records.yaml | llvm-readobj -t - | FileCheck %s
+
+CHECK: Symbols [
+CHECK: Symbol {
+CHECK: Name: .file
+CHECK: Value: 0
+CHECK: Section: (65534)
+CHECK: BaseType: Null (0x0)
+CHECK: ComplexType: Null (0x0)
+CHECK: StorageClass: File (0x67)
+CHECK: AuxSymbolCount: 3
+CHECK: AuxFileRecord {
+CHECK: FileName: first-section-has-eighteen-characters.asm
+CHECK: }
+CHECK-NOT: AuxFileRecord {
+CHECK: }
+CHECK: ]
+
diff --git a/test/tools/llvm-readobj/coff-non-null-terminated-file.test b/test/tools/llvm-readobj/coff-non-null-terminated-file.test
new file mode 100644
index 0000000..8bd88f3
--- /dev/null
+++ b/test/tools/llvm-readobj/coff-non-null-terminated-file.test
@@ -0,0 +1,20 @@
+RUN: yaml2obj %p/Inputs/file-aux-record.yaml | llvm-readobj -t - | FileCheck %s
+
+CHECK: Symbols [
+CHECK: Symbol {
+CHECK: Name: .file
+CHECK: Value: 0
+CHECK: StorageClass: File
+CHECK: AuxSymbolCount: 1
+CHECK: AuxFileRecord {
+CHECK: FileName: eighteen-chars.obj{{$}}
+CHECK: }
+CHECK: }
+CHECK: Symbol {
+CHECK: Name: @comp.id
+CHECK: Value: 13485607
+CHECK: StorageClass: Static
+CHECK: AuxSymbolCount: 0
+CHECK: }
+CHECK: ]
+
diff --git a/test/tools/llvm-readobj/dynamic.test b/test/tools/llvm-readobj/dynamic.test
index 6a5fe95..08f29fc 100644
--- a/test/tools/llvm-readobj/dynamic.test
+++ b/test/tools/llvm-readobj/dynamic.test
@@ -21,7 +21,7 @@ ELF-MIPS: 0x00000011 REL 0x518
ELF-MIPS: 0x00000012 RELSZ 16 (bytes)
ELF-MIPS: 0x00000013 RELENT 8 (bytes)
ELF-MIPS: 0x70000001 MIPS_RLD_VERSION 1
-ELF-MIPS: 0x70000005 MIPS_FLAGS 0x2
+ELF-MIPS: 0x70000005 MIPS_FLAGS NOTPOT
ELF-MIPS: 0x70000006 MIPS_BASE_ADDRESS 0x0
ELF-MIPS: 0x7000000A MIPS_LOCAL_GOTNO 10
ELF-MIPS: 0x70000011 MIPS_SYMTABNO 19
@@ -55,7 +55,7 @@ ELF-MIPS-EXE: 0x70000016 MIPS_RLD_MAP 0x410880
ELF-MIPS-EXE: 0x00000015 DEBUG 0x0
ELF-MIPS-EXE: 0x00000003 PLTGOT 0x410890
ELF-MIPS-EXE: 0x70000001 MIPS_RLD_VERSION 1
-ELF-MIPS-EXE: 0x70000005 MIPS_FLAGS 0x2
+ELF-MIPS-EXE: 0x70000005 MIPS_FLAGS NOTPOT
ELF-MIPS-EXE: 0x70000006 MIPS_BASE_ADDRESS 0x400000
ELF-MIPS-EXE: 0x7000000A MIPS_LOCAL_GOTNO 5
ELF-MIPS-EXE: 0x70000011 MIPS_SYMTABNO 8
@@ -70,3 +70,44 @@ ELF-MIPS-EXE: 0x6FFFFFFF VERNEEDNUM 1
ELF-MIPS-EXE: 0x6FFFFFF0 VERSYM 0x4003D8
ELF-MIPS-EXE: 0x00000000 NULL 0x0
ELF-MIPS-EXE: ]
+
+RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-exe.x86 \
+RUN: | FileCheck %s -check-prefix ELF-X86-EXE
+
+ELF-X86-EXE: Format: ELF32-i386
+ELF-X86-EXE: Arch: i386
+ELF-X86-EXE: AddressSize: 32bit
+ELF-X86-EXE: LoadName:
+ELF-X86-EXE: DynamicSection [ (30 entries)
+ELF-X86-EXE: Tag Type Name/Value
+ELF-X86-EXE: 0x00000001 NEEDED SharedLibrary (libstdc++.so.6)
+ELF-X86-EXE: 0x00000001 NEEDED SharedLibrary (libgcc_s.so.1)
+ELF-X86-EXE: 0x00000001 NEEDED SharedLibrary (libc.so.6)
+ELF-X86-EXE: 0x0000000C INIT 0x62C
+ELF-X86-EXE: 0x0000000D FINI 0x920
+ELF-X86-EXE: 0x00000019 INIT_ARRAY 0x19FC
+ELF-X86-EXE: 0x0000001B INIT_ARRAYSZ 4 (bytes)
+ELF-X86-EXE: 0x0000001A FINI_ARRAY 0x1A00
+ELF-X86-EXE: 0x0000001C FINI_ARRAYSZ 4 (bytes)
+ELF-X86-EXE: 0x00000004 HASH 0x18C
+ELF-X86-EXE: 0x6FFFFEF5 GNU_HASH 0x1E4
+ELF-X86-EXE: 0x00000005 STRTAB 0x328
+ELF-X86-EXE: 0x00000006 SYMTAB 0x218
+ELF-X86-EXE: 0x0000000A STRSZ 408 (bytes)
+ELF-X86-EXE: 0x0000000B SYMENT 16 (bytes)
+ELF-X86-EXE: 0x00000015 DEBUG 0x0
+ELF-X86-EXE: 0x00000003 PLTGOT 0x1B30
+ELF-X86-EXE: 0x00000002 PLTRELSZ 64 (bytes)
+ELF-X86-EXE: 0x00000014 PLTREL REL
+ELF-X86-EXE: 0x00000017 JMPREL 0x5EC
+ELF-X86-EXE: 0x00000011 REL 0x564
+ELF-X86-EXE: 0x00000012 RELSZ 136 (bytes)
+ELF-X86-EXE: 0x00000013 RELENT 8 (bytes)
+ELF-X86-EXE: 0x00000016 TEXTREL
+ELF-X86-EXE: 0x0000001E FLAGS TEXTREL
+ELF-X86-EXE: 0x6FFFFFFE VERNEED 0x4E4
+ELF-X86-EXE: 0x6FFFFFFF VERNEEDNUM 3
+ELF-X86-EXE: 0x6FFFFFF0 VERSYM 0x4C0
+ELF-X86-EXE: 0x6FFFFFFA RELCOUNT 6
+ELF-X86-EXE: 0x00000000 NULL 0x0
+ELF-X86-EXE: ]