90 lines · plain
1# REQUIRES: mips2#3# Check warning and errors in case of input4# files with incompatible ELF header flags.5 6# RUN: yaml2obj --docnum=1 %s -o %t-n64.o7# RUN: yaml2obj --docnum=2 %s -o %t-o64.o8# RUN: yaml2obj --docnum=3 %s -o %t-n32.o9# RUN: yaml2obj --docnum=4 %s -o %t-o32.o10# RUN: yaml2obj --docnum=5 %s -o %t-eabi64.o11# RUN: yaml2obj --docnum=6 %s -o %t-eabi32.o12 13# RUN: not ld.lld %t-n64.o %t-eabi64.o -shared -o /dev/null 2>&1 \14# RUN: | FileCheck -check-prefixes=MM64,N64EABI64 %s15#16# RUN: not ld.lld %t-n64.o %t-o64.o -shared -o /dev/null 2>&1 \17# RUN: | FileCheck -check-prefixes=MM64,N64O64 %s18 19# RUN: not ld.lld %t-o32.o %t-eabi32.o -shared -o /dev/null 2>&1 \20# RUN: | FileCheck -check-prefixes=O32EABI32,FP64,CPIC1 %s21 22# RUN: not ld.lld %t-eabi32.o %t-o32.o -shared -o /dev/null 2>&1 \23# RUN: | FileCheck -check-prefix=CPIC2 %s24 25# MM64: {{.*}}n64.o: microMIPS 64-bit is not supported26 27# N64EABI64: {{.*}}eabi64.o: ABI 'eabi64' is incompatible with target ABI 'n64'28# N64O64: {{.*}}o64.o: ABI 'o64' is incompatible with target ABI 'n64'29# O32EABI32: {{.*}}eabi32.o: ABI 'eabi32' is incompatible with target ABI 'o32'30 31# NAN: {{.*}}o32.o: -mnan=legacy is incompatible with target -mnan=200832# FP64: {{.*}}eabi32.o: -mfp64 is incompatible with target -mfp3233 34# CPIC1: {{.*}}tmp-eabi32.o: linking non-abicalls code with abicalls code {{.*}}o32.o35# CPIC2: {{.*}}tmp-o32.o: linking abicalls code with non-abicalls code {{.*}}eabi32.o36 37# n64.o38--- !ELF39FileHeader:40 Class: ELFCLASS6441 Data: ELFDATA2MSB42 Type: ET_REL43 Machine: EM_MIPS44 Flags: [ EF_MIPS_ARCH_64, EF_MIPS_MICROMIPS ]45 46# o64.o47--- !ELF48FileHeader:49 Class: ELFCLASS6450 Data: ELFDATA2MSB51 Type: ET_REL52 Machine: EM_MIPS53 Flags: [ EF_MIPS_ABI_O64, EF_MIPS_ARCH_64 ]54 55# n32.o56--- !ELF57FileHeader:58 Class: ELFCLASS3259 Data: ELFDATA2MSB60 Type: ET_REL61 Machine: EM_MIPS62 Flags: [ EF_MIPS_ARCH_64, EF_MIPS_ABI2, EF_MIPS_NAN2008 ]63 64# o32.o65--- !ELF66FileHeader:67 Class: ELFCLASS3268 Data: ELFDATA2MSB69 Type: ET_REL70 Machine: EM_MIPS71 Flags: [ EF_MIPS_ARCH_32, EF_MIPS_ABI_O32, EF_MIPS_CPIC ]72 73# eabi64.o74--- !ELF75FileHeader:76 Class: ELFCLASS6477 Data: ELFDATA2MSB78 Type: ET_REL79 Machine: EM_MIPS80 Flags: [ EF_MIPS_ARCH_64, EF_MIPS_ABI_EABI64 ]81 82# eabi32.o83--- !ELF84FileHeader:85 Class: ELFCLASS3286 Data: ELFDATA2MSB87 Type: ET_REL88 Machine: EM_MIPS89 Flags: [ EF_MIPS_ARCH_32, EF_MIPS_ABI_EABI32, EF_MIPS_FP64 ]90