fix: prefix — auto-patch GCC cstdlib strtold on rebuild
GCC 13 cstdlib uses ::strtold but relibc only declares it (no impl). Remove 'using ::strtold' from C++ stdlib header at prefix build time.
This commit is contained in:
@@ -113,6 +113,10 @@ else
|
||||
# libc.a copy in the toolchain is identical to the one just compiled.
|
||||
cp -rf "$@/$(GNU_TARGET)/lib/"* "$(PREFIX)/gcc-install/$(GNU_TARGET)/lib/"
|
||||
cp -rf "$@/$(GNU_TARGET)/include/"* "$(PREFIX)/gcc-install/$(GNU_TARGET)/include/"
|
||||
# Fix GCC 13 <cstdlib> — relibc declares but doesn't implement strtold (long double).
|
||||
# GCC was built with _GLIBCXX_USE_C99_STDLIB=1 but relibc lacks the symbol.
|
||||
# Remove 'using ::strtold' from the C++ stdlib header to prevent compile errors.
|
||||
sed -i '/using ::strtold;/d; /using ::__gnu_cxx::strtold;/d' "$(PREFIX)/gcc-install/$(GNU_TARGET)/include/c++"/*/cstdlib 2>/dev/null || true
|
||||
# Propagate fresh relibc artifacts to the redoxer toolchain at
|
||||
# ~/.redoxer/<target>/toolchain/. The redoxer ships its own sysroot
|
||||
# snapshot from initial setup; without this sync the GCC driver inside
|
||||
|
||||
Reference in New Issue
Block a user