summaryrefslogtreecommitdiffstats
path: root/src/gcc-4-weak-x64.patch
blob: c194f7cfafe5481f1414142eeba856bd8bac89ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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)