This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Missing libssp from GCC11.2 and GCC11.3.rel1 builds

As evident from the following log, we are unable to link with libssp when using GCC11.2 or GCC11.3.rel1 as supplied by ARM at https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

When building our own variant of your toolchain with the provided Linaro ABE manifest, we do manage to turn on compilation of libssp by using the following patch:

--- gcc-arm-arm-none-eabi-abe-manifest.txt.patched1	2022-08-09 10:19:57.689000000 +0200
+++ gcc-arm-arm-none-eabi-abe-manifest.txt	2022-08-09 10:22:03.199476871 +0200
@@ -65,7 +65,7 @@
 gcc_mingw_extraconf="--with-libiconv-prefix=${local_builds}/destdir/${host}/usr --with-system-zlib=no"
 gcc_staticlink="no"
 gcc_stage1_flags="--with-mpc=${local_builds}/destdir/${host} --with-mpfr=${local_builds}/destdir/${host} --with-gmp=${local_builds}/destdir/${host} --disable-libatomic --disable-libsanitizer --disable-libssp --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c --without-cloog --without-isl --with-newlib --without-headers --enable-multilib --with-multilib-list=aprofile,rmprofile --with-sysroot=${local_builds}/sysroot-arm-none-eabi"
-gcc_stage2_flags="--with-mpc=${local_builds}/destdir/${host} --with-mpfr=${local_builds}/destdir/${host} --with-gmp=${local_builds}/destdir/${host} --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++ --with-newlib --with-multilib-list=aprofile,rmprofile --with-build-sysroot=${sysroots} --with-sysroot=${local_builds}/destdir/${host}/arm-none-eabi/libc"
+gcc_stage2_flags="--with-mpc=${local_builds}/destdir/${host} --with-mpfr=${local_builds}/destdir/${host} --with-gmp=${local_builds}/destdir/${host} --disable-shared --enable-libssp --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++ --with-newlib --with-multilib-list=aprofile,rmprofile --with-build-sysroot=${sysroots} --with-sysroot=${local_builds}/destdir/${host}/arm-none-eabi/libc"
 
 # Component data for newlib
 newlib_url=https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/src

This however produces an "inferior" toolchain when it comes to output file size of our executables when compared to using your release of GCC10.3-2021.10 or even when compiling with your release GCC11.3.rel1 and turning the stack protection off. This is evident in the image below.

aconnoacnbasebuildersource-nano also has a patch for using newlib_nano configuration for newlib since the ARM linaro manifest only specifies one build of newlib.

aconnoacnbasebuilderubuntu can be disregarded as it uses the Ubuntu arm-none-eabi GCC package.

Could you possibly re-enable libssp in your builds or at least provide a way for us to be able to reproduce a direct carbon copy of your toolchain via Linaro ABE?