[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Bug other/38732] [4.4 Regression] Openoffice.org segfaults with runtime libs built from GCC trunk




------- Comment #12 from stephan dot bergmann at sun dot com  2009-01-06 09:12 -------
I was a bit sloppy in what I wrote before (i.e., in what Matthias turned into
the description of this bug); it is the change of offsets of __cxa_exception
members caused by the addition of referenceCount that causes problems for OOo: 
In the OOo-supplied exception destructor function (which receives a pointer P
pointing just past the __cxa_exception header), OOo assumes to access the
__cxa_exception member exceptionType at P - 80 bytes.  From my reading of
<http://www.codesourcery.com/public/cxx-abi/abi-eh.html> I think OOo is correct
in making this assumption, if GCC conforms to that ABI.  However, the addition
of a referenceCount member to the front of GCC's __cxa_exception unfortunately
causes the "backwards offset" of exceptionType to change from -80 to -76 bytes
(as the four bytes of referenceCount cancel out a previous four padding bytes
just before the unwindHeader member coming later in the struct).

>From the comments to this bug so far, I am not sure whether the GCC maintainers
(a) acknowledge this and will fix it (in which case I do not need to modify
OOo), or
(b) acknowledge this but consider OOo to be using undocumented internals of GCC
that legitimately changed (in which case I will need to modify OOo), or rather
(c) consider alignment issues of unwindHeader instead (which I think are
irrelevant to my problem).


-- 

stephan dot bergmann at sun dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |stephan dot bergmann at sun
                   |                            |dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38732

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Reply to: