163 lines · plain
1# REQUIRES: mips2#3# Check warning and errors in case of input4# files with incompatible floating point ABI flags.5 6# RUN: yaml2obj --docnum=1 %s -o %t-dbl.o7# RUN: yaml2obj --docnum=2 %s -o %t-sgl.o8# RUN: yaml2obj --docnum=3 %s -o %t-soft.o9# RUN: yaml2obj --docnum=4 %s -o %t-fp64.o10# RUN: yaml2obj --docnum=5 %s -o %t-fp64old.o11# RUN: yaml2obj --docnum=6 %s -o %t-fp64a.o12# RUN: yaml2obj --docnum=7 %s -o %t-fpxx.o13 14# RUN: not ld.lld %t-dbl.o %t-fp64.o -shared -o /dev/null 2>&1 \15# RUN: | FileCheck -check-prefixes=DBLFP64 %s16 17# RUN: not ld.lld %t-sgl.o %t-fp64old.o -shared -o /dev/null 2>&1 \18# RUN: | FileCheck -check-prefixes=SGLFP64OLD %s19 20# RUN: not ld.lld %t-soft.o %t-fp64a.o -shared -o /dev/null 2>&1 \21# RUN: | FileCheck -check-prefixes=SOFTFP64A %s22 23# RUN: not ld.lld %t-sgl.o %t-fpxx.o -shared -o /dev/null 2>&1 \24# RUN: | FileCheck -check-prefixes=SGLFPXX %s25 26# DBLFP64: {{.*}}fp64.o: floating point ABI '-mgp32 -mfp64' is incompatible with target floating point ABI '-mdouble-float'27# SGLFP64OLD: {{.*}}fp64old.o: floating point ABI '-mgp32 -mfp64 (old)' is incompatible with target floating point ABI '-msingle-float'28# SOFTFP64A: {{.*}}fp64a.o: floating point ABI '-mgp32 -mfp64 -mno-odd-spreg' is incompatible with target floating point ABI '-msoft-float'29# SGLFPXX: {{.*}}fpxx.o: floating point ABI '-mfpxx' is incompatible with target floating point ABI '-msingle-float'30 31# dbl.o32--- !ELF33FileHeader:34 Class: ELFCLASS6435 Data: ELFDATA2MSB36 Type: ET_REL37 Machine: EM_MIPS38 Flags: [ EF_MIPS_ARCH_64 ]39 40Sections:41- Name: .MIPS.abiflags42 Type: SHT_MIPS_ABIFLAGS43 ISA: MIPS6444 ASEs: []45 FpABI: FP_DOUBLE46 GPRSize: REG_6447 CPR1Size: REG_6448 CPR2Size: REG_NONE49 50# sgl.o51--- !ELF52FileHeader:53 Class: ELFCLASS6454 Data: ELFDATA2MSB55 Type: ET_REL56 Machine: EM_MIPS57 Flags: [ EF_MIPS_ARCH_64 ]58 59Sections:60- Name: .MIPS.abiflags61 Type: SHT_MIPS_ABIFLAGS62 ISA: MIPS6463 ASEs: []64 FpABI: FP_SINGLE65 GPRSize: REG_6466 CPR1Size: REG_6467 CPR2Size: REG_NONE68 69# soft.o70--- !ELF71FileHeader:72 Class: ELFCLASS6473 Data: ELFDATA2MSB74 Type: ET_REL75 Machine: EM_MIPS76 Flags: [ EF_MIPS_ARCH_64 ]77 78Sections:79- Name: .MIPS.abiflags80 Type: SHT_MIPS_ABIFLAGS81 ISA: MIPS6482 ASEs: []83 FpABI: FP_SOFT84 GPRSize: REG_6485 CPR1Size: REG_6486 CPR2Size: REG_NONE87 88# fp64.o89--- !ELF90FileHeader:91 Class: ELFCLASS6492 Data: ELFDATA2MSB93 Type: ET_REL94 Machine: EM_MIPS95 Flags: [ EF_MIPS_ARCH_64 ]96 97Sections:98- Name: .MIPS.abiflags99 Type: SHT_MIPS_ABIFLAGS100 ISA: MIPS64101 ASEs: []102 FpABI: FP_64103 GPRSize: REG_64104 CPR1Size: REG_64105 CPR2Size: REG_NONE106 107# fp64old.o108--- !ELF109FileHeader:110 Class: ELFCLASS64111 Data: ELFDATA2MSB112 Type: ET_REL113 Machine: EM_MIPS114 Flags: [ EF_MIPS_ARCH_64 ]115 116Sections:117- Name: .MIPS.abiflags118 Type: SHT_MIPS_ABIFLAGS119 ISA: MIPS64120 ASEs: []121 FpABI: FP_OLD_64122 GPRSize: REG_64123 CPR1Size: REG_64124 CPR2Size: REG_NONE125 126# fp64a.o127--- !ELF128FileHeader:129 Class: ELFCLASS64130 Data: ELFDATA2MSB131 Type: ET_REL132 Machine: EM_MIPS133 Flags: [ EF_MIPS_ARCH_64 ]134 135Sections:136- Name: .MIPS.abiflags137 Type: SHT_MIPS_ABIFLAGS138 ISA: MIPS64139 ASEs: []140 FpABI: FP_64A141 GPRSize: REG_64142 CPR1Size: REG_64143 CPR2Size: REG_NONE144 145# fpxx.o146--- !ELF147FileHeader:148 Class: ELFCLASS64149 Data: ELFDATA2MSB150 Type: ET_REL151 Machine: EM_MIPS152 Flags: [ EF_MIPS_ARCH_64 ]153 154Sections:155- Name: .MIPS.abiflags156 Type: SHT_MIPS_ABIFLAGS157 ISA: MIPS64158 ASEs: []159 FpABI: FP_XX160 GPRSize: REG_64161 CPR1Size: REG_64162 CPR2Size: REG_NONE163