forked from OSchip/llvm-project
163 lines
3.7 KiB
Plaintext
163 lines
3.7 KiB
Plaintext
# REQUIRES: mips
|
|
#
|
|
# Check warning and errors in case of input
|
|
# files with incompatible floating point ABI flags.
|
|
|
|
# RUN: yaml2obj -docnum 1 %s -o %t-dbl.o
|
|
# RUN: yaml2obj -docnum 2 %s -o %t-sgl.o
|
|
# RUN: yaml2obj -docnum 3 %s -o %t-soft.o
|
|
# RUN: yaml2obj -docnum 4 %s -o %t-fp64.o
|
|
# RUN: yaml2obj -docnum 5 %s -o %t-fp64old.o
|
|
# RUN: yaml2obj -docnum 6 %s -o %t-fp64a.o
|
|
# RUN: yaml2obj -docnum 7 %s -o %t-fpxx.o
|
|
|
|
# RUN: not ld.lld %t-dbl.o %t-fp64.o -shared -o /dev/null 2>&1 \
|
|
# RUN: | FileCheck -check-prefixes=DBLFP64 %s
|
|
|
|
# RUN: not ld.lld %t-sgl.o %t-fp64old.o -shared -o /dev/null 2>&1 \
|
|
# RUN: | FileCheck -check-prefixes=SGLFP64OLD %s
|
|
|
|
# RUN: not ld.lld %t-soft.o %t-fp64a.o -shared -o /dev/null 2>&1 \
|
|
# RUN: | FileCheck -check-prefixes=SOFTFP64A %s
|
|
|
|
# RUN: not ld.lld %t-sgl.o %t-fpxx.o -shared -o /dev/null 2>&1 \
|
|
# RUN: | FileCheck -check-prefixes=SGLFPXX %s
|
|
|
|
# DBLFP64: {{.*}}fp64.o: floating point ABI '-mgp32 -mfp64' is incompatible with target floating point ABI '-mdouble-float'
|
|
# SGLFP64OLD: {{.*}}fp64old.o: floating point ABI '-mgp32 -mfp64 (old)' is incompatible with target floating point ABI '-msingle-float'
|
|
# SOFTFP64A: {{.*}}fp64a.o: floating point ABI '-mgp32 -mfp64 -mno-odd-spreg' is incompatible with target floating point ABI '-msoft-float'
|
|
# SGLFPXX: {{.*}}fpxx.o: floating point ABI '-mfpxx' is incompatible with target floating point ABI '-msingle-float'
|
|
|
|
# dbl.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ARCH_64 ]
|
|
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
ISA: MIPS64
|
|
ASEs: []
|
|
FpABI: FP_DOUBLE
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|
|
|
|
# sgl.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ARCH_64 ]
|
|
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
ISA: MIPS64
|
|
ASEs: []
|
|
FpABI: FP_SINGLE
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|
|
|
|
# soft.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ARCH_64 ]
|
|
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
ISA: MIPS64
|
|
ASEs: []
|
|
FpABI: FP_SOFT
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|
|
|
|
# fp64.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ARCH_64 ]
|
|
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
ISA: MIPS64
|
|
ASEs: []
|
|
FpABI: FP_64
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|
|
|
|
# fp64old.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ARCH_64 ]
|
|
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
ISA: MIPS64
|
|
ASEs: []
|
|
FpABI: FP_OLD_64
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|
|
|
|
# fp64a.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ARCH_64 ]
|
|
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
ISA: MIPS64
|
|
ASEs: []
|
|
FpABI: FP_64A
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|
|
|
|
# fpxx.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ARCH_64 ]
|
|
|
|
Sections:
|
|
- Name: .MIPS.abiflags
|
|
Type: SHT_MIPS_ABIFLAGS
|
|
ISA: MIPS64
|
|
ASEs: []
|
|
FpABI: FP_XX
|
|
GPRSize: REG_64
|
|
CPR1Size: REG_64
|
|
CPR2Size: REG_NONE
|