https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99872
--- Comment #2 from jyong at gcc dot gnu.org --- No, its the internal compiler symbols like LC5 and _LC6 generated by GCC ignoring the underscore prefix setting for the target, causing GAS to emit them as external undefined symbols. LD fails to find the symbols to satisfy them upon linking. 32bit Windows PE symbols should come with an underscore prefix, this does not apply to 64bit Windows code.