aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2013-05-08 20:33:52 +0200
committerKai Tietz <ktietz@gcc.gnu.org>2013-05-08 20:33:52 +0200
commit492a80292b049552c5f54d22e9edac40f8802bd5 (patch)
treefc68494313c0c9070db620e20ca6896315464e59
parent0b013847f8eb2bf2b6a32fc08f489110cf1353f8 (diff)
downloadgcc-492a80292b049552c5f54d22e9edac40f8802bd5.zip
gcc-492a80292b049552c5f54d22e9edac40f8802bd5.tar.gz
gcc-492a80292b049552c5f54d22e9edac40f8802bd5.tar.bz2
cygming-crtbegin.c (__register_frame_info): Make weak.
* config/i386/cygming-crtbegin.c (__register_frame_info): Make weak. (__deregister_frame_info): Likewise. From-SVN: r198719
-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 c874a84..a04c4ff 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 6a513cb..c341787 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