Date: Thu, 19 Sep 2013 15:51:09 +0400 From: S.N.Grigoriev <serguey-grigoriev@yandex.ru> To: Jung-uk Kim <jkim@freebsd.org>, David Chisnall <theraven@freebsd.org> Cc: Baptiste Daroussin <bapt@freebsd.org>, FreeBSD-current <freebsd-current@freebsd.org>, "O. Hartmann" <ohartman@zedat.fu-berlin.de>, Tijl Coosemans <tijl@freebsd.org>, Shawn Webb <lattera@gmail.com> Subject: Re: libreoffice build error Message-ID: <266841379591469@web25h.yandex.ru> In-Reply-To: <523A3E89.5020608@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> <523A3E89.5020608@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
19.09.2013, 04:02, "Jung-uk Kim" <jkim@FreeBSD.org>: > > 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) > Thanks for your commit! Now Libreoffice builds and works fine. -- Regards, S.Grigoriev.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?266841379591469>