Failed compile 1.8.x with undefined symbol `trace' on latest cygwin64(gcc6.4)

I really don’t understand how this is possible, as the “trace()” prototype is in standard.h, and the function is declared in src/standard.c which is loaded with everything.

Well, the only thing specific to this function is that it’s declared with a “weak” attribute. Maybe it causes your compiler to drop it. Would you want to try to remove “weak” from the attribute statement in standard.c, around line 3968 ?