https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81878
--- Comment #34 from Tamar Christina <tnfchris at gcc dot gnu.org> --- Sorry for the delay getting back to you Eric. So the workaround I have is basically to have a dummy program `translate_paths.c` which just prints back all arguments it receives in argv (besides the program name). This when compiled with the host compiler which is a native GCC will cause the msys2 runtime to translate the paths when they're passed to it (it doesn't do this for gnatlink because of the quotes around the arguments). So if GCC_LINK then becomes something like GCC_LINK_RAW=$(CXX) $(GCC_LINK_FLAGS) $(LDFLAGS) GCC_LINK=$(shell $(translate_paths) $(GCC_LINK_RAW)) it'll translate the paths before storing them and all is well The problem I have is where to put the compilation of translate_paths. There are plenty of usages of GCC_LINK so ideally this should be one of the first things done in the file. I tried putting it under the "Makefile" target but that didn't trigger any compilation. Maybe configure is a better place? Any suggestions?