https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107998
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I have tried a cross with the genmultilib exit 1 commented out, and the difference between the previous state of just MULTILIB_DIRNAMES = 64 and 64 32 is --- multilib.h 2023-02-01 18:41:31.013661359 +0100 +++ multilib.h 2023-02-01 18:43:33.950857507 +0100 @@ -1,7 +1,7 @@ static const char *const multilib_raw[] = { ". !m64 !m32;", "64:../lib m64 !m32;", -":../lib32 !m64 m32;", +"32:../lib32 !m64 m32;", NULL }; With the former, ./xgcc -B -print-multi-lib prints .; ;@m32 and -print-multi-directory -print-multi-directory -m64 print . and -print-multi-directory -m32 prints just an empty line. I can't see how that could have every worked. So, I think the 64 32 patch is right and I assume everybody who was configuring for x86_64-w64-cygwin had to be using --disable-multilib, otherwise I really wonder how it could actually work.