CALL scripts/checksyscalls.sh
Checking missing-syscalls for O32
CALL scripts/checksyscalls.sh
error: ABI 'o32' is not supported on CPU 'mips64r6'
make[1]: *** [Kbuild:48: missing-syscalls] Error 1
The above does not occur with gcc. This can be reproduced by
#!/bin/sh
KVER=5.16-rc4
LANG=C.UTF-8
export LANG
cd /var/tmp/tmp11mips64el_12
cat >/tmp/config$$.txt <<EOF
CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT=n
CONFIG_KASAN=n
CONFIG_GCOV_KERNEL=n
CONFIG_COMPILE_TEST=n
CONFIG_TRIM_UNUSED_KSYMS=n
CONFIG_SHADOW_CALL_STACK=y
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=n
CONFIG_INIT_STACK_ALL_ZERO=y
CONFIG_KVM=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_UBSAN_OBJECT_SIZE=n
CONFIG_WERROR=n
CONFIG_EMBEDDED=n
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_DWARF5=y
CONFIG_DEBUG_INFO_COMPRESSED=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_ACPI=y
CONFIG_EFI_STUB=y
CONFIG_EFI=y
CONFIG_DMI=y
CONFIG_NUMA=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_XILINX_SDFEC=n
CONFIG_CPU_MIPS64_R6=y
CONFIG_HIBERNATION=y
CONFIG_MIPS_CPS=y
CONFIG_CPU_HAS_MSA=y
CONFIG_RELOCATABLE=y
CONFIG_RELOCATION_TABLE_SIZE=0x01000000
CONFIG_KEXEC=n
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPU_BIG_ENDIAN=n
CONFIG_32BIT=n
CONFIG_64BIT=y
CONFIG_MIPS32_O32=y
CONFIG_MIPS32_N32=y
CONFIG_CRYPTO_CRC32_MIPS=m
CONFIG_CRYPTO_CHACHA_MIPS=m
CONFIG_CRYPTO_POLY1305_MIPS=m
CONFIG_LKDTM=m
EOF
for a in mips; do
rm -rf /var/tmp/tmp11mips64el_12/$a
mkdir /var/tmp/tmp11mips64el_12/$a
cd /var/tmp/tmp11mips64el_12/$a
exec </dev/null >build-log-${KVER}-${a}.txt 2>&1
set -xe
tar zxf /var/tmp/linux-${KVER}.tar.gz
cd linux-${KVER}
# sed -i 's/-O2/-O3/g' Makefile
# sed -i 's/-Os/-Oz/g' Makefile
cp /tmp/config$$.txt .config
make LLVM=1 LLVM_IAS=1 CROSS_COMPILE=mips64el-linux-gnuabi64- CROSS_COMPILE_COMPAT=mips-linux-gnu- allmodconfig
# make CROSS_COMPILE=mips64el-linux-gnuabi64- CROSS_COMPILE_COMPAT=mips-linux-gnu- allmodconfig
cat /tmp/config$$.txt >>.config
yes '' |
# chrt --idle 0 nice -19 make -j 5 --keep-going ARCH=$a CROSS_COMPILE=mips64el-linux-gnuabi64- CROSS_COMPILE_COMPAT=mips-linux-gnu- all &
chrt --idle 0 nice -19 make -j 5 --keep-going ARCH=$a LLVM=1 LLVM_IAS=1 CROSS_COMPILE=mips64el-linux-gnuabi64- CROSS_COMPILE_COMPAT=mips-linux-gnu- KCFLAGS="-mllvm -polly-ast-use-context -mllvm -polly-invariant-load-hoisting -mllvm -polly-opt-fusion=max -mllvm -polly-run-inliner -mllvm -polly-vectorizer=stripmine -mllvm -polly-run-dce" all &
exec </dev/null >/dev/null 2>&1
done
wait
mips 64-bit little endian build fails with
The above does not occur with gcc. This can be reproduced by