On Thu, Jul 10, 2025 at 02:01:15PM -0700, Junio C Hamano wrote: > Patrick Steinhardt <ps@xxxxxx> writes: > > >> > This error bisect back to 75a044f748 (git-compat-util.h: split out > >> > POSIX-emulating bits, 2025-02-18), where lots of bits got split out of > >> > "git-compat-util.h" into a new "compat/posix.h" header. > > So there was a subtle change in the inclusion order or something, > i.e. we used to include <sane-ctype.h> a lot earlier as part of the > <git-compat-util.h> that tightly controls inclusion order exactly to > avoid this kind of problems, but that has eroded recently? > > In any case, it means that our definitions in <sane-ctype.h> will be > overwritten if we allow system-supplied <ctype.h> included, and this > is an obvious workaround, likely to remain correct as long as their > <ctype.h> is not so broken to allow multiple inclusion. Yup, exactly. Toon figured out that this is actually neither glibc nor GCC that causes this -- it's OpenSSL that transitively pulls in <ctype.h>. Later versions of OpenSSL seem to not do that anymore. I can reroll and update the commit message, but am a bit hesitant given that I wasn't able to send out this mail in the first place due to whatever reason :/ Patrick