diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2014-04-30 16:53:51 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2014-04-30 16:53:51 +0000 |
commit | e3fe9b5b5ae3daf2f6c3cde35da6c75a3b8ff0bb (patch) | |
tree | ca08abe739bb7405b725ea60cf3e30439356a7f2 /libgcc | |
parent | 90cbaa297823c469ca50c5b51b9e1835d944a886 (diff) | |
download | gcc-e3fe9b5b5ae3daf2f6c3cde35da6c75a3b8ff0bb.zip gcc-e3fe9b5b5ae3daf2f6c3cde35da6c75a3b8ff0bb.tar.gz gcc-e3fe9b5b5ae3daf2f6c3cde35da6c75a3b8ff0bb.tar.bz2 |
Work around for current cygwin32 build problems.
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.
From-SVN: r209942
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 7 | ||||
-rw-r--r-- | libgcc/config/i386/cygming-crtbegin.c | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index e2b28ee..e562c30 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-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__] diff --git a/libgcc/config/i386/cygming-crtbegin.c b/libgcc/config/i386/cygming-crtbegin.c index eeb51d4..195b4637 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) |