Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Sep 2013 20:00:09 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        Baptiste Daroussin <bapt@FreeBSD.org>, Shawn Webb <lattera@gmail.com>, "S.N.Grigoriev" <serguey-grigoriev@yandex.ru>, FreeBSD-current <freebsd-current@FreeBSD.org>, Tijl Coosemans <tijl@FreeBSD.org>, "O. Hartmann" <ohartman@zedat.fu-berlin.de>
Subject:   Re: libreoffice build error
Message-ID:  <523A3E89.5020608@FreeBSD.org>
In-Reply-To: <5239E0DB.20400@FreeBSD.org>
References:  <104781379415439@web14h.yandex.ru> <20130917162045.5b0fc356@thor.walstatt.dyndns.org> <20130917154914.GD31894@ithaqua.etoilebsd.net> <CADt0fhywbyC9y4MGTZ0gkRgFTLRT0MtEyP3_eHVgqF_uMXH2tQ@mail.gmail.com> <20130917155245.GE31894@ithaqua.etoilebsd.net> <52389059.8000200@FreeBSD.org> <5238FC0E.9090004@FreeBSD.org> <20130918172615.42270918@kalimero.tijl.coosemans.org> <95159E17-E700-464F-BBEE-C7C97355B8EB@FreeBSD.org> <5239E0DB.20400@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2013-09-18 13:20:27 -0400, Jung-uk Kim wrote:
2013년  9월 18일 13:20, Jung-uk Kim 쓴 글:> On 2013-09-18 12:39:46
- -0400, David Chisnall wrote:
>> On 18 Sep 2013, at 16:26, Tijl Coosemans <tijl@freebsd.org>
>> wrote:
> 
>>> On Tue, 17 Sep 2013 21:04:14 -0400 Jung-uk Kim wrote:
>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>>> 
>>>> On 2013-09-17 13:24:41 -0400, Jung-uk Kim wrote:
>>>>> I am still working on libc++ issues but it is much more 
>>>>> complicated. :-(
>>>> 
>>>> I fixed almost everything except for exception handling 
>>>> issues. Unfortunately, libc++/libcxxrt's exception handling
>>>> is not 100% compatible with libstdc++'s and I couldn't find
>>>> a proper fix. :-(
>>>> 
>>>> Basically, C++/UNO bridge for LibreOffice/OpenOffice does
>>>> some clever hacks, somewhat similar to the example on this
>>>> blog page:
>>>> 
>>>> http://zbigg.blogspot.com/2009/03/catch-on-g.html
>>> 
>>> The definition of struct __cxa_exception doesn't match the one 
>>> in /usr/include/c++/v1/cxxabi.h.  There's an extra field at
>>> the start in the __LP64__ case: uintptr_t referenceCount.
> 
>> This field is present in newer versions of the ABI spec and is
>> also there in new versions of libsupc++.  It's required for
>> implementing C++11 dependent exceptions.
> 
>> It shouldn't matter for code that doesn't allocate the structure 
>> (and nothing outside of libsupc++ / libcxxrt should be
>> allocating them), because these structures are always passed
>> around by pointers to their ends (where the _Unwind_Exception
>> structure lives).
> 
> Ah, I see.  Now I wrote a proper fix and it looks very promising.
> :-)

Committed:

http://svnweb.freebsd.org/changeset/ports/327589

Thanks!

Jung-uk Kim

* PS: IMHO, the ABI compatibility issue must be fixed before 10.0.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.21 (FreeBSD)

iQEcBAEBAgAGBQJSOj6JAAoJECXpabHZMqHOlhgIAJg0fAXSLdqR+otyUrvgcfDg
fuyYMfbcaVk1yGdPuUwppFb8/hZCP0YDKRCf8JmCpisz5yEcUTQYCVmvWCfjBMTa
2Caelx2Cof2ao6o4IAaDd+qVP16Mdio3e8iAb2Kh8tbj08eLIpn5GvmEOOkNGnVN
HYAONN8e5x3PJN7N+vWcNR1uYw1PZHww44KImZeQ7ejbWQwE28NBbkCwLeddB4he
bafcFPXJccngoW2c9RUIm81sRycZP5vP9dwhJicBHUEK46/x0TW0SQRavH5d0Wnx
E4FxksUen9lQOYtbwFPEfDTH4NnHB+zlwA7SwQgqGFXHqOBn81r3+YTzNmH4rd0=
=t0tP
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?523A3E89.5020608>