This file is part of MXE. See index.html for further information. This patch has been taken from: https://github.com/mxe/mxe/issues/402 http://gcc.gnu.org/viewcvs/gcc/branches/gcc-4_9-branch/libgcc/config/i386/cygming-crtbegin.c?view=patch&r1=209304&r2=209946&pathrev=209946 --- a/libgcc/config/i386/cygming-crtbegin.c 2014/04/11 12:49:40209304 +++ b/libgcc/config/i386/cygming-crtbegin.c 2014/04/30 18:09:06209946 @@ -54,6 +54,11 @@ TARGET_ATTRIBUTE_WEAK; extern void *__deregister_frame_info (__attribute__((unused)) const void *) TARGET_ATTRIBUTE_WEAK; + +/* Work around for current cygwin32 build problems (Bug gas/16858). + Compile weak default functions only for 64-bit systems, + when absolutely necessary. */ +#ifdef __x86_64__ TARGET_ATTRIBUTE_WEAK void __register_frame_info (__attribute__((unused)) const void *p, __attribute__((unused)) struct object *o) @@ -65,16 +70,19 @@ { return (void*) 0; } +#endif #endif /* DWARF2_UNWIND_INFO */ #if TARGET_USE_JCR_SECTION extern void _Jv_RegisterClasses (__attribute__((unused)) const void *) TARGET_ATTRIBUTE_WEAK; +#ifdef __x86_64__ TARGET_ATTRIBUTE_WEAK void _Jv_RegisterClasses (__attribute__((unused)) const void *p) { } +#endif #endif /* TARGET_USE_JCR_SECTION */ #if defined(HAVE_LD_RO_RW_SECTION_MIXING)