summaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2013-05-08 18:33:52 +0000
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2013-05-08 18:33:52 +0000
commitbd89d2b6e1d23a07576749c31ca00cde3e45d292 (patch)
treefc68494313c0c9070db620e20ca6896315464e59 /libgcc
parent823a2ddd31fc4d2f4aac8453f1ebb0ebc29dded2 (diff)
downloadgcc-bd89d2b6e1d23a07576749c31ca00cde3e45d292.tar.gz
* config/i386/cygming-crtbegin.c (__register_frame_info): Make weak.
(__deregister_frame_info): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198719 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config/i386/cygming-crtbegin.c30
2 files changed, 31 insertions, 4 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index c874a84b6b0..a04c4ffb37d 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-08 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/cygming-crtbegin.c (__register_frame_info): Make weak.
+ (__deregister_frame_info): Likewise.
+
2013-05-06 Thomas Schwinge <thomas@codesourcery.com>
* fp-bit.c (unpack_d, pack_d): Properly preserve and restore a
diff --git a/libgcc/config/i386/cygming-crtbegin.c b/libgcc/config/i386/cygming-crtbegin.c
index 6a513cb3f0d..c34178787c8 100644
--- a/libgcc/config/i386/cygming-crtbegin.c
+++ b/libgcc/config/i386/cygming-crtbegin.c
@@ -46,14 +46,36 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBGCJ_SONAME "libgcj_s.dll"
#endif
-
+#if DWARF2_UNWIND_INFO
/* Make the declarations weak. This is critical for
_Jv_RegisterClasses because it lives in libgcj.a */
-extern void __register_frame_info (const void *, struct object *)
+extern void __register_frame_info (__attribute__((unused)) const void *,
+ __attribute__((unused)) struct object *)
TARGET_ATTRIBUTE_WEAK;
-extern void *__deregister_frame_info (const void *)
+extern void *__deregister_frame_info (__attribute__((unused)) const void *)
TARGET_ATTRIBUTE_WEAK;
-extern void _Jv_RegisterClasses (const void *) TARGET_ATTRIBUTE_WEAK;
+TARGET_ATTRIBUTE_WEAK void
+__register_frame_info (__attribute__((unused)) const void *p,
+ __attribute__((unused)) struct object *o)
+{
+}
+
+TARGET_ATTRIBUTE_WEAK void *
+__deregister_frame_info (__attribute__((unused)) const void *p)
+{
+ return (void*) 0;
+}
+#endif /* DWARF2_UNWIND_INFO */
+
+#if TARGET_USE_JCR_SECTION
+extern void _Jv_RegisterClasses (__attribute__((unused)) const void *)
+ TARGET_ATTRIBUTE_WEAK;
+
+TARGET_ATTRIBUTE_WEAK void
+_Jv_RegisterClasses (__attribute__((unused)) const void *p)
+{
+}
+#endif /* TARGET_USE_JCR_SECTION */
#if defined(HAVE_LD_RO_RW_SECTION_MIXING)
# define EH_FRAME_SECTION_CONST const