https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89955
--- Comment #3 from Alexander von Gluck <kallisti5 at unixzen dot com> --- The issue here is RISC-V is the only one that does this. We do override the STARTFILE_PREFIX_SPEC for our OS, however the architecture headers come later and undo our undef. root@b36eea373140:/work/src/buildtools/gcc/gcc# grep -R STARTFILE_PREFIX_SPEC config/haiku.h:#undef STARTFILE_PREFIX_SPEC config/mips/mti-linux.h:#undef STARTFILE_PREFIX_SPEC config/mips/mti-linux.h:#define STARTFILE_PREFIX_SPEC \ config/mips/st.h:#undef STARTFILE_PREFIX_SPEC config/mips/st.h:#define STARTFILE_PREFIX_SPEC \ config/riscv/haiku.h:#undef STARTFILE_PREFIX_SPEC config/riscv/riscv.h:#define STARTFILE_PREFIX_SPEC \ I mean... shouldn't the STARTFILE_PREFIX be up to the OS and not the architecture? (any lib32 vs lib64 or whatever would be done by generics, not architecture specific code)