Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Mar 2021 13:55:36 +0000
From:      bugzilla-noreply@freebsd.org
To:        office@FreeBSD.org
Subject:   [Bug 253840] editors/libreoffice: fails to start after update to 7.1.0.3_2 with "Application Error"
Message-ID:  <bug-253840-25061-DSbInCpt88@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-253840-25061@https.bugs.freebsd.org/bugzilla/>
References:  <bug-253840-25061@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D253840

--- Comment #31 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=3D9097e3cbcac455eb0dedd097d8d5548c7=
2568d0a

commit 9097e3cbcac455eb0dedd097d8d5548c72568d0a
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-03-13 13:54:24 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-03-13 13:54:24 +0000

    Partially revert libcxxrt changes to avoid _Unwind_Exception change

    (Note I am also applying this to main and stable/13, to restore the old
    libcxxrt ABI and to avoid having to maintain a compat library.)

    After the recent cherry-picking of libcxxrt commits 0ee0dbfb0d26 and
    d2b3fadf2db5, users reported that editors/libreoffice packages from the
    official package builders did not start anymore. It turns out that the
    combination of these commits subtly changes the ABI, requiring all
    applications that depend on internal details of struct _Unwind_Exception
    (available via unwind-arm.h and unwind-itanium.h) to be recompiled.

    However, the FreeBSD package builders always use -RELEASE jails, so
    these still use the old declaration of struct _Unwind_Exception, which
    is not entirely compatible. In particular, LibreOffice uses this struct
    in its internal "uno bridge" component, where it attempts to setup its
    own exception handling mechanism.

    To fix this incompatibility, go back to the old declarations of struct
    _Unwind_Exception, and restore the __LP64__ specific workaround we had
    in place before (which was to cope with yet another, older ABI bug).

    Effectively, this reverts upstream libcxxrt commits 88bdf6b290da
    ("Specify double-word alignment for ARM unwind") and b96169641f79
    ("Updated Itanium unwind"), and reapplies our commit 3c4fd2463bb2
    ("libcxxrt: add padding in __cxa_allocate_* to fix alignment").

    PR:             253840

 contrib/libcxxrt/exception.cc     | 30 ++++++++++++++++++++++++------
 contrib/libcxxrt/unwind-arm.h     |  2 +-
 contrib/libcxxrt/unwind-itanium.h |  9 +++------
 3 files changed, 28 insertions(+), 13 deletions(-)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-253840-25061-DSbInCpt88>