aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/libgcc/config
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/libgcc/config')
-rw-r--r--gcc-4.9/libgcc/config/i386/cygming-crtbegin.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc-4.9/libgcc/config/i386/cygming-crtbegin.c b/gcc-4.9/libgcc/config/i386/cygming-crtbegin.c
index eeb51d4c5..195b46376 100644
--- a/gcc-4.9/libgcc/config/i386/cygming-crtbegin.c
+++ b/gcc-4.9/libgcc/config/i386/cygming-crtbegin.c
@@ -54,6 +54,11 @@ extern void __register_frame_info (__attribute__((unused)) const void *,
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 @@ __deregister_frame_info (__attribute__((unused)) const void *p)
{
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)