diff options
author | Nico Rieck <nico.rieck@gmail.com> | 2013-04-12 04:06:46 +0000 |
---|---|---|
committer | Nico Rieck <nico.rieck@gmail.com> | 2013-04-12 04:06:46 +0000 |
commit | f89da7210b09a0a0f7c9ee216cd54dca03c6b64a (patch) | |
tree | 8faca43d4b6b9a088e23ed254f116efb0a1c0228 /test/MC/Mips | |
parent | 8ed205f0a35337089407a57cc8e01de59bc4e26b (diff) | |
download | external_llvm-f89da7210b09a0a0f7c9ee216cd54dca03c6b64a.zip external_llvm-f89da7210b09a0a0f7c9ee216cd54dca03c6b64a.tar.gz external_llvm-f89da7210b09a0a0f7c9ee216cd54dca03c6b64a.tar.bz2 |
Replace coff-/elf-dump with llvm-readobj
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179361 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/Mips')
-rw-r--r-- | test/MC/Mips/elf-N64.ll | 27 | ||||
-rw-r--r-- | test/MC/Mips/elf-bigendian.ll | 39 | ||||
-rw-r--r-- | test/MC/Mips/elf-gprel-32-64.ll | 15 | ||||
-rw-r--r-- | test/MC/Mips/elf-reginfo.ll | 21 | ||||
-rw-r--r-- | test/MC/Mips/elf-relsym.ll | 20 | ||||
-rw-r--r-- | test/MC/Mips/elf-tls.ll | 12 | ||||
-rw-r--r-- | test/MC/Mips/elf_basic.s | 52 | ||||
-rw-r--r-- | test/MC/Mips/elf_eflags.ll | 44 | ||||
-rw-r--r-- | test/MC/Mips/elf_st_other.ll | 7 | ||||
-rw-r--r-- | test/MC/Mips/higher_highest.ll | 12 | ||||
-rw-r--r-- | test/MC/Mips/r-mips-got-disp.ll | 5 | ||||
-rw-r--r-- | test/MC/Mips/sym-offset.ll | 6 | ||||
-rw-r--r-- | test/MC/Mips/xgot.ll | 35 |
13 files changed, 156 insertions, 139 deletions
diff --git a/test/MC/Mips/elf-N64.ll b/test/MC/Mips/elf-N64.ll index ae6de78..a1ea34a 100644 --- a/test/MC/Mips/elf-N64.ll +++ b/test/MC/Mips/elf-N64.ll @@ -1,4 +1,4 @@ -; RUN: llc -filetype=obj -march=mips64el -mcpu=mips64 -disable-mips-delay-filler %s -o - | elf-dump --dump-section-data | FileCheck %s +; RUN: llc -filetype=obj -march=mips64el -mcpu=mips64 -disable-mips-delay-filler %s -o - | llvm-readobj -r | FileCheck %s ; Check for N64 relocation production. ; @@ -12,25 +12,12 @@ define i32 @main() nounwind { entry: ; Check that the appropriate relocations were created. -; R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 -; CHECK: ('r_type3', 0x05) -; CHECK-NEXT: ('r_type2', 0x18) -; CHECK-NEXT: ('r_type', 0x07) - -; R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 -; CHECK: ('r_type3', 0x06) -; CHECK-NEXT: ('r_type2', 0x18) -; CHECK-NEXT: ('r_type', 0x07) - -; R_MIPS_GOT_OFST/R_MIPS_NONE/R_MIPS_NONE -; CHECK: ('r_type3', 0x00) -; CHECK-NEXT: ('r_type2', 0x00) -; CHECK-NEXT: ('r_type', 0x14) - -; R_MIPS_GOT_OFST/R_MIPS_NONE/R_MIPS_NONE -; CHECK: ('r_type3', 0x00) -; CHECK-NEXT: ('r_type2', 0x00) -; CHECK-NEXT: ('r_type', 0x15) +; CHECK: Relocations [ +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_PAGE/R_MIPS_NONE/R_MIPS_NONE +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_OFST/R_MIPS_NONE/R_MIPS_NONE +; CHECK: ] %puts = tail call i32 @puts(i8* getelementptr inbounds ([12 x i8]* @str, i64 0, i64 0)) ret i32 0 diff --git a/test/MC/Mips/elf-bigendian.ll b/test/MC/Mips/elf-bigendian.ll index 7111deb..a92fe33 100644 --- a/test/MC/Mips/elf-bigendian.ll +++ b/test/MC/Mips/elf-bigendian.ll @@ -1,24 +1,37 @@ -; DISABLE: llc -filetype=obj -mtriple mips-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck %s +; DISABLE: llc -filetype=obj -mtriple mips-unknown-linux %s -o - | llvm-readobj -h -s -sd | FileCheck %s ; RUN: false ; XFAIL: * ; Check that this is big endian. -; CHECK: ('e_indent[EI_DATA]', 0x02) +; CHECK: ElfHeader { +; CHECK: Ident { +; CHECK: DataEncoding: BigEndian +; CHECK: } +; CHECK: } ; Make sure that a section table (text) entry is correct. -; CHECK: (('sh_name', 0x{{[0]*}}5) # '.text' -; CHECK-NEXT: ('sh_type', 0x{{[0]*}}1) -; CHECK-NEXT: ('sh_flags', 0x{{[0]*}}6) -; CHECK-NEXT: ('sh_addr', 0x{{[0-9,a-f]+}}) -; CHECK-NEXT: ('sh_offset', 0x{{[0-9,a-f]+}}) -; CHECK-NEXT: ('sh_size', 0x{{[0-9,a-f]+}}) -; CHECK-NEXT: ('sh_link', 0x{{[0]+}}) -; CHECK-NEXT: ('sh_info', 0x{{[0]+}}) -; CHECK-NEXT: ('sh_addralign', 0x{{[0]*}}4) -; CHECK-NEXT: ('sh_entsize', 0x{{[0]+}}) +; CHECK: Sections [ +; CHECK: Section { +; CHECK: Index: +; CHECK: Name: .text +; CHECK-NEXT: Type: SHT_PROGBITS +; CHECK-NEXT: Flags [ (0x6) +; CHECK-NEXT: SHF_ALLOC +; CHECK-NEXT: SHF_EXECINSTR +; CHECK-NEXT: ] +; CHECK-NEXT: Address: 0x{{[0-9,A-F]+}} +; CHECK-NEXT: Offset: 0x{{[0-9,A-F]+}} +; CHECK-NEXT: Size: {{[0-9]+}} +; CHECK-NEXT: Link: 0 +; CHECK-NEXT: Info: 0 +; CHECK-NEXT: AddressAlignment: 4 +; CHECK-NEXT: EntrySize: 0 ; See that at least first 3 instructions are correct: GP prologue -; CHECK-NEXT: ('_section_data', '3c1c0000 279c0000 0399e021 {{[0-9,a-f, ]*}}') +; CHECK-NEXT: SectionData ( +; CHECK-NEXT: 0000: 3C1C0000 279C0000 0399E021 {{[0-9,A-F, ]*}} +; CHECK: ) +; CHECK: } ; ModuleID = '../br1.c' target datalayout = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32" diff --git a/test/MC/Mips/elf-gprel-32-64.ll b/test/MC/Mips/elf-gprel-32-64.ll index b946822..47003fa 100644 --- a/test/MC/Mips/elf-gprel-32-64.ll +++ b/test/MC/Mips/elf-gprel-32-64.ll @@ -1,5 +1,5 @@ ; RUN: llc -filetype=obj -march=mips64el -mcpu=mips64 %s -o - \ -; RUN: | elf-dump --dump-section-data \ +; RUN: | llvm-readobj -r \ ; RUN: | FileCheck %s define i32 @test(i32 %c) nounwind { @@ -30,8 +30,11 @@ return: ; Check that the appropriate relocations were created. ; R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE -; CHECK: (('sh_name', 0x{{[a-z0-9]+}}) # '.rela.rodata' -; CHECK: ('r_type3', 0x00) -; CHECK-NEXT: ('r_type2', 0x12) -; CHECK-NEXT: ('r_type', 0x0c) - +; CHECK: Relocations [ +; CHECK: Section ({{[a-z0-9]+}}) .rodata { +; CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +; CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +; CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +; CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +; CHECK-NEXT: } +; CHECK-NEXT: ] diff --git a/test/MC/Mips/elf-reginfo.ll b/test/MC/Mips/elf-reginfo.ll index 1d7a188..a255af9 100644 --- a/test/MC/Mips/elf-reginfo.ll +++ b/test/MC/Mips/elf-reginfo.ll @@ -1,7 +1,7 @@ ; RUN: llc -filetype=obj -march=mips64el -mcpu=mips64 %s -o - \ - ; RUN: | elf-dump --dump-section-data | FileCheck --check-prefix=CHECK_64 %s + ; RUN: | llvm-readobj -s | FileCheck --check-prefix=CHECK_64 %s ; RUN: llc -filetype=obj -march=mipsel -mcpu=mips32 %s -o - \ - ; RUN: | elf-dump --dump-section-data | FileCheck --check-prefix=CHECK_32 %s + ; RUN: | llvm-readobj -s | FileCheck --check-prefix=CHECK_32 %s ; Check for register information sections. ; @@ -13,14 +13,18 @@ entry: ; Check that the appropriate relocations were created. ; check for .MIPS.options -; CHECK_64: (('sh_name', 0x{{[0-9|a-f]+}}) # '.MIPS.options' -; CHECK_64-NEXT: ('sh_type', 0x7000000d) -; CHECK_64-NEXT: ('sh_flags', 0x0000000008000002) +; CHECK_64: Sections [ +; CHECK_64: Section { +; CHECK_64: Name: .MIPS.options +; CHECK_64-NEXT: Type: SHT_MIPS_OPTIONS +; CHECK_64-NEXT: Flags [ (0x8000002) ; check for .reginfo -; CHECK_32: (('sh_name', 0x{{[0-9|a-f]+}}) # '.reginfo' -; CHECK_32-NEXT: ('sh_type', 0x70000006) -; CHECK_32-NEXT: ('sh_flags', 0x00000002) +; CHECK_32: Sections [ +; CHECK_32: Section { +; CHECK_32: Name: .reginfo +; CHECK_32-NEXT: Type: SHT_MIPS_REGINFO +; CHECK_32-NEXT: Flags [ (0x2) %puts = tail call i32 @puts(i8* getelementptr inbounds ([12 x i8]* @str, i64 0, i64 0)) @@ -28,4 +32,3 @@ entry: } declare i32 @puts(i8* nocapture) nounwind - diff --git a/test/MC/Mips/elf-relsym.ll b/test/MC/Mips/elf-relsym.ll index 0f74437..6da9262 100644 --- a/test/MC/Mips/elf-relsym.ll +++ b/test/MC/Mips/elf-relsym.ll @@ -1,11 +1,21 @@ -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | llvm-readobj -t | FileCheck %s ; Check that the appropriate symbols were created. -; CHECK: (('st_name', 0x{{[0-9|a-f]+}}) # '$.str' -; CHECK: (('st_name', 0x{{[0-9|a-f]+}}) # '$.str1' -; CHECK: (('st_name', 0x{{[0-9|a-f]+}}) # '$CPI0_0' -; CHECK: (('st_name', 0x{{[0-9|a-f]+}}) # '$CPI0_1' +; CHECK: Symbols [ +; CHECK: Symbol { +; CHECK: Name: $.str +; CHECK: } +; CHECK: Symbol { +; CHECK: Name: $.str1 +; CHECK: } +; CHECK: Symbol { +; CHECK: Name: $CPI0_0 +; CHECK: } +; CHECK: Symbol { +; CHECK: Name: $CPI0_1 +; CHECK: } +; CHECK: ] @.str = private unnamed_addr constant [6 x i8] c"abcde\00", align 1 @gc1 = external global i8* diff --git a/test/MC/Mips/elf-tls.ll b/test/MC/Mips/elf-tls.ll index b4183b8..9f604e0 100644 --- a/test/MC/Mips/elf-tls.ll +++ b/test/MC/Mips/elf-tls.ll @@ -1,10 +1,14 @@ -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | llvm-readobj -r | FileCheck %s ; Check that the appropriate relocations were created. -; CHECK: ('r_type', 0x2b) -; CHECK: ('r_type', 0x2c) -; CHECK: ('r_type', 0x2d) +; CHECK: Relocations [ +; CHECK: Section (1) .text { +; CHECK: R_MIPS_TLS_LDM +; CHECK: R_MIPS_TLS_DTPREL_HI16 +; CHECK: R_MIPS_TLS_DTPREL_LO16 +; CHECK: } +; CHECK: ] @t1 = thread_local global i32 0, align 4 diff --git a/test/MC/Mips/elf_basic.s b/test/MC/Mips/elf_basic.s index ffc3b11..6c1e769 100644 --- a/test/MC/Mips/elf_basic.s +++ b/test/MC/Mips/elf_basic.s @@ -1,35 +1,41 @@ // 32 bit big endian -// RUN: llvm-mc -filetype=obj -triple mips-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE32 %s +// RUN: llvm-mc -filetype=obj -triple mips-unknown-linux %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE32 %s // 32 bit little endian -// RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-LE32 %s +// RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-LE32 %s // 64 bit big endian -// RUN: llvm-mc -filetype=obj -arch=mips64 -triple mips64-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE64 %s +// RUN: llvm-mc -filetype=obj -arch=mips64 -triple mips64-unknown-linux %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE64 %s // 64 bit little endian -// RUN: llvm-mc -filetype=obj -arch=mips64el -triple mips64el-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-LE64 %s +// RUN: llvm-mc -filetype=obj -arch=mips64el -triple mips64el-unknown-linux %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-LE64 %s // Check that we produce 32 bit with each endian. -// This is 32 bit. -// CHECK-BE32: ('e_indent[EI_CLASS]', 0x01) -// This is big endian. -// CHECK-BE32: ('e_indent[EI_DATA]', 0x02) +// CHECK-BE32: ElfHeader { +// CHECK-BE32: Ident { +// CHECK-BE32: Class: 32-bit +// CHECK-BE32: DataEncoding: BigEndian +// CHECK-BE32: } +// CHECK-BE32: } -// This is 32 bit. -// CHECK-LE32: ('e_indent[EI_CLASS]', 0x01) -// This is little endian. -// CHECK-LE32: ('e_indent[EI_DATA]', 0x01) +// CHECK-LE32: ElfHeader { +// CHECK-LE32: Ident { +// CHECK-LE32: Class: 32-bit +// CHECK-LE32: DataEncoding: LittleEndian +// CHECK-LE32: } +// CHECK-LE32: } // Check that we produce 64 bit with each endian. -// This is 64 bit. -// CHECK-BE64: ('e_indent[EI_CLASS]', 0x02) -// This is big endian. -// CHECK-BE64: ('e_indent[EI_DATA]', 0x02) +// CHECK-BE64: ElfHeader { +// CHECK-BE64: Ident { +// CHECK-BE64: Class: 64-bit +// CHECK-BE64: DataEncoding: BigEndian +// CHECK-BE64: } +// CHECK-BE64: } -// This is 64 bit. -// CHECK-LE64: ('e_indent[EI_CLASS]', 0x02) -// This is little endian. -// CHECK-LE64: ('e_indent[EI_DATA]', 0x01) - -// Check that we are setting EI_OSABI to ELFOSABI_LINUX. -// CHECK-LE64: ('e_indent[EI_OSABI]', 0x03) +// CHECK-LE64: ElfHeader { +// CHECK-LE64: Ident { +// CHECK-LE64: Class: 64-bit +// CHECK-LE64: DataEncoding: LittleEndian +// CHECK-LE64: OS/ABI: GNU/Linux +// CHECK-LE64: } +// CHECK-LE64: } diff --git a/test/MC/Mips/elf_eflags.ll b/test/MC/Mips/elf_eflags.ll index 315cb81..6d16a42 100644 --- a/test/MC/Mips/elf_eflags.ll +++ b/test/MC/Mips/elf_eflags.ll @@ -13,52 +13,52 @@ ; EF_MIPS_ARCH_32R2 (0x70000000) ; EF_MIPS_ARCH_64R2 (0x80000000) -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32 -relocation-model=static %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE32 %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32 %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE32_PIC %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -relocation-model=static %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE32R2 %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE32R2_PIC %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips -relocation-model=static %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE32R2-MICROMIPS %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE32R2-MICROMIPS_PIC %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32 -relocation-model=static %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE32 %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32 %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE32_PIC %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -relocation-model=static %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE32R2 %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE32R2_PIC %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips -relocation-model=static %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE32R2-MICROMIPS %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE32R2-MICROMIPS_PIC %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64 -relocation-model=static %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE64 %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64 %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE64_PIC %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64r2 -relocation-model=static %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE64R2 %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64r2 %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-BE64R2_PIC %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64 -relocation-model=static %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE64 %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64 %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE64_PIC %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64r2 -relocation-model=static %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE64R2 %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips64r2 %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-BE64R2_PIC %s -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+mips16 -relocation-model=pic %s -o - | elf-dump --dump-section-data | FileCheck -check-prefix=CHECK-LE32R2-MIPS16 %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+mips16 -relocation-model=pic %s -o - | llvm-readobj -h | FileCheck -check-prefix=CHECK-LE32R2-MIPS16 %s ; 32(R1) bit with NO_REORDER and static -; CHECK-BE32: ('e_flags', 0x50001001) +; CHECK-BE32: Flags [ (0x50001001) ; ; 32(R1) bit with NO_REORDER and PIC -; CHECK-BE32_PIC: ('e_flags', 0x50001003) +; CHECK-BE32_PIC: Flags [ (0x50001003) ; ; 32R2 bit with NO_REORDER and static -; CHECK-BE32R2: ('e_flags', 0x70001001) +; CHECK-BE32R2: Flags [ (0x70001001) ; ; 32R2 bit with NO_REORDER and PIC -; CHECK-BE32R2_PIC: ('e_flags', 0x70001003) +; CHECK-BE32R2_PIC: Flags [ (0x70001003) ; ; 32R2 bit MICROMIPS with NO_REORDER and static -; CHECK-BE32R2-MICROMIPS: ('e_flags', 0x72001001) +; CHECK-BE32R2-MICROMIPS: Flags [ (0x72001001) ; ; 32R2 bit MICROMIPS with NO_REORDER and PIC -;CHECK-BE32R2-MICROMIPS_PIC: ('e_flags', 0x72001003) +;CHECK-BE32R2-MICROMIPS_PIC: Flags [ (0x72001003) ; ; 64(R1) bit with NO_REORDER and static -; CHECK-BE64: ('e_flags', 0x60000001) +; CHECK-BE64: Flags [ (0x60000001) ; ; 64(R1) bit with NO_REORDER and PIC -; CHECK-BE64_PIC: ('e_flags', 0x60000003) +; CHECK-BE64_PIC: Flags [ (0x60000003) ; ; 64R2 bit with NO_REORDER and static -; CHECK-BE64R2: ('e_flags', 0x80000001) +; CHECK-BE64R2: Flags [ (0x80000001) ; ; 64R2 bit with NO_REORDER and PIC -; CHECK-BE64R2_PIC: ('e_flags', 0x80000003) +; CHECK-BE64R2_PIC: Flags [ (0x80000003) ; ; 32R2 bit MIPS16 with PIC -; CHECK-LE32R2-MIPS16: ('e_flags', 0x74001002) +; CHECK-LE32R2-MIPS16: Flags [ (0x74001002) define i32 @main() nounwind { entry: diff --git a/test/MC/Mips/elf_st_other.ll b/test/MC/Mips/elf_st_other.ll index f188ce7..bc56c00 100644 --- a/test/MC/Mips/elf_st_other.ll +++ b/test/MC/Mips/elf_st_other.ll @@ -1,13 +1,12 @@ ; This tests value of ELF st_other field for function symbol table entries. ; For microMIPS value should be equal to STO_MIPS_MICROMIPS. -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips %s -o - | elf-dump --dump-section-data | FileCheck %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips %s -o - | llvm-readobj -t | FileCheck %s define i32 @main() nounwind { entry: ret i32 0 } -; CHECK: 'main' -; CHECK: ('st_other', 0x80) - +; CHECK: Name: main +; CHECK: Other: 128 diff --git a/test/MC/Mips/higher_highest.ll b/test/MC/Mips/higher_highest.ll index 0c66522..6c3d71f 100644 --- a/test/MC/Mips/higher_highest.ll +++ b/test/MC/Mips/higher_highest.ll @@ -1,14 +1,16 @@ -; DISABLE: llc -march=mips64el -mcpu=mips64 -mattr=n64 -force-mips-long-branch -filetype=obj < %s -o - | elf-dump --dump-section-data | FileCheck %s +; DISABLE: llc -march=mips64el -mcpu=mips64 -mattr=n64 -force-mips-long-branch -filetype=obj < %s -o - | llvm-readobj -r | FileCheck %s ; RUN: false ; XFAIL: * ; Disabled because currently we don't have a way to generate these relocations. ; ; Check that the R_MIPS_HIGHER and R_MIPS_HIGHEST relocations were created. -; CHECK: ('r_type', 0x1d) -; CHECK: ('r_type', 0x1d) -; CHECK: ('r_type', 0x1c) -; CHECK: ('r_type', 0x1c) +; CHECK: Relocations [ +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_HIGHEST +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_HIGHEST +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_HIGHER +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_HIGHER +; CHECK: ] @g0 = external global i32 diff --git a/test/MC/Mips/r-mips-got-disp.ll b/test/MC/Mips/r-mips-got-disp.ll index 73396ac..7e78a46 100644 --- a/test/MC/Mips/r-mips-got-disp.ll +++ b/test/MC/Mips/r-mips-got-disp.ll @@ -1,8 +1,9 @@ -; RUN: llc -march=mips64el -filetype=obj -mcpu=mips64r2 < %s -o - | elf-dump --dump-section-data | FileCheck %s +; RUN: llc -march=mips64el -filetype=obj -mcpu=mips64r2 < %s -o - | llvm-readobj -r | FileCheck %s ; Check that the R_MIPS_GOT_DISP relocations were created. -; CHECK: ('r_type', 0x13) +; CHECK: Relocations [ +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_DISP @shl = global i64 1, align 8 @.str = private unnamed_addr constant [8 x i8] c"0x%llx\0A\00", align 1 diff --git a/test/MC/Mips/sym-offset.ll b/test/MC/Mips/sym-offset.ll index 5162c91..c7450f7 100644 --- a/test/MC/Mips/sym-offset.ll +++ b/test/MC/Mips/sym-offset.ll @@ -1,4 +1,4 @@ -; DISABLED: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | elf-dump --dump-section-data | FileCheck %s +; DISABLED: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | llvm-readobj -s -sd | FileCheck %s ; RUN: false ; XFAIL: * @@ -13,7 +13,9 @@ entry: ; 8841000e lwl at,14(v0) ; 9841000b lwr at,11(v0) -; CHECK: ('_section_data', '00001c3c 00009c27 21e09903 0000828f 0e004188 0b004198 +; CHECK: SectionData ( +; CHECK: 0000: 00001C3C 00009C27 21E09903 0000828F +; CHECK-NEXT: 0010: 0E004188 0B004198 %call = tail call i32 @memcmp(i8* getelementptr inbounds ([11 x i8]* @string1, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @string2, i32 0, i32 0), i32 4) nounwind readonly %cmp = icmp eq i32 %call, 0 diff --git a/test/MC/Mips/xgot.ll b/test/MC/Mips/xgot.ll index bfe9b9a..e2a500f 100644 --- a/test/MC/Mips/xgot.ll +++ b/test/MC/Mips/xgot.ll @@ -1,4 +1,4 @@ -; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mxgot %s -o - | elf-dump --dump-section-data | FileCheck %s +; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mxgot %s -o - | llvm-readobj -r | FileCheck %s @.str = private unnamed_addr constant [16 x i8] c"ext_1=%d, i=%d\0A\00", align 1 @ext_1 = external global i32 @@ -9,29 +9,16 @@ entry: ; Check that the appropriate relocations were created. ; For the xgot case we want to see R_MIPS_[GOT|CALL]_[HI|LO]16. -; R_MIPS_HI16 -; CHECK: ('r_type', 0x05) - -; R_MIPS_LO16 -; CHECK: ('r_type', 0x06) - -; R_MIPS_GOT_HI16 -; CHECK: ('r_type', 0x16) - -; R_MIPS_GOT_LO16 -; CHECK: ('r_type', 0x17) - -; R_MIPS_GOT -; CHECK: ('r_type', 0x09) - -; R_MIPS_LO16 -; CHECK: ('r_type', 0x06) - -; R_MIPS_CALL_HI16 -; CHECK: ('r_type', 0x1e) - -; R_MIPS_CALL_LO16 -; CHECK: ('r_type', 0x1f) +; CHECK: Relocations [ +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_HI16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_LO16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_HI16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_LO16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_LO16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_CALL_HI16 +; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_CALL_LO16 +; CHECK: ] %0 = load i32* @ext_1, align 4 %call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([16 x i8]* @.str, i32 0, i32 0), i32 %0) nounwind |