Support CROSS_COMPILE_COMPAT
The arm64 Linux kernel provides a 32-bit compat vDSO, which is built when CROSS_COMPILE_COMPAT
is passed via the command line:
TuxSuite currently does not handle this:
$ cat arm64-compat-vdso.yml
sets:
- name: defconfigs
builds:
- git_repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git_ref: master
target_arch: arm64
toolchain: clang-nightly
kconfig: defconfig
targets:
- config
- kernel
- modules
make_variables:
CROSS_COMPILE_COMPAT: arm-linux-gnueabihf-
LLVM: 1
LLVM_IAS: 1
$ tuxsuite build-set --set-name defconfigs --tux-config arm64-compat-vdso.yml
Building Linux Kernel build set defconfigs
Error: Unhandled make variable specified: 'CROSS_COMPILE_COMPAT:arm-linux-gnueabihf-'
Clang builds should work fine without any changes on the TuxMake side of things due to https://git.kernel.org/linus/ef94340583eec5cb1544dc41a87baa4f684b3fe1 but GCC builds will need gcc-arm-linux-gnueabihf
and binutils-arm-linux-gnueabihf
added to the arm64 images to be able to use this effectively. Adding binutils-arm-linux-gnueabihf
to the arm64 clang images will allow us to test older kernels that do not have that commit in it.