Using one for all yields all sorts of issues:
build/gcc-aarch64-14.2.0/.x86_64-linux-gnu/./gcc/xgcc -Bbuild/gcc-aarch64-14.2.0/.x86_64-linux-gnu/./gcc/ -Btoolchain/aarch64-none-elf/bin/ -Btoolchain/aarch64-none-elf/lib/ -isystem toolchain/aarch64-none-elf/include -isystem toolchain/aarch64-none-elf/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -I. -I. -I../.././gcc -Ibuild/gcc-aarch64-14.2.0/libgcc -Ibuild/gcc-aarch64-14.2.0/libgcc/. -Ibuild/gcc-aarch64-14.2.0/libgcc/../gcc -Ibuild/gcc-aarch64-14.2.0/libgcc/../include -DHAVE_CC_TLS -o cpuinfo.o -MT cpuinfo.o -MD -MP -MF cpuinfo.dep -c build/gcc-aarch64-14.2.0/libgcc/config/aarch64/cpuinfo.c -fvisibility=hidden -DHIDE_EXPORTS
In file included from toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/include/features.h:548,
from toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/include/bits/libc-header-start.h:33,
from toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/include/stdint.h:26,
from build/gcc-aarch64-14.2.0/.x86_64-linux-gnu/gcc/include/stdint.h:9,
from toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/include/elf.h:24,
from toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/include/sys/auxv.h:22,
from build/gcc-aarch64-14.2.0/libgcc/config/aarch64/cpuinfo.c:28:
toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory
7 | # include <gnu/stubs-soft.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
Notice the mix of paths from two architectures.
Additionally the armv8a fpu config leaks into aarch64.