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?
bump?