kumquat-buildroot/toolchain
James Hilliard 0fc5c1ccdb package/gcc: ensure __register_frame is optimized out for glibc
On some architectures when building with -O0 the __register_frame
symbol fails to get optimized out which can cause linking failures
when building glibc.

To fix this set -O1 for GCC target libs when building with glibc
and BR2_OPTIMIZE_0 on the problematic target architectures.

This was reported both to GCC [1] and glibc [2] upstream. It is not
entirely clear yet where the bug lies exactly. At the moment the
assumption is that it's GCC, so create a symbol
BR2_TOOLCHAIN_HAS_GCC_BUG_107728.

This issue only seems to occur when linking glibc, not with anything
else, so only compile libgcc from host-gcc-initial with -O1.

Fixes:
 - http://autobuild.buildroot.net/results/89b/89b6c6924240b7cf82035a844f3573673e91b364
 - http://autobuild.buildroot.net/results/46f/46f4ec99d2b23d354a4bb5e92123d64f0da6ed27
 - http://autobuild.buildroot.net/results/839/839f929f700cf181ebdf34389c7806a96f55813e
 - http://autobuild.buildroot.net/results/0e2/0e202bf53a683930f3cad6edef2a4dea629eaecb
 - http://autobuild.buildroot.net/results/8a8/8a8c917f597fdcca744e696e19e9300b64004335
 - http://autobuild.buildroot.net/results/c05/c058b27ed2834dfa633b63ec6c3639ab1e8bf412
 - http://autobuild.buildroot.net/results/8ba/8ba8882a861cf7df359c23969c09b2be0725b2e5

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107728
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=29621

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2022-11-25 14:53:37 +01:00
..
toolchain package/toolchain: rename GLIBC_COPY_NSSWITCH_FILE 2021-11-25 20:53:43 +01:00
toolchain-buildroot package/glibc: headers >= 5.4 needed on RISC-V 32-bit 2022-10-30 12:44:15 +01:00
toolchain-external {toolchain, linux-headers}: add support for 6.0 headers 2022-10-06 19:53:40 +02:00
Config.in package/gcc: ensure __register_frame is optimized out for glibc 2022-11-25 14:53:37 +01:00
helpers.mk toolchain: handle white spaces in sysroot dir in copy_toolchain_sysroot 2022-07-26 23:11:25 +02:00
toolchain-wrapper.c Makefile, toolchain-wrapper.c: disable ccache by default outside of Buildroot 2022-07-27 20:31:57 +02:00
toolchain-wrapper.mk toolchain/toolchain-wrapper: reproducible builds: omit absolute paths from debug symbols 2022-01-08 14:48:22 +01:00
toolchain.mk toolchain: support gconv modules from glibc >= 2.34 2022-10-21 21:02:40 +02:00