67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
## Test how yaml2obj creates SHT_MIPS_ABIFLAGS sections.
|
|
|
|
# RUN: yaml2obj %s -o %t
|
|
# RUN: llvm-readobj -A %t | FileCheck %s
|
|
|
|
# CHECK: MIPS ABI Flags {
|
|
# CHECK-NEXT: Version: 0
|
|
# CHECK-NEXT: ISA: MIPS64r5
|
|
# CHECK-NEXT: ISA Extension: Cavium Networks Octeon3 (0x13)
|
|
# CHECK-NEXT: ASEs [ (0x103)
|
|
# CHECK-NEXT: DSP (0x1)
|
|
# CHECK-NEXT: DSPR2 (0x2)
|
|
# CHECK-NEXT: VZ (0x100)
|
|
# CHECK-NEXT: ]
|
|
# CHECK-NEXT: FP ABI: Hard float (double precision) (0x1)
|
|
# CHECK-NEXT: GPR size: 64
|
|
# CHECK-NEXT: CPR1 size: 64
|
|
# CHECK-NEXT: CPR2 size: 0
|
|
# CHECK-NEXT: Flags 1 [ (0x1)
|
|
# CHECK-NEXT: ODDSPREG (0x1)
|
|
# CHECK-NEXT: ]
|
|
# CHECK-NEXT: Flags 2: 0x0
|
|
# CHECK-NEXT: }
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: [[MACHINE=EM_MIPS]]
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
AddressAlign: 8
|
|
Version: 0
|
|
ISA: MIPS64
|
|
ISARevision: 5
|
|
ISAExtension: EXT_OCTEON3
|
|
ASEs: [ DSP, DSPR2, VIRT ]
|
|
FpABI: FP_DOUBLE
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|
|
Flags1: [ ODDSPREG ]
|
|
Flags2: 0x0
|
|
Content: [[CONTENT=<none>]]
|
|
Size: [[SIZE=<none>]]
|
|
|
|
## Check we don't recognize the SHT_MIPS_ABIFLAGS section for non-MIPS targets.
|
|
|
|
# RUN: not yaml2obj %s -DMACHINE=EM_NONE 2>&1 | FileCheck %s --check-prefix=ERR
|
|
|
|
# ERR: error: invalid hex32 number
|
|
# ERR-NEXT: Type: SHT_MIPS_ABIFLAGS
|
|
|
|
## Document we don't support the "Content" key yet.
|
|
|
|
# RUN: not yaml2obj %s -DCONTENT="'00'" 2>&1 | FileCheck %s --check-prefix=ERR-CONTENT
|
|
|
|
# ERR-CONTENT: error: "Content" key is not implemented for SHT_MIPS_ABIFLAGS section
|
|
|
|
## Document we don't support the "Size" key yet.
|
|
|
|
# RUN: not yaml2obj %s -DSIZE=0 2>&1 | FileCheck %s --check-prefix=ERR-SIZE
|
|
|
|
# ERR-SIZE: error: "Size" key is not implemented for SHT_MIPS_ABIFLAGS section
|