fix: prefix — also patch basic_string.h stold(strtold)
This commit is contained in:
+5
-1
@@ -116,7 +116,11 @@ else
|
||||
# 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
|
||||
# Also remove stold() from basic_string.h which references std::strtold.
|
||||
export _GCC_CSTDLIB="$(PREFIX)/gcc-install/$(GNU_TARGET)/include/c++"/*/cstdlib; \
|
||||
sed -i '/using ::strtold;/d; /using ::__gnu_cxx::strtold;/d' $$_GCC_CSTDLIB 2>/dev/null || true; \
|
||||
STRHDR="$(PREFIX)/gcc-install/$(GNU_TARGET)/include/c++"/*/bits/basic_string.h; \
|
||||
sed -i '/inline long double/,/^#endif \/\/ _GLIBCXX_USE_C99_STDLIB/{ /stold(/,/^#endif/d; }' $$STRHDR 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