diff options
Diffstat (limited to 'test/tools')
-rw-r--r-- | test/tools/llvm-cov/copy_block_helper.m | 2 | ||||
-rw-r--r-- | test/tools/llvm-cov/llvm-cov.test | 8 | ||||
-rw-r--r-- | test/tools/llvm-cov/range_based_for.cpp | 2 | ||||
-rw-r--r-- | test/tools/llvm-objdump/lit.local.cfg | 3 | ||||
-rw-r--r-- | test/tools/llvm-readobj/ARM/lit.local.cfg | 3 | ||||
-rwxr-xr-x | test/tools/llvm-readobj/Inputs/got-empty.exe.mipsel | bin | 0 -> 9400 bytes | |||
-rwxr-xr-x | test/tools/llvm-readobj/Inputs/got-tls.so.elf-mips64el | bin | 0 -> 7398 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/mips-got.test | 331 | ||||
-rw-r--r-- | test/tools/llvm-readobj/program-headers.test | 28 | ||||
-rw-r--r-- | test/tools/llvm-readobj/relocations.test | 52 | ||||
-rw-r--r-- | test/tools/llvm-readobj/sections-ext.test | 52 |
11 files changed, 418 insertions, 63 deletions
diff --git a/test/tools/llvm-cov/copy_block_helper.m b/test/tools/llvm-cov/copy_block_helper.m index 1859b88..64973f1 100644 --- a/test/tools/llvm-cov/copy_block_helper.m +++ b/test/tools/llvm-cov/copy_block_helper.m @@ -29,4 +29,4 @@ void test(id x) { // GCOV: -: [[@LINE]]:void test int main(int argc, const char *argv[]) { test(0); } // llvm-cov doesn't work on big endian yet -// XFAIL: powerpc64, s390x, mips-, mips64-, sparc +// XFAIL: powerpc64-, s390x, mips-, mips64-, sparc diff --git a/test/tools/llvm-cov/llvm-cov.test b/test/tools/llvm-cov/llvm-cov.test index 2345f8d..0d3eb6b 100644 --- a/test/tools/llvm-cov/llvm-cov.test +++ b/test/tools/llvm-cov/llvm-cov.test @@ -102,12 +102,12 @@ RUN: diff -aub test_no_gcda.cpp.gcov test.cpp.gcov RUN: diff -aub test_no_gcda.h.gcov test.h.gcov # Invalid gcno file. -RUN: not llvm-cov test.c -gcno=test_read_fail.gcno +RUN: llvm-cov test.c -gcno=test_read_fail.gcno # Bad file checksum on gcda. -RUN: not llvm-cov test.c -gcda=test_file_checksum_fail.gcda +RUN: llvm-cov test.c -gcda=test_file_checksum_fail.gcda # Bad function checksum on gcda -RUN: not llvm-cov test.c -gcda=test_func_checksum_fail.gcda +RUN: llvm-cov test.c -gcda=test_func_checksum_fail.gcda -XFAIL: powerpc64, s390x, mips-, mips64-, sparc +XFAIL: powerpc64-, s390x, mips-, mips64-, sparc diff --git a/test/tools/llvm-cov/range_based_for.cpp b/test/tools/llvm-cov/range_based_for.cpp index 61f60f6..3fdb244 100644 --- a/test/tools/llvm-cov/range_based_for.cpp +++ b/test/tools/llvm-cov/range_based_for.cpp @@ -26,4 +26,4 @@ int main(int argc, const char *argv[]) { // GCOV: 1: [[@LINE]]:int main( } // GCOV: -: [[@LINE]]:} // llvm-cov doesn't work on big endian yet -// XFAIL: powerpc64, s390x, mips-, mips64-, sparc +// XFAIL: powerpc64-, s390x, mips-, mips64-, sparc diff --git a/test/tools/llvm-objdump/lit.local.cfg b/test/tools/llvm-objdump/lit.local.cfg index 19840aa..c8625f4 100644 --- a/test/tools/llvm-objdump/lit.local.cfg +++ b/test/tools/llvm-objdump/lit.local.cfg @@ -1,3 +1,2 @@ -targets = set(config.root.targets_to_build.split()) -if not 'X86' in targets: +if not 'X86' in config.root.targets: config.unsupported = True diff --git a/test/tools/llvm-readobj/ARM/lit.local.cfg b/test/tools/llvm-readobj/ARM/lit.local.cfg index 8a3ba96..98c6700 100644 --- a/test/tools/llvm-readobj/ARM/lit.local.cfg +++ b/test/tools/llvm-readobj/ARM/lit.local.cfg @@ -1,4 +1,3 @@ -targets = set(config.root.targets_to_build.split()) -if not 'ARM' in targets: +if not 'ARM' in config.root.targets: config.unsupported = True diff --git a/test/tools/llvm-readobj/Inputs/got-empty.exe.mipsel b/test/tools/llvm-readobj/Inputs/got-empty.exe.mipsel Binary files differnew file mode 100755 index 0000000..b578745 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/got-empty.exe.mipsel diff --git a/test/tools/llvm-readobj/Inputs/got-tls.so.elf-mips64el b/test/tools/llvm-readobj/Inputs/got-tls.so.elf-mips64el Binary files differnew file mode 100755 index 0000000..3afc567 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/got-tls.so.elf-mips64el diff --git a/test/tools/llvm-readobj/mips-got.test b/test/tools/llvm-readobj/mips-got.test new file mode 100644 index 0000000..2021587 --- /dev/null +++ b/test/tools/llvm-readobj/mips-got.test @@ -0,0 +1,331 @@ +RUN: llvm-readobj -mips-plt-got %p/Inputs/relocs.obj.elf-mips | \ +RUN: FileCheck %s -check-prefix GOT-OBJ +RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-exe.mips | \ +RUN: FileCheck %s -check-prefix GOT-EXE +RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-so.mips | \ +RUN: FileCheck %s -check-prefix GOT-SO +RUN: llvm-readobj -mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \ +RUN: FileCheck %s -check-prefix GOT-TLS +RUN: llvm-readobj -mips-plt-got %p/Inputs/got-empty.exe.mipsel | \ +RUN: FileCheck %s -check-prefix GOT-EMPTY + +GOT-OBJ: Cannot find PLTGOT dynamic table tag. + +GOT-EXE: Primary GOT { +GOT-EXE-NEXT: Canonical gp value: 0x418880 +GOT-EXE-NEXT: Reserved entries [ +GOT-EXE-NEXT: Entry { +GOT-EXE-NEXT: Address: 0x410890 +GOT-EXE-NEXT: Access: -32752 +GOT-EXE-NEXT: Initial: 0x0 +GOT-EXE-NEXT: Purpose: Lazy resolver +GOT-EXE-NEXT: } +GOT-EXE-NEXT: Entry { +GOT-EXE-NEXT: Address: 0x410894 +GOT-EXE-NEXT: Access: -32748 +GOT-EXE-NEXT: Initial: 0x80000000 +GOT-EXE-NEXT: Purpose: Module pointer (GNU extension) +GOT-EXE-NEXT: } +GOT-EXE-NEXT: ] +GOT-EXE-NEXT: Local entries [ +GOT-EXE-NEXT: Entry { +GOT-EXE-NEXT: Address: 0x410898 +GOT-EXE-NEXT: Access: -32744 +GOT-EXE-NEXT: Initial: 0x400418 +GOT-EXE-NEXT: } +GOT-EXE-NEXT: Entry { +GOT-EXE-NEXT: Address: 0x41089C +GOT-EXE-NEXT: Access: -32740 +GOT-EXE-NEXT: Initial: 0x410840 +GOT-EXE-NEXT: } +GOT-EXE-NEXT: Entry { +GOT-EXE-NEXT: Address: 0x4108A0 +GOT-EXE-NEXT: Access: -32736 +GOT-EXE-NEXT: Initial: 0x0 +GOT-EXE-NEXT: } +GOT-EXE-NEXT: ] +GOT-EXE-NEXT: Global entries [ +GOT-EXE-NEXT: Entry { +GOT-EXE-NEXT: Address: 0x4108A4 +GOT-EXE-NEXT: Access: -32732 +GOT-EXE-NEXT: Initial: 0x0 +GOT-EXE-NEXT: Value: 0x0 +GOT-EXE-NEXT: Type: Function (0x2) +GOT-EXE-NEXT: Section: Undefined (0x0) +GOT-EXE-NEXT: Name: __gmon_start__@ (1) +GOT-EXE-NEXT: } +GOT-EXE-NEXT: ] +GOT-EXE-NEXT: Number of TLS and multi-GOT entries: 0 +GOT-EXE-NEXT: } + +GOT-SO: Primary GOT { +GOT-SO-NEXT: Canonical gp value: 0x188D0 +GOT-SO-NEXT: Reserved entries [ +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108E0 +GOT-SO-NEXT: Access: -32752 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: Purpose: Lazy resolver +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108E4 +GOT-SO-NEXT: Access: -32748 +GOT-SO-NEXT: Initial: 0x80000000 +GOT-SO-NEXT: Purpose: Module pointer (GNU extension) +GOT-SO-NEXT: } +GOT-SO-NEXT: ] +GOT-SO-NEXT: Local entries [ +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108E8 +GOT-SO-NEXT: Access: -32744 +GOT-SO-NEXT: Initial: 0x108E0 +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108EC +GOT-SO-NEXT: Access: -32740 +GOT-SO-NEXT: Initial: 0x10000 +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108F0 +GOT-SO-NEXT: Access: -32736 +GOT-SO-NEXT: Initial: 0x10920 +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108F4 +GOT-SO-NEXT: Access: -32732 +GOT-SO-NEXT: Initial: 0x108CC +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108F8 +GOT-SO-NEXT: Access: -32728 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x108FC +GOT-SO-NEXT: Access: -32724 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x10900 +GOT-SO-NEXT: Access: -32720 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x10904 +GOT-SO-NEXT: Access: -32716 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: } +GOT-SO-NEXT: ] +GOT-SO-NEXT: Global entries [ +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x10908 +GOT-SO-NEXT: Access: -32712 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: Value: 0x0 +GOT-SO-NEXT: Type: None (0x0) +GOT-SO-NEXT: Section: Undefined (0x0) +GOT-SO-NEXT: Name: _ITM_registerTMCloneTable@ (87) +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x1090C +GOT-SO-NEXT: Access: -32708 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: Value: 0x0 +GOT-SO-NEXT: Type: None (0x0) +GOT-SO-NEXT: Section: Undefined (0x0) +GOT-SO-NEXT: Name: _Jv_RegisterClasses@ (128) +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x10910 +GOT-SO-NEXT: Access: -32704 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: Value: 0x0 +GOT-SO-NEXT: Type: Function (0x2) +GOT-SO-NEXT: Section: Undefined (0x0) +GOT-SO-NEXT: Name: __gmon_start__@ (23) +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x10914 +GOT-SO-NEXT: Access: -32700 +GOT-SO-NEXT: Initial: 0x840 +GOT-SO-NEXT: Value: 0x840 +GOT-SO-NEXT: Type: Function (0x2) +GOT-SO-NEXT: Section: Undefined (0x0) +GOT-SO-NEXT: Name: puts@GLIBC_2.0 (162) +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x10918 +GOT-SO-NEXT: Access: -32696 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: Value: 0x0 +GOT-SO-NEXT: Type: None (0x0) +GOT-SO-NEXT: Section: Undefined (0x0) +GOT-SO-NEXT: Name: _ITM_deregisterTMCloneTable@ (59) +GOT-SO-NEXT: } +GOT-SO-NEXT: Entry { +GOT-SO-NEXT: Address: 0x1091C +GOT-SO-NEXT: Access: -32692 +GOT-SO-NEXT: Initial: 0x0 +GOT-SO-NEXT: Value: 0x0 +GOT-SO-NEXT: Type: Function (0x2) +GOT-SO-NEXT: Section: Undefined (0x0) +GOT-SO-NEXT: Name: __cxa_finalize@GLIBC_2.2 (113) +GOT-SO-NEXT: } +GOT-SO-NEXT: ] +GOT-SO-NEXT: Number of TLS and multi-GOT entries: 0 +GOT-SO-NEXT: } + +GOT-TLS: Primary GOT { +GOT-TLS-NEXT: Canonical gp value: 0x18BF0 +GOT-TLS-NEXT: Reserved entries [ +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C00 +GOT-TLS-NEXT: Access: -32752 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: Purpose: Lazy resolver +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C08 +GOT-TLS-NEXT: Access: -32744 +GOT-TLS-NEXT: Initial: 0x8000000000000000 +GOT-TLS-NEXT: Purpose: Module pointer (GNU extension) +GOT-TLS-NEXT: } +GOT-TLS-NEXT: ] +GOT-TLS-NEXT: Local entries [ +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C10 +GOT-TLS-NEXT: Access: -32736 +GOT-TLS-NEXT: Initial: 0x10000 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C18 +GOT-TLS-NEXT: Access: -32728 +GOT-TLS-NEXT: Initial: 0x10C00 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C20 +GOT-TLS-NEXT: Access: -32720 +GOT-TLS-NEXT: Initial: 0x10CB8 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C28 +GOT-TLS-NEXT: Access: -32712 +GOT-TLS-NEXT: Initial: 0x10BF0 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C30 +GOT-TLS-NEXT: Access: -32704 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C38 +GOT-TLS-NEXT: Access: -32696 +GOT-TLS-NEXT: Initial: 0x948 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C40 +GOT-TLS-NEXT: Access: -32688 +GOT-TLS-NEXT: Initial: 0xA20 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C48 +GOT-TLS-NEXT: Access: -32680 +GOT-TLS-NEXT: Initial: 0xAF0 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C50 +GOT-TLS-NEXT: Access: -32672 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C58 +GOT-TLS-NEXT: Access: -32664 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C60 +GOT-TLS-NEXT: Access: -32656 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: } +GOT-TLS-NEXT: ] +GOT-TLS-NEXT: Global entries [ +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C68 +GOT-TLS-NEXT: Access: -32648 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: Value: 0x0 +GOT-TLS-NEXT: Type: None (0x0) +GOT-TLS-NEXT: Section: Undefined (0x0) +GOT-TLS-NEXT: Name: _ITM_registerTMCloneTable@ (78) +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C70 +GOT-TLS-NEXT: Access: -32640 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: Value: 0x0 +GOT-TLS-NEXT: Type: None (0x0) +GOT-TLS-NEXT: Section: Undefined (0x0) +GOT-TLS-NEXT: Name: _Jv_RegisterClasses@ (119) +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C78 +GOT-TLS-NEXT: Access: -32632 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: Value: 0x0 +GOT-TLS-NEXT: Type: Function (0x2) +GOT-TLS-NEXT: Section: Undefined (0x0) +GOT-TLS-NEXT: Name: __gmon_start__@ (23) +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C80 +GOT-TLS-NEXT: Access: -32624 +GOT-TLS-NEXT: Initial: 0xB60 +GOT-TLS-NEXT: Value: 0xB60 +GOT-TLS-NEXT: Type: Function (0x2) +GOT-TLS-NEXT: Section: Undefined (0x0) +GOT-TLS-NEXT: Name: __tls_get_addr@GLIBC_2.3 (150) +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C88 +GOT-TLS-NEXT: Access: -32616 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: Value: 0x0 +GOT-TLS-NEXT: Type: None (0x0) +GOT-TLS-NEXT: Section: Undefined (0x0) +GOT-TLS-NEXT: Name: _ITM_deregisterTMCloneTable@ (50) +GOT-TLS-NEXT: } +GOT-TLS-NEXT: Entry { +GOT-TLS-NEXT: Address: 0x10C90 +GOT-TLS-NEXT: Access: -32608 +GOT-TLS-NEXT: Initial: 0x0 +GOT-TLS-NEXT: Value: 0x0 +GOT-TLS-NEXT: Type: Function (0x2) +GOT-TLS-NEXT: Section: Undefined (0x0) +GOT-TLS-NEXT: Name: __cxa_finalize@GLIBC_2.2 (104) +GOT-TLS-NEXT: } +GOT-TLS-NEXT: ] +GOT-TLS-NEXT: Number of TLS and multi-GOT entries: 4 +GOT-TLS-NEXT: } + +GOT-EMPTY: Primary GOT { +GOT-EMPTY-NEXT: Canonical gp value: 0x409FF0 +GOT-EMPTY-NEXT: Reserved entries [ +GOT-EMPTY-NEXT: Entry { +GOT-EMPTY-NEXT: Address: 0x402000 +GOT-EMPTY-NEXT: Access: -32752 +GOT-EMPTY-NEXT: Initial: 0x0 +GOT-EMPTY-NEXT: Purpose: Lazy resolver +GOT-EMPTY-NEXT: } +GOT-EMPTY-NEXT: Entry { +GOT-EMPTY-NEXT: Address: 0x402004 +GOT-EMPTY-NEXT: Access: -32748 +GOT-EMPTY-NEXT: Initial: 0x80000000 +GOT-EMPTY-NEXT: Purpose: Module pointer (GNU extension) +GOT-EMPTY-NEXT: } +GOT-EMPTY-NEXT: ] +GOT-EMPTY-NEXT: Local entries [ +GOT-EMPTY-NEXT: ] +GOT-EMPTY-NEXT: Global entries [ +GOT-EMPTY-NEXT: ] +GOT-EMPTY-NEXT: Number of TLS and multi-GOT entries: 2 +GOT-EMPTY-NEXT: } diff --git a/test/tools/llvm-readobj/program-headers.test b/test/tools/llvm-readobj/program-headers.test index 7c22f2b..f014c03 100644 --- a/test/tools/llvm-readobj/program-headers.test +++ b/test/tools/llvm-readobj/program-headers.test @@ -4,6 +4,8 @@ RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.elf-x8 RUN: | FileCheck %s -check-prefix ELF-X86-64 RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.mips \ RUN: | FileCheck %s -check-prefix ELF-MIPS +RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.mips64 \ +RUN: | FileCheck %s -check-prefix ELF-MIPS64 ELF-I386: ProgramHeaders [ ELF-I386-NEXT: ProgramHeader { @@ -75,7 +77,11 @@ ELF-X86-64-NEXT: Alignment: 8 ELF-X86-64-NEXT: } ELF-X86-64-NEXT: ] -ELF-MIPS: ProgramHeaders [ +ELF-MIPS: Format: ELF32-mips +ELF-MIPS-NEXT: Arch: mips +ELF-MIPS-NEXT: AddressSize: 32bit +ELF-MIPS-NEXT: LoadName: +ELF-MIPS-NEXT: ProgramHeaders [ ELF-MIPS-NEXT: ProgramHeader { ELF-MIPS-NEXT: Type: PT_MIPS_REGINFO (0x70000000) ELF-MIPS-NEXT: Offset: 0x74 @@ -102,3 +108,23 @@ ELF-MIPS-NEXT: ] ELF-MIPS-NEXT: Alignment: 65536 ELF-MIPS-NEXT: } ELF-MIPS-NEXT: ] + +ELF-MIPS64: Format: ELF64-mips +ELF-MIPS64-NEXT: Arch: mips64 +ELF-MIPS64-NEXT: AddressSize: 64bit +ELF-MIPS64-NEXT: LoadName: +ELF-MIPS64-NEXT: ProgramHeaders [ +ELF-MIPS64-NEXT: ProgramHeader { +ELF-MIPS64-NEXT: Type: PT_LOAD (0x1) +ELF-MIPS64-NEXT: Offset: 0x0 +ELF-MIPS64-NEXT: VirtualAddress: 0x120000000 +ELF-MIPS64-NEXT: PhysicalAddress: 0x120000000 +ELF-MIPS64-NEXT: FileSize: 136 +ELF-MIPS64-NEXT: MemSize: 136 +ELF-MIPS64-NEXT: Flags [ (0x5) +ELF-MIPS64-NEXT: PF_R (0x4) +ELF-MIPS64-NEXT: PF_X (0x1) +ELF-MIPS64-NEXT: ] +ELF-MIPS64-NEXT: Alignment: 65536 +ELF-MIPS64-NEXT: } +ELF-MIPS64-NEXT: ] diff --git a/test/tools/llvm-readobj/relocations.test b/test/tools/llvm-readobj/relocations.test index 3a87ff5..864ded3 100644 --- a/test/tools/llvm-readobj/relocations.test +++ b/test/tools/llvm-readobj/relocations.test @@ -34,8 +34,8 @@ MACHO-I386: Relocations [ MACHO-I386-NEXT: Section __text { MACHO-I386-NEXT: 0x18 1 2 1 GENERIC_RELOC_VANILLA 0 _SomeOtherFunction MACHO-I386-NEXT: 0x13 1 2 1 GENERIC_RELOC_VANILLA 0 _puts -MACHO-I386-NEXT: 0xB 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 - -MACHO-I386-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 - +MACHO-I386-NEXT: 0xB 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x22 +MACHO-I386-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x8 MACHO-I386-NEXT: } MACHO-I386-NEXT: ] @@ -49,17 +49,17 @@ MACHO-X86-64-NEXT:] MACHO-PPC: Relocations [ MACHO-PPC-NEXT: Section __text { -MACHO-PPC-NEXT: 0x24 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 - -MACHO-PPC-NEXT: 0x1C 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x58 0 2 n/a PPC_RELOC_PAIR 1 - -MACHO-PPC-NEXT: 0x18 1 2 0 PPC_RELOC_BR24 0 - +MACHO-PPC-NEXT: 0x24 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 0x64 +MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 0xC +MACHO-PPC-NEXT: 0x1C 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 0x64 +MACHO-PPC-NEXT: 0x58 0 2 n/a PPC_RELOC_PAIR 1 0xC +MACHO-PPC-NEXT: 0x18 1 2 0 PPC_RELOC_BR24 0 0x2 MACHO-PPC-NEXT: } MACHO-PPC-NEXT: Section __picsymbolstub1 { -MACHO-PPC-NEXT: 0x14 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 - -MACHO-PPC-NEXT: 0xC 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x20 0 2 n/a PPC_RELOC_PAIR 1 - +MACHO-PPC-NEXT: 0x14 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 0x68 +MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 0x48 +MACHO-PPC-NEXT: 0xC 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 0x68 +MACHO-PPC-NEXT: 0x20 0 2 n/a PPC_RELOC_PAIR 1 0x48 MACHO-PPC-NEXT: } MACHO-PPC-NEXT: Section __la_symbol_ptr { MACHO-PPC-NEXT: 0x0 0 2 1 PPC_RELOC_VANILLA 0 dyld_stub_binding_helper @@ -68,17 +68,17 @@ MACHO-PPC-NEXT: ] MACHO-PPC64: Relocations [ MACHO-PPC64-NEXT: Section __text { -MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x1C 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x58 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x18 1 2 0 0 - +MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 0x64 +MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 0xC +MACHO-PPC64-NEXT: 0x1C 0 2 n/a 1 0x64 +MACHO-PPC64-NEXT: 0x58 0 2 n/a 1 0xC +MACHO-PPC64-NEXT: 0x18 1 2 0 0 0x2 MACHO-PPC64-NEXT: } MACHO-PPC64-NEXT: Section __picsymbolstub1 { -MACHO-PPC64-NEXT: 0x14 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0xC 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 - +MACHO-PPC64-NEXT: 0x14 0 2 n/a 1 0x6C +MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 0x48 +MACHO-PPC64-NEXT: 0xC 0 2 n/a 1 0x6C +MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 0x48 MACHO-PPC64-NEXT: } MACHO-PPC64-NEXT: Section __la_symbol_ptr { MACHO-PPC64-NEXT: 0x0 0 3 1 0 dyld_stub_binding_helper @@ -94,7 +94,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x40 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -103,7 +103,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x28 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -130,7 +130,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 1 MACHO-ARM-NEXT: Extern: 0 MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0xFFFFFF MACHO-ARM-NEXT: Scattered: 0 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -148,7 +148,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 0 MACHO-ARM-NEXT: Extern: 0 MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0xFFFFFF MACHO-ARM-NEXT: Scattered: 0 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -157,7 +157,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x44 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -166,7 +166,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x4 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: } diff --git a/test/tools/llvm-readobj/sections-ext.test b/test/tools/llvm-readobj/sections-ext.test index 0f7ce26..972d8e6 100644 --- a/test/tools/llvm-readobj/sections-ext.test +++ b/test/tools/llvm-readobj/sections-ext.test @@ -183,8 +183,8 @@ MACHO-I386-NEXT: Reserved2: 0x0 MACHO-I386-NEXT: Relocations [ MACHO-I386-NEXT: 0x18 1 2 1 GENERIC_RELOC_VANILLA 0 _SomeOtherFunction MACHO-I386-NEXT: 0x13 1 2 1 GENERIC_RELOC_VANILLA 0 _puts -MACHO-I386-NEXT: 0xB 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 - -MACHO-I386-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 - +MACHO-I386-NEXT: 0xB 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x22 +MACHO-I386-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x8 MACHO-I386-NEXT: ] MACHO-I386-NEXT: Symbols [ MACHO-I386-NEXT: Symbol { @@ -299,11 +299,11 @@ MACHO-PPC-NEXT: ] MACHO-PPC-NEXT: Reserved1: 0x0 MACHO-PPC-NEXT: Reserved2: 0x0 MACHO-PPC-NEXT: Relocations [ -MACHO-PPC-NEXT: 0x24 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 - -MACHO-PPC-NEXT: 0x1C 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x58 0 2 n/a PPC_RELOC_PAIR 1 - -MACHO-PPC-NEXT: 0x18 1 2 0 PPC_RELOC_BR24 0 - +MACHO-PPC-NEXT: 0x24 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 0x64 +MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 0xC +MACHO-PPC-NEXT: 0x1C 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 0x64 +MACHO-PPC-NEXT: 0x58 0 2 n/a PPC_RELOC_PAIR 1 0xC +MACHO-PPC-NEXT: 0x18 1 2 0 PPC_RELOC_BR24 0 0x2 MACHO-PPC-NEXT: ] MACHO-PPC-NEXT: Symbols [ MACHO-PPC-NEXT: Symbol { @@ -342,10 +342,10 @@ MACHO-PPC-NEXT: ] MACHO-PPC-NEXT: Reserved1: 0x0 MACHO-PPC-NEXT: Reserved2: 0x20 MACHO-PPC-NEXT: Relocations [ -MACHO-PPC-NEXT: 0x14 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 - -MACHO-PPC-NEXT: 0xC 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 - -MACHO-PPC-NEXT: 0x20 0 2 n/a PPC_RELOC_PAIR 1 - +MACHO-PPC-NEXT: 0x14 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 0x68 +MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 0x48 +MACHO-PPC-NEXT: 0xC 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 0x68 +MACHO-PPC-NEXT: 0x20 0 2 n/a PPC_RELOC_PAIR 1 0x48 MACHO-PPC-NEXT: ] MACHO-PPC-NEXT: Symbols [ MACHO-PPC-NEXT: ] @@ -456,11 +456,11 @@ MACHO-PPC64-NEXT: ] MACHO-PPC64-NEXT: Reserved1: 0x0 MACHO-PPC64-NEXT: Reserved2: 0x0 MACHO-PPC64-NEXT: Relocations [ -MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x1C 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x58 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x18 1 2 0 0 - +MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 0x64 +MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 0xC +MACHO-PPC64-NEXT: 0x1C 0 2 n/a 1 0x64 +MACHO-PPC64-NEXT: 0x58 0 2 n/a 1 0xC +MACHO-PPC64-NEXT: 0x18 1 2 0 0 0x2 MACHO-PPC64-NEXT: ] MACHO-PPC64-NEXT: Symbols [ MACHO-PPC64-NEXT: Symbol { @@ -499,10 +499,10 @@ MACHO-PPC64-NEXT: ] MACHO-PPC64-NEXT: Reserved1: 0x0 MACHO-PPC64-NEXT: Reserved2: 0x20 MACHO-PPC64-NEXT: Relocations [ -MACHO-PPC64-NEXT: 0x14 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0xC 0 2 n/a 1 - -MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 - +MACHO-PPC64-NEXT: 0x14 0 2 n/a 1 0x6C +MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 0x48 +MACHO-PPC64-NEXT: 0xC 0 2 n/a 1 0x6C +MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 0x48 MACHO-PPC64-NEXT: ] MACHO-PPC64-NEXT: Symbols [ MACHO-PPC64-NEXT: ] @@ -618,7 +618,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x40 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -627,7 +627,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x28 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -654,7 +654,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 1 MACHO-ARM-NEXT: Extern: 0 MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0xFFFFFF MACHO-ARM-NEXT: Scattered: 0 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -672,7 +672,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 0 MACHO-ARM-NEXT: Extern: 0 MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0xFFFFFF MACHO-ARM-NEXT: Scattered: 0 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -681,7 +681,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x44 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: Relocation { @@ -690,7 +690,7 @@ MACHO-ARM-NEXT: PCRel: 0 MACHO-ARM-NEXT: Length: 2 MACHO-ARM-NEXT: Extern: N/A MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) -MACHO-ARM-NEXT: Symbol: - +MACHO-ARM-NEXT: Symbol: 0x4 MACHO-ARM-NEXT: Scattered: 1 MACHO-ARM-NEXT: } MACHO-ARM-NEXT: ] |