stat() synthesized path-hash inodes for regular files but left st_ino = 0 for directories. GCC's include-path setup deduplicates directories by (st_dev, st_ino), so every directory on MontaukOS compared equal and cc1plus silently dropped all C++ include dirs except the first - <iostream> resolved but the target-specific bits/c++config.h directory was gone. Directories now get the same path-hash inodes as files. (Different spellings of one directory hash differently; the harmless direction - a dir may be searched twice, never dropped.) Native GCC relinked against the fixed libc. Co-Authored-By: Claude Fable 5 <[email protected]>
562 KiB
562 KiB