* Matthias Klose: > On 3/4/20 9:33 AM, Florian Weimer wrote: >> * Matthias Klose: >> >>> The __glibc_has_include macro needs to be restored until GCC is rebuilt. At >>> least on s390x, you get a non-wrorking compiler, which at least cannot glibc >>> anymore. The macro is still referenced in the include-fixed directory. >>> >>> Seen with the 2.31 branch, but I see that this is also backported to 2.30. >> >> This is a bug in the gcc package. It must not run fixincludes, to >> avoid producing mutually incompatible headers because only a subset of >> them is rewritten. > > Is this something which should be done upstream? Or just don't include any > fixed header in the GCC packages?
Distributions should never run fixincludes for this reason. This is a hack for installing compilers as non-root on proprietary systems, where you can't fix the headers. Other distributions routinely backport compiler compatibility fixes into glibc (even into stable releases), and I think this is the way it has to be done. > Anyway, either glibc or GCC has to be fixed to avoid a non-working compiler. If I recall correctly, the header is broken anyway because linux is rewritten into __linux__, due to a fixincludes bug. It should be possible to hide the header by having a file with an #include directive with an absolute path in a directory used during the build.