diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-02-16 14:17:48 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-02-16 14:17:48 +0000 |
commit | 6009db696b08e0b3d10a3a00705296e375a24330 (patch) | |
tree | b4328fad16fcba4c9b2b0597e8bb7b52801b3546 /llvm/test | |
parent | 867a4e7b8b7593c4e03b824a994e33a51b075af3 (diff) | |
download | bcm5719-llvm-6009db696b08e0b3d10a3a00705296e375a24330.tar.gz bcm5719-llvm-6009db696b08e0b3d10a3a00705296e375a24330.zip |
This reverts commit r260488 and r260489.
Original messages:
Revert "[readobj] Handle ELF files with no section table or with no program headers."
Revert "[readobj] Dump DT_JMPREL relocations when outputting dynamic relocations."
r260489 depends on r260488 and among other issues r260488 deleted error
handling code.
llvm-svn: 260962
Diffstat (limited to 'llvm/test')
-rwxr-xr-x | llvm/test/Object/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 | bin | 0 -> 1720 bytes | |||
-rw-r--r-- | llvm/test/Object/corrupt.test | 11 | ||||
-rw-r--r-- | llvm/test/Object/invalid.test | 4 | ||||
-rw-r--r-- | llvm/test/Object/relocation-executable.test | 12 | ||||
-rw-r--r-- | llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-phdrs.x86 | bin | 6555 -> 0 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-shdrs.x86 | bin | 6555 -> 0 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-readobj/dynamic-symbols.test | 223 |
7 files changed, 10 insertions, 240 deletions
diff --git a/llvm/test/Object/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 b/llvm/test/Object/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 Binary files differnew file mode 100755 index 00000000000..58d995933ec --- /dev/null +++ b/llvm/test/Object/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 diff --git a/llvm/test/Object/corrupt.test b/llvm/test/Object/corrupt.test index 005f86fb744..0d9aad378f8 100644 --- a/llvm/test/Object/corrupt.test +++ b/llvm/test/Object/corrupt.test @@ -38,17 +38,24 @@ RUN: FileCheck --check-prefix=PHENTSIZE %s PHENTSIZE: Invalid program header size +RUN: not llvm-readobj -dynamic-table \ +RUN: %p/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 2>&1 | \ +RUN: FileCheck --check-prefix=VIRTADDR %s + +VIRTADDR: Virtual address is not in any segment + + RUN: not llvm-readobj -dyn-relocations \ RUN: %p/Inputs/corrupt-invalid-relocation-size.elf.x86-64 2>&1 | \ RUN: FileCheck --check-prefix=RELOC %s -RELOC: Invalid entity size +RELOC: Invalid relocation entry size RUN: not llvm-readobj -dyn-relocations \ RUN: %p/Inputs/corrupt-invalid-dynamic-table-size.elf.x86-64 2>&1 | \ RUN: FileCheck --check-prefix=DYN-TABLE-SIZE %s -DYN-TABLE-SIZE: Invalid entity size +DYN-TABLE-SIZE: Invalid dynamic table size RUN: not llvm-readobj -dyn-relocations \ diff --git a/llvm/test/Object/invalid.test b/llvm/test/Object/invalid.test index a32c621cca6..cc5cd68304c 100644 --- a/llvm/test/Object/invalid.test +++ b/llvm/test/Object/invalid.test @@ -35,11 +35,9 @@ SECTION-NEXT: AddressAlignment: SECTION-NEXT: EntrySize: 32 RUN: not llvm-readobj -t %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s +RUN: not llvm-readobj --dyn-symbols %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s INVALID-SYM-SIZE: Invalid symbol size -RUN: not llvm-readobj --dyn-symbols %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-DYNSYM-SIZE %s -INVALID-DYNSYM-SIZE: Invalid entity size - RUN: not llvm-readobj -t %p/Inputs/invalid-section-index.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-INDEX %s INVALID-SECTION-INDEX: Invalid section index diff --git a/llvm/test/Object/relocation-executable.test b/llvm/test/Object/relocation-executable.test index bb0bb157b6a..93d4dee3089 100644 --- a/llvm/test/Object/relocation-executable.test +++ b/llvm/test/Object/relocation-executable.test @@ -34,18 +34,6 @@ RUN: %p/Inputs/hello-world.elf-x86-64 | FileCheck %s --check-prefix=DYN // DYN-NEXT: Symbol: __gmon_start__ // DYN-NEXT: Addend: 0x0 // DYN-NEXT: } -// DYN-NEXT: Relocation { -// DYN-NEXT: Offset: 0x4018F8 -// DYN-NEXT: Type: R_X86_64_JUMP_SLOT (7) -// DYN-NEXT: Symbol: __libc_start_main -// DYN-NEXT: Addend: 0x0 -// DYN-NEXT: } -// DYN-NEXT: Relocation { -// DYN-NEXT: Offset: 0x401900 -// DYN-NEXT: Type: R_X86_64_JUMP_SLOT (7) -// DYN-NEXT: Symbol: puts -// DYN-NEXT: Addend: 0x0 -// DYN-NEXT: } // DYN-NEXT: } RUN: llvm-readobj -dyn-relocations -expand-relocs \ diff --git a/llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-phdrs.x86 b/llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-phdrs.x86 Binary files differdeleted file mode 100644 index 1571da9f650..00000000000 --- a/llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-phdrs.x86 +++ /dev/null diff --git a/llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-shdrs.x86 b/llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-shdrs.x86 Binary files differdeleted file mode 100644 index def4a7afaf2..00000000000 --- a/llvm/test/tools/llvm-readobj/Inputs/dynamic-table-exe-no-shdrs.x86 +++ /dev/null diff --git a/llvm/test/tools/llvm-readobj/dynamic-symbols.test b/llvm/test/tools/llvm-readobj/dynamic-symbols.test deleted file mode 100644 index 7011b7fc549..00000000000 --- a/llvm/test/tools/llvm-readobj/dynamic-symbols.test +++ /dev/null @@ -1,223 +0,0 @@ -RUN: llvm-readobj -dyn-symbols -dynamic-table -dyn-relocations \ -RUN: %S/Inputs/dynamic-table-exe-no-shdrs.x86 | FileCheck %s -RUN: llvm-readobj -dyn-symbols -dynamic-table -relocations \ -RUN: %S/Inputs/dynamic-table-exe-no-phdrs.x86 | FileCheck %s - -CHECK: File: -CHECK-NEXT: Format: ELF32-i386 -CHECK-NEXT: Arch: i386 -CHECK-NEXT: AddressSize: 32bit -CHECK-NEXT: LoadName: -CHECK: 0x85F R_386_RELATIVE - 0x0 -CHECK-NEXT: 0x874 R_386_RELATIVE - 0x0 -CHECK-NEXT: 0x19FC R_386_RELATIVE - 0x0 -CHECK-NEXT: 0x1A00 R_386_RELATIVE - 0x0 -CHECK-NEXT: 0x1B2C R_386_RELATIVE - 0x0 -CHECK-NEXT: 0x1B60 R_386_RELATIVE - 0x0 -CHECK-NEXT: 0x0 R_386_NONE - 0x0 -CHECK-NEXT: 0x864 R_386_PC32 puts 0x0 -CHECK-NEXT: 0x880 R_386_PC32 _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode 0x0 -CHECK-NEXT: 0x88C R_386_PC32 _ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev 0x0 -CHECK-NEXT: 0x89B R_386_PC32 _Unwind_Resume 0x0 -CHECK-NEXT: 0x9BB R_386_32 __gxx_personality_v0 0x0 -CHECK-NEXT: 0x1B18 R_386_GLOB_DAT __gmon_start__ 0x0 -CHECK-NEXT: 0x1B1C R_386_GLOB_DAT _Jv_RegisterClasses 0x0 -CHECK-NEXT: 0x1B20 R_386_GLOB_DAT _ITM_deregisterTMCloneTable 0x0 -CHECK-NEXT: 0x1B24 R_386_GLOB_DAT _ITM_registerTMCloneTable 0x0 -CHECK-NEXT: 0x1B28 R_386_GLOB_DAT __cxa_finalize 0x0 -CHECK: 0x1B3C R_386_JUMP_SLOT __gmon_start__ 0x0 -CHECK-NEXT: 0x1B40 R_386_JUMP_SLOT __libc_start_main 0x0 -CHECK-NEXT: 0x1B44 R_386_JUMP_SLOT _ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev 0x0 -CHECK-NEXT: 0x1B48 R_386_JUMP_SLOT _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode 0x0 -CHECK-NEXT: 0x1B4C R_386_JUMP_SLOT puts 0x0 -CHECK-NEXT: 0x1B50 R_386_JUMP_SLOT __gxx_personality_v0 0x0 -CHECK-NEXT: 0x1B54 R_386_JUMP_SLOT _Unwind_Resume 0x0 -CHECK-NEXT: 0x1B58 R_386_JUMP_SLOT __cxa_finalize 0x0 -CHECK: DynamicSymbols [ -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: @ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Local -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: __gmon_start__@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Weak -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _Jv_RegisterClasses@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Weak -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: __libc_start_main@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _ITM_deregisterTMCloneTable@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Weak -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _ITM_registerTMCloneTable@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Weak -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: puts@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: __gxx_personality_v0@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _Unwind_Resume@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: __cxa_finalize@ -CHECK-NEXT: Value: 0x0 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Weak -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Undefined -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _end@ -CHECK-NEXT: Value: 0x1B68 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Absolute -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _edata@ -CHECK-NEXT: Value: 0x1B64 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Absolute -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: _IO_stdin_used@ -CHECK-NEXT: Value: 0x93C -CHECK-NEXT: Size: 4 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Object -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: __bss_start@ -CHECK-NEXT: Value: 0x1B64 -CHECK-NEXT: Size: 0 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: None -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: Absolute -CHECK-NEXT: } -CHECK-NEXT: Symbol { -CHECK-NEXT: Name: main@ -CHECK-NEXT: Value: 0x850 -CHECK-NEXT: Size: 81 -CHECK-NEXT: Binding: Global -CHECK-NEXT: Type: Function -CHECK-NEXT: Other: 0 -CHECK-NEXT: Section: -CHECK-NEXT: } -CHECK-NEXT: ] -CHECK-NEXT: DynamicSection [ -CHECK-NEXT: Tag Type Name/Value -CHECK-NEXT: 0x00000001 NEEDED SharedLibrary (libstdc++.so.6) -CHECK-NEXT: 0x00000001 NEEDED SharedLibrary (libgcc_s.so.1) -CHECK-NEXT: 0x00000001 NEEDED SharedLibrary (libc.so.6) -CHECK-NEXT: 0x0000000C INIT 0x62C -CHECK-NEXT: 0x0000000D FINI 0x920 -CHECK-NEXT: 0x00000019 INIT_ARRAY 0x19FC -CHECK-NEXT: 0x0000001B INIT_ARRAYSZ 4 -CHECK-NEXT: 0x0000001A FINI_ARRAY 0x1A00 -CHECK-NEXT: 0x0000001C FINI_ARRAYSZ 4 -CHECK-NEXT: 0x00000004 HASH 0x18C -CHECK-NEXT: 0x6FFFFEF5 GNU_HASH 0x1E4 -CHECK-NEXT: 0x00000005 STRTAB 0x328 -CHECK-NEXT: 0x00000006 SYMTAB 0x218 -CHECK-NEXT: 0x0000000A STRSZ 408 -CHECK-NEXT: 0x0000000B SYMENT 16 -CHECK-NEXT: 0x00000015 DEBUG 0x0 -CHECK-NEXT: 0x00000003 PLTGOT 0x1B30 -CHECK-NEXT: 0x00000002 PLTRELSZ 64 -CHECK-NEXT: 0x00000014 PLTREL REL -CHECK-NEXT: 0x00000017 JMPREL 0x5EC -CHECK-NEXT: 0x00000011 REL 0x564 -CHECK-NEXT: 0x00000012 RELSZ 136 -CHECK-NEXT: 0x00000013 RELENT 8 -CHECK-NEXT: 0x00000016 TEXTREL 0x0 -CHECK-NEXT: 0x0000001E FLAGS TEXTREL -CHECK-NEXT: 0x6FFFFFFE VERNEED 0x4E4 -CHECK-NEXT: 0x6FFFFFFF VERNEEDNUM 3 -CHECK-NEXT: 0x6FFFFFF0 VERSYM 0x4C0 -CHECK-NEXT: 0x6FFFFFFA RELCOUNT 6 -CHECK-NEXT: 0x00000000 NULL 0x0 -CHECK-NEXT: ] |