summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2014-05-09 09:47:05 (GMT)
committerTony Theodore <tonyt@logyst.com>2014-05-09 09:47:05 (GMT)
commitd159b84d9f8d74927cd9df5d55b24fc6f2085454 (patch)
tree980c37e062d1a4bfbb07afad6a1d407fc48f5ed7 /src
parentca67cde2e5090257812d60ee9c43cae3bf313b13 (diff)
downloadmxe-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.patch42
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)
+