This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/38732] New: Openoffice.org segfaults with runtime libs built from GCC trunk
- From: "doko at ubuntu dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Jan 2009 19:58:58 -0000
- Subject: [Bug other/38732] New: Openoffice.org segfaults with runtime libs built from GCC trunk
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
[forwarded from http://bugs.debian.org/504323]
Stephan Bergmann writes:
Reproducing with libstdc++.so.6 and libgcc_s.so.1 from gcc-4.4-20090102
in unxlngi6.pro DEV300m38 OOo, the problem is that OOo at
<http://svn.services.openoffice.org/ooo/tags/DEV300_m38/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx>
l. 52 assumes a layout of struct __cxa_exception as given in section
2.2.1 of <http://www.codesourcery.com/public/cxx-abi/abi-eh.html>, while
GCC 4.4 added a new member
_Atomic_word referenceCount;
to the start of the struct at
gcc-4.4-20090102/libstc++-v3/libsupc++/unwind-cxx.h l. 57. OOo tries to
get at information stored in the __cxa_exception header in the
destructor function passed to __cxa_throw (function deleteException at
<http://svn.services.openoffice.org/ooo/tags/DEV300_m38/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx>
l. 213), which now fails.
Please somebody clarify if GCC 4.4 adding a new member to struct
__cxa_exception (and thus deviating from
<http://www.codesourcery.com/public/cxx-abi/abi-eh.html>) is intended or
is a mistake.
If it is intended, the OOo code needs to be changed (the information
deleteException is now trying to retrieve from the __cxa_exception
header must instead be encoded in the deleteException function itself,
by dynamically creating instances of deleteException as is already done
in the OOo bridges for Solaris). If it is a mistake, the OOo code can
stay as is and the GCC 4.4 code needs to be changed instead.
--
Summary: Openoffice.org segfaults with runtime libs built from
GCC trunk
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: doko at ubuntu dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38732