Files
RedBear-OS/recipes
vasilito 93a0433770 gcc13: three real GCC-16-as-bootstrap fixes; blocked on a compiler ICE
Three defects found and fixed, each verified to go to zero:

1. libcody C++ standard. Its configure contains
       #if __cplusplus > 201103
       #error "C++11 is required"
   so anything newer than C++11 is rejected outright. My earlier
   -std=gnu++17 tripped exactly this -- the 'C++11 is required' failure
   came from build/libcody/config.log, not from a missing libstdc++ as
   the previous commit assumed. C++11 also fixes the original problem:
   char8_t arrived in C++20, so under C++11 u8"" is still const char[].
   char8_t diagnostics: 100+ -> 0.

2. libcody is compiled by the CROSS compiler, not the host one --
       x86_64-unknown-redox-g++ ... -c -o buffer.o .../libcody/buffer.cc
   because --host is the Redox target. So plain CXXFLAGS is the right
   knob, scoped to this branch; the freestanding branch must keep the
   compiler defaults.

3. libgcc's cpuinfo.c needs CPUID bit macros from <cpuid.h>. Built by
   GCC 16 that resolves to GCC 16's header, and GCC 15/16 REMOVED the
   macros for the withdrawn AVX512PF/ER/4VNNIW/4FMAPS and PREFETCHWT1
   extensions. GCC 13 ships its own cpuid.h that still defines them, so
   its config dir now precedes the toolchain include path for target
   compiles. Undeclared-bit errors: 5 -> 0.

BLOCKED, and not by a flag. GCC 16 now ICEs compiling GCC 13's own
libstdc++:

    libstdc++-v3/libsupc++/eh_call.cc:39:1: internal compiler error:
    in gimple_build_eh_must_not_throw

Each fix has revealed the next incompatibility; an ICE is where
flag-tweaking stops being the answer. Building GCC 13 with GCC 16 is
three major versions of drift and is not a supported configuration.

The coherent fix is to move gcc-native onto GCC 16, which is the whole
point of the port in local/patches/gcc-redox-port/ -- local/recipes/dev/
gcc16/source is already ported and is what produced the working cross
toolchain. That is an operator-level decision, so it is not taken here.
2026-08-03 18:50:01 +03:00
..