Index: test/Object/Mips/elf-abi.yaml =================================================================== --- test/Object/Mips/elf-abi.yaml +++ /dev/null @@ -1,136 +0,0 @@ -# RUN: yaml2obj -docnum=1 %s > %t.o32 -# RUN: llvm-readobj --file-headers %t.o32 | FileCheck -check-prefix=O32OBJ %s -# RUN: obj2yaml %t.o32 | FileCheck -check-prefix=O32YAML %s - -# O32OBJ: Flags [ (0x50001002) -# O32OBJ-NEXT: EF_MIPS_ABI_O32 (0x1000) -# O32OBJ-NEXT: EF_MIPS_ARCH_32 (0x50000000) -# O32OBJ-NEXT: EF_MIPS_PIC (0x2) -# O32OBJ-NEXT: ] - -# O32YAML: Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ] - -# RUN: yaml2obj -docnum=2 %s > %t.o64 -# RUN: llvm-readobj --file-headers %t.o64 | FileCheck -check-prefix=O64OBJ %s -# RUN: obj2yaml %t.o64 | FileCheck -check-prefix=O64YAML %s - -# O64OBJ: Flags [ (0x60002002) -# O64OBJ-NEXT: EF_MIPS_ABI_O64 (0x2000) -# O64OBJ-NEXT: EF_MIPS_ARCH_64 (0x60000000) -# O64OBJ-NEXT: EF_MIPS_PIC (0x2) -# O64OBJ-NEXT: ] - -# O64YAML: Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_O64, EF_MIPS_ARCH_64 ] - -# RUN: yaml2obj -docnum=3 %s > %t.eabi32 -# RUN: llvm-readobj --file-headers %t.eabi32 | FileCheck -check-prefix=E32OBJ %s -# RUN: obj2yaml %t.eabi32 | FileCheck -check-prefix=E32YAML %s - -# E32OBJ: Flags [ (0x50003002) -# E32OBJ-NEXT: EF_MIPS_ABI_EABI32 (0x3000) -# E32OBJ-NEXT: EF_MIPS_ARCH_32 (0x50000000) -# E32OBJ-NEXT: EF_MIPS_PIC (0x2) -# E32OBJ-NEXT: ] - -# E32YAML: Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_EABI32, EF_MIPS_ARCH_32 ] - -# RUN: yaml2obj -docnum=4 %s > %t.eabi64 -# RUN: llvm-readobj --file-headers %t.eabi64 | FileCheck -check-prefix=E64OBJ %s -# RUN: obj2yaml %t.eabi64 | FileCheck -check-prefix=E64YAML %s - -# E64OBJ: Flags [ (0x60004002) -# E64OBJ-NEXT: EF_MIPS_ABI_EABI64 (0x4000) -# E64OBJ-NEXT: EF_MIPS_ARCH_64 (0x60000000) -# E64OBJ-NEXT: EF_MIPS_PIC (0x2) -# E64OBJ-NEXT: ] - -# E64YAML: Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_EABI64, EF_MIPS_ARCH_64 ] - -# o32 ---- !ELF -FileHeader: - Class: ELFCLASS32 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_MIPS - Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ] -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 16 - Size: 4 - -Symbols: - - Name: T1 - Section: .text - Value: 0 - Size: 4 - Binding: STB_GLOBAL - -# o64 ---- !ELF -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_MIPS - Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_O64, EF_MIPS_ARCH_64 ] -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 16 - Size: 4 - -Symbols: - - Name: T1 - Section: .text - Value: 0 - Size: 4 - Binding: STB_GLOBAL - -# eabio32 ---- !ELF -FileHeader: - Class: ELFCLASS32 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_MIPS - Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_EABI32, EF_MIPS_ARCH_32 ] -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 16 - Size: 4 - -Symbols: - - Name: T1 - Section: .text - Value: 0 - Size: 4 - Binding: STB_GLOBAL - -# eabi64 ---- !ELF -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_MIPS - Flags: [ EF_MIPS_PIC, EF_MIPS_ABI_EABI64, EF_MIPS_ARCH_64 ] -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 16 - Size: 4 - -Symbols: - - Name: T1 - Section: .text - Value: 0 - Size: 4 - Binding: STB_GLOBAL -... Index: test/Object/Mips/elf-flags.yaml =================================================================== --- test/Object/Mips/elf-flags.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# RUN: yaml2obj %s > %t -# RUN: llvm-readobj --file-headers %t | FileCheck -check-prefix=OBJ %s -# RUN: obj2yaml %t | FileCheck -check-prefix=YAML %s - -# OBJ: Flags [ (0x9E8B1727) -# OBJ-NEXT: EF_MIPS_32BITMODE (0x100) -# OBJ-NEXT: EF_MIPS_ABI2 (0x20) -# OBJ-NEXT: EF_MIPS_ABI_O32 (0x1000) -# OBJ-NEXT: EF_MIPS_ARCH_32R6 (0x90000000) -# OBJ-NEXT: EF_MIPS_ARCH_ASE_M16 (0x4000000) -# OBJ-NEXT: EF_MIPS_ARCH_ASE_MDMX (0x8000000) -# OBJ-NEXT: EF_MIPS_CPIC (0x4) -# OBJ-NEXT: EF_MIPS_FP64 (0x200) -# OBJ-NEXT: EF_MIPS_MACH_OCTEON (0x8B0000) -# OBJ-NEXT: EF_MIPS_MICROMIPS (0x2000000) -# OBJ-NEXT: EF_MIPS_NAN2008 (0x400) -# OBJ-NEXT: EF_MIPS_NOREORDER (0x1) -# OBJ-NEXT: EF_MIPS_PIC (0x2) -# OBJ-NEXT: ] - -# YAML: FileHeader: -# YAML-NEXT: Class: ELFCLASS32 -# YAML-NEXT: Data: ELFDATA2LSB -# YAML-NEXT: Type: ET_REL -# YAML-NEXT: Machine: EM_MIPS -# YAML-NEXT: Flags: [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ABI2, EF_MIPS_32BITMODE, EF_MIPS_FP64, EF_MIPS_NAN2008, EF_MIPS_MICROMIPS, EF_MIPS_ARCH_ASE_M16, EF_MIPS_ARCH_ASE_MDMX, EF_MIPS_ABI_O32, EF_MIPS_MACH_OCTEON, EF_MIPS_ARCH_32R6 ] - ---- !ELF -FileHeader: - Class: ELFCLASS32 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_MIPS - Flags: [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ABI2, - EF_MIPS_32BITMODE, EF_MIPS_FP64, EF_MIPS_NAN2008, - EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R6, - EF_MIPS_MICROMIPS, EF_MIPS_ARCH_ASE_M16, - EF_MIPS_ARCH_ASE_MDMX, EF_MIPS_MACH_OCTEON ] -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 16 - Size: 4 - -Symbols: - - Name: T1 - Section: .text - Value: 0 - Size: 4 - Binding: STB_GLOBAL -... Index: test/tools/obj2yaml/elf-mips-eflags.yaml =================================================================== --- /dev/null +++ test/tools/obj2yaml/elf-mips-eflags.yaml @@ -0,0 +1,380 @@ +## Check obj2yaml is able to decode all possible MIPS e_flags field values. + +## e_flags might keep both flags and regular values in a different bits. +## Here we test all flags at once. + +# RUN: yaml2obj --docnum=1 %s -o %t-non-flags +# RUN: obj2yaml %t-non-flags | FileCheck %s --check-prefix=FLAGS + +# FLAGS: Flags: [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ABI2, EF_MIPS_32BITMODE, EF_MIPS_FP64, EF_MIPS_NAN2008, EF_MIPS_MICROMIPS, EF_MIPS_ARCH_ASE_M16, EF_MIPS_ARCH_ASE_MDMX, EF_MIPS_ARCH_1 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ABI2, EF_MIPS_32BITMODE, + EF_MIPS_FP64, EF_MIPS_NAN2008, EF_MIPS_MICROMIPS, EF_MIPS_ARCH_ASE_M16, EF_MIPS_ARCH_ASE_MDMX] + +## Test EF_MIPS_ABI values. + +# RUN: yaml2obj --docnum=2 %s -o %t-abi-o32 +# RUN: obj2yaml %t-abi-o32 | FileCheck %s -DABI=EF_MIPS_ABI_O32 --check-prefix=ABI +# RUN: yaml2obj --docnum=3 %s -o %t-abi-o64 +# RUN: obj2yaml %t-abi-o64 | FileCheck -DABI=EF_MIPS_ABI_O64 %s --check-prefix=ABI +# RUN: yaml2obj --docnum=4 %s -o %t-eabi32 +# RUN: obj2yaml %t-eabi32 | FileCheck -DABI=EF_MIPS_ABI_EABI32 %s --check-prefix=ABI +# RUN: yaml2obj --docnum=5 %s -o %t-eabi64 +# RUN: obj2yaml %t-eabi64 | FileCheck -DABI=EF_MIPS_ABI_EABI64 %s --check-prefix=ABI + +# ABI: Flags: [ [[ABI]], EF_MIPS_ARCH_1 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ABI_O32 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ABI_O64 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ABI_EABI32 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ABI_EABI64 ] + +## Test EF_MIPS_MACH values. + +# RUN: yaml2obj --docnum=6 %s -o %t-mach-3900 +# RUN: obj2yaml %t-mach-3900 | FileCheck %s -DMACH=EF_MIPS_MACH_3900 --check-prefix=MACH +# RUN: yaml2obj --docnum=7 %s -o %t-mach-4010 +# RUN: obj2yaml %t-mach-4010 | FileCheck %s -DMACH=EF_MIPS_MACH_4010 --check-prefix=MACH +# RUN: yaml2obj --docnum=8 %s -o %t-mach-4100 +# RUN: obj2yaml %t-mach-4100 | FileCheck %s -DMACH=EF_MIPS_MACH_4100 --check-prefix=MACH +# RUN: yaml2obj --docnum=9 %s -o %t-mach-4650 +# RUN: obj2yaml %t-mach-4650 | FileCheck %s -DMACH=EF_MIPS_MACH_4650 --check-prefix=MACH +# RUN: yaml2obj --docnum=10 %s -o %t-mach-4120 +# RUN: obj2yaml %t-mach-4120 | FileCheck %s -DMACH=EF_MIPS_MACH_4120 --check-prefix=MACH +# RUN: yaml2obj --docnum=11 %s -o %t-mach-4111 +# RUN: obj2yaml %t-mach-4111 | FileCheck %s -DMACH=EF_MIPS_MACH_4111 --check-prefix=MACH +# RUN: yaml2obj --docnum=12 %s -o %t-mach-sb1 +# RUN: obj2yaml %t-mach-sb1 | FileCheck %s -DMACH=EF_MIPS_MACH_SB1 --check-prefix=MACH +# RUN: yaml2obj --docnum=13 %s -o %t-mach-octeon +# RUN: obj2yaml %t-mach-octeon | FileCheck %s -DMACH=EF_MIPS_MACH_OCTEON --check-prefix=MACH +# RUN: yaml2obj --docnum=14 %s -o %t-mach-xlr +# RUN: obj2yaml %t-mach-xlr | FileCheck %s -DMACH=EF_MIPS_MACH_XLR --check-prefix=MACH +# RUN: yaml2obj --docnum=15 %s -o %t-mach-octeon2 +# RUN: obj2yaml %t-mach-octeon2 | FileCheck %s -DMACH=EF_MIPS_MACH_OCTEON2 --check-prefix=MACH +# RUN: yaml2obj --docnum=16 %s -o %t-mach-octeon3 +# RUN: obj2yaml %t-mach-octeon3 | FileCheck %s -DMACH=EF_MIPS_MACH_OCTEON3 --check-prefix=MACH +# RUN: yaml2obj --docnum=17 %s -o %t-mach-5400 +# RUN: obj2yaml %t-mach-5400 | FileCheck %s -DMACH=EF_MIPS_MACH_5400 --check-prefix=MACH +# RUN: yaml2obj --docnum=18 %s -o %t-mach-5900 +# RUN: obj2yaml %t-mach-5900 | FileCheck %s -DMACH=EF_MIPS_MACH_5900 --check-prefix=MACH +# RUN: yaml2obj --docnum=19 %s -o %t-mach-5500 +# RUN: obj2yaml %t-mach-5500 | FileCheck %s -DMACH=EF_MIPS_MACH_5500 --check-prefix=MACH +# RUN: yaml2obj --docnum=20 %s -o %t-mach-9000 +# RUN: obj2yaml %t-mach-9000 | FileCheck %s -DMACH=EF_MIPS_MACH_9000 --check-prefix=MACH +# RUN: yaml2obj --docnum=21 %s -o %t-mach-ls2e +# RUN: obj2yaml %t-mach-ls2e | FileCheck %s -DMACH=EF_MIPS_MACH_LS2E --check-prefix=MACH +# RUN: yaml2obj --docnum=22 %s -o %t-mach-ls2f +# RUN: obj2yaml %t-mach-ls2f | FileCheck %s -DMACH=EF_MIPS_MACH_LS2F --check-prefix=MACH +# RUN: yaml2obj --docnum=23 %s -o %t-mach-ls3a +# RUN: obj2yaml %t-mach-ls3a | FileCheck %s -DMACH=EF_MIPS_MACH_LS3A --check-prefix=MACH + +# MACH: Flags: [ [[MACH]], EF_MIPS_ARCH_1 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_3900 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_4010 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_4100 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_4650 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_4120 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_4111 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_SB1 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_OCTEON ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_XLR ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_OCTEON2 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_OCTEON3 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_5400 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_5900 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_5500 ] + + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_9000 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_LS2E ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_LS2F ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_MACH_LS3A ] + +## Test EF_MIPS_ARCH values. + +## EF_MIPS_ARCH_1 has value = 0x0, so it does not show up in obj2yaml output, +## when there are no other flags. + +# RUN: yaml2obj --docnum=24 %s -o %t-arch-1a +# RUN: obj2yaml %t-arch-1a | FileCheck %s --check-prefix=ARCH-1 +# RUN: yaml2obj --docnum=25 %s -o %t-arch-1b +# RUN: obj2yaml %t-arch-1b | FileCheck %s --check-prefix=ARCH-1 + +# ARCH-1-NOT: Flags: + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_1 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ ] + +# RUN: yaml2obj --docnum=26 %s -o %t-arch-2 +# RUN: obj2yaml %t-arch-2 | FileCheck %s -DARCH=EF_MIPS_ARCH_2 --check-prefix=ARCH +# RUN: yaml2obj --docnum=27 %s -o %t-arch-3 +# RUN: obj2yaml %t-arch-3 | FileCheck %s -DARCH=EF_MIPS_ARCH_3 --check-prefix=ARCH +# RUN: yaml2obj --docnum=28 %s -o %t-arch-4 +# RUN: obj2yaml %t-arch-4 | FileCheck %s -DARCH=EF_MIPS_ARCH_4 --check-prefix=ARCH +# RUN: yaml2obj --docnum=29 %s -o %t-arch-5 +# RUN: obj2yaml %t-arch-5 | FileCheck %s -DARCH=EF_MIPS_ARCH_5 --check-prefix=ARCH +# RUN: yaml2obj --docnum=30 %s -o %t-arch-32 +# RUN: obj2yaml %t-arch-32 | FileCheck %s -DARCH=EF_MIPS_ARCH_32 --check-prefix=ARCH +# RUN: yaml2obj --docnum=31 %s -o %t-arch-64 +# RUN: obj2yaml %t-arch-64 | FileCheck %s -DARCH=EF_MIPS_ARCH_64 --check-prefix=ARCH +# RUN: yaml2obj --docnum=32 %s -o %t-arch-32r2 +# RUN: obj2yaml %t-arch-32r2 | FileCheck %s -DARCH=EF_MIPS_ARCH_32R2 --check-prefix=ARCH +# RUN: yaml2obj --docnum=33 %s -o %t-arch-64r2 +# RUN: obj2yaml %t-arch-64r2 | FileCheck %s -DARCH=EF_MIPS_ARCH_64R2 --check-prefix=ARCH +# RUN: yaml2obj --docnum=34 %s -o %t-arch-32r6 +# RUN: obj2yaml %t-arch-32r6 | FileCheck %s -DARCH=EF_MIPS_ARCH_32R6 --check-prefix=ARCH +# RUN: yaml2obj --docnum=35 %s -o %t-arch-64r6 +# RUN: obj2yaml %t-arch-64r6 | FileCheck %s -DARCH=EF_MIPS_ARCH_64R6 --check-prefix=ARCH + +# ARCH: Flags: [ [[ARCH]] ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_2 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_3 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_4 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_5 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_32 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_64 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_32R2 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_64R2 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_32R6 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ARCH_64R6 ]