diff options
author | Tony Theodore <tonyt@logyst.com> | 2014-05-09 09:47:05 (GMT) |
---|---|---|
committer | Tony Theodore <tonyt@logyst.com> | 2014-05-09 09:47:05 (GMT) |
commit | d159b84d9f8d74927cd9df5d55b24fc6f2085454 (patch) | |
tree | 980c37e062d1a4bfbb07afad6a1d407fc48f5ed7 /src | |
parent | ca67cde2e5090257812d60ee9c43cae3bf313b13 (diff) | |
download | mxe-d159b84d9f8d74927cd9df5d55b24fc6f2085454.zip mxe-d159b84d9f8d74927cd9df5d55b24fc6f2085454.tar.gz mxe-d159b84d9f8d74927cd9df5d55b24fc6f2085454.tar.bz2 |
package gcc: workaround for weak default functions
Diffstat (limited to 'src')
-rw-r--r-- | src/gcc-4-weak-x64.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/gcc-4-weak-x64.patch b/src/gcc-4-weak-x64.patch new file mode 100644 index 0000000..c194f7c --- /dev/null +++ b/src/gcc-4-weak-x64.patch @@ -0,0 +1,42 @@ +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) + |