From 68b732e56f12422a756a1db9c402b9e364e6a8b9 Mon Sep 17 00:00:00 2001 From: PJ Reid Date: Mon, 17 Oct 2022 15:14:30 -0400 Subject: [PATCH] Update linux-x86 toolchain symlinks Updated symlinks for binaries that do not support -m32 --- linux-x86/Dockerfile.in | 43 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/linux-x86/Dockerfile.in b/linux-x86/Dockerfile.in index ae74153..f6864dd 100644 --- a/linux-x86/Dockerfile.in +++ b/linux-x86/Dockerfile.in @@ -20,20 +20,59 @@ RUN mkdir -p ${CROSS_ROOT}/bin COPY ${CROSS_TRIPLE}.sh ${CROSS_ROOT}/bin/${CROSS_TRIPLE}.sh COPY ${CROSS_TRIPLE}-as.sh ${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as.sh COPY ${CROSS_TRIPLE}-noop.sh ${CROSS_ROOT}/bin/${CROSS_TRIPLE}-noop.sh + +# Create symlinks for x86_64 binaries that support x86 and x86_64 targets natively +RUN cd ${CROSS_ROOT}/bin && \ + ln -s /usr/bin/x86_64-linux-gnu-ar ${CROSS_TRIPLE}-ar && \ + ln -s /usr/bin/x86_64-linux-gnu-c++filt ${CROSS_TRIPLE}-c++filt && \ + ln -s /usr/bin/x86_64-linux-gnu-dwp ${CROSS_TRIPLE}-dwp && \ + ln -s /usr/bin/x86_64-linux-gnu-elfedit ${CROSS_TRIPLE}-elfedit && \ + ln -s /usr/bin/x86_64-linux-gnu-gcc-ar ${CROSS_TRIPLE}-gcc-ar && \ + ln -s /usr/bin/x86_64-linux-gnu-gcc-ar-10 ${CROSS_TRIPLE}-gcc-ar-10 && \ + ln -s /usr/bin/x86_64-linux-gnu-gcc-nm ${CROSS_TRIPLE}-gcc-nm && \ + ln -s /usr/bin/x86_64-linux-gnu-gcc-ranlib ${CROSS_TRIPLE}-gcc-ranlib && \ + ln -s /usr/bin/x86_64-linux-gnu-gcc-ranlib-10 ${CROSS_TRIPLE}-gcc-ranlib-10 && \ + ln -s /usr/bin/x86_64-linux-gnu-gcov ${CROSS_TRIPLE}-gcov && \ + ln -s /usr/bin/x86_64-linux-gnu-gcov-10 ${CROSS_TRIPLE}-gcov-10 && \ + ln -s /usr/bin/x86_64-linux-gnu-gcov-dump ${CROSS_TRIPLE}-gcov-dump && \ + ln -s /usr/bin/x86_64-linux-gnu-gcov-tool ${CROSS_TRIPLE}-gcov-tool && \ + ln -s /usr/bin/x86_64-linux-gnu-gcov-tool-10 ${CROSS_TRIPLE}-gcov-tool-10 && \ + ln -s /usr/bin/x86_64-linux-gnu-nm ${CROSS_TRIPLE}-nm && \ + ln -s /usr/bin/x86_64-linux-gnu-objcopy ${CROSS_TRIPLE}-objcopy && \ + ln -s /usr/bin/x86_64-linux-gnu-pkg-config ${CROSS_TRIPLE}-pkg-config && \ + ln -s /usr/bin/x86_64-linux-gnu-ranlib ${CROSS_TRIPLE}-ranlib && \ + ln -s /usr/bin/x86_64-linux-gnu-readelf ${CROSS_TRIPLE}-readelf && \ + ln -s /usr/bin/x86_64-linux-gnu-size ${CROSS_TRIPLE}-size && \ + ln -s /usr/bin/x86_64-linux-gnu-strings ${CROSS_TRIPLE}-strings && \ + ln -s /usr/bin/x86_64-linux-gnu-strip ${CROSS_TRIPLE}-strip + +# Use x86_64-linux-gnu.sh to pass -m32 to binaries that support an emulation flag RUN cd ${CROSS_ROOT}/bin && \ chmod +x ${CROSS_TRIPLE}.sh && \ ln -s /usr/bin/x86_64-linux-gnu-gcc && \ ln -s /usr/bin/x86_64-linux-gnu-g++ && \ + ln -s /usr/bin/x86_64-linux-gnu-cpp && \ ln -s /usr/bin/x86_64-linux-gnu-as && \ + ln -s /usr/bin/x86_64-linux-gnu-ld && \ + ln -s /usr/bin/x86_64-linux-gnu-ld.gold && \ + ln -s /usr/bin/x86_64-linux-gnu-lto-dump-10 && \ + ln -s /usr/bin/x86_64-linux-gnu-objdump && \ ln -s ${CROSS_TRIPLE}.sh ${CROSS_TRIPLE}-gcc && \ + ln -s ${CROSS_TRIPLE}.sh ${CROSS_TRIPLE}-cpp && \ ln -s ${CROSS_TRIPLE}.sh ${CROSS_TRIPLE}-g++ && \ + ln -s ${CROSS_TRIPLE}.sh ${CROSS_TRIPLE}-ld && \ + ln -s ${CROSS_TRIPLE}.sh ${CROSS_TRIPLE}-ld.gold && \ + ln -s ${CROSS_TRIPLE}.sh ${CROSS_TRIPLE}-lto-dump-10 && \ + ln -s ${CROSS_TRIPLE}.sh ${CROSS_TRIPLE}-objdump && \ ln -s ${CROSS_TRIPLE}-as.sh ${CROSS_TRIPLE}-as && \ - ln -s /usr/bin/x86_64-linux-gnu-ar ${CROSS_TRIPLE}-ar && \ ln -s ${CROSS_TRIPLE}-noop.sh ${CROSS_TRIPLE}-noop + ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ - CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ + CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ + CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ + LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake