From 492a80292b049552c5f54d22e9edac40f8802bd5 Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Wed, 8 May 2013 20:33:52 +0200 Subject: [PATCH] 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 --- libgcc/ChangeLog | 5 +++++ libgcc/config/i386/cygming-crtbegin.c | 30 +++++++++++++++++++++++---- 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 + + * config/i386/cygming-crtbegin.c (__register_frame_info): Make weak. + (__deregister_frame_info): Likewise. + 2013-05-06 Thomas Schwinge * 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