summaryrefslogtreecommitdiffstats
path: root/libgcc
diff options
context:
space:
mode:
authoredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-30 18:09:06 +0000
committeredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-30 18:09:06 +0000
commit2c1efc89eade74f003ba2e01ecf48af5dc3bd5a9 (patch)
tree4b2807f1eb20d9683cde730c0fd7fa8cba65e0e4 /libgcc
parentc2838bebbfe35fd189bba8e013b48e0961b6c144 (diff)
downloadppe42-gcc-2c1efc89eade74f003ba2e01ecf48af5dc3bd5a9.tar.gz
ppe42-gcc-2c1efc89eade74f003ba2e01ecf48af5dc3bd5a9.zip
2014-04-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
Work around for current cygwin32 build problems. * config/i386/cygming-crtbegin.c (__register_frame_info, __deregister_frame_info, _Jv_RegisterClasses): Compile weak default functions only for 64-bit systems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209946 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog7
-rw-r--r--libgcc/config/i386/cygming-crtbegin.c8
2 files changed, 15 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 41db7d805c1..57a83718ac1 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,10 @@
+2014-04-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ Work around for current cygwin32 build problems.
+ * config/i386/cygming-crtbegin.c (__register_frame_info,
+ __deregister_frame_info, _Jv_RegisterClasses): Compile weak default
+ functions only for 64-bit systems.
+
2014-04-22 Release Manager
* GCC 4.9.0 released.
diff --git a/libgcc/config/i386/cygming-crtbegin.c b/libgcc/config/i386/cygming-crtbegin.c
index eeb51d4c573..195b4637637 100644
--- a/libgcc/config/i386/cygming-crtbegin.c
+++ b/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)
OpenPOWER on IntegriCloud