[Bug 263596] editors/libreoffice: make robust against __cxa_exception ABI changes

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 27 Apr 2022 16:54:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263596

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

URL:
https://cgit.FreeBSD.org/ports/commit/?id=35a5054819f15db65cd25a661887805550aedbc7

commit 35a5054819f15db65cd25a661887805550aedbc7
Author:     Tijl Coosemans <tijl@FreeBSD.org>
AuthorDate: 2022-04-27 16:51:19 +0000
Commit:     Tijl Coosemans <tijl@FreeBSD.org>
CommitDate: 2022-04-27 16:53:04 +0000

    editors/libreoffice: make robust against __cxa_exception ABI changes

    Patch libreoffice to replace __cxa_get_globals()->caughtExceptions,
    which is a pointer to the start of a struct __cxa_exception, with
    __cxa_current_primary_exception(), which is a pointer to the end.  This
    allows struct __cxa_exception to be extended at the start as was
    recently done in FreeBSD main and stable/13 on 64-bit architectures.

    Recently on FreeBSD main and stable/13 __attribute__((__aligned__)) was
    added to struct _Unwind_Exception which changes its size on 32-bit
    architectures, and that of __cxa_exception as well.  Patch libreoffice
    to detect this so packages built on 13.0 still work on 13.1.

    Change the LIB_DEPENDS on libunwind to a BUILD_DEPENDS because we only
    need unwind.h (for FreeBSD 13.0 and older where that header is hidden
    in /usr/include/c++/v1).

    PR:             263596
    Approved by:    office (fluffy)

 editors/libreoffice/Makefile                       | 12 +---
 ...ce_cpp__uno_gcc3__linux__aarch64_abi.cxx (gone) | 11 ----
 ...cpp__uno_gcc3__linux__aarch64_uno2cpp.cxx (new) | 25 ++++++++
 ...s_source_cpp__uno_gcc3__linux__intel_except.cxx | 60 ++++++++++++++++--
 ..._source_cpp__uno_gcc3__linux__x86-64_except.cxx | 46 +++++++++++---
 ...es-source-cpp_uno-gcc3_linux_powerpc-except.cxx | 74 ++++++++++++++--------
 ...-source-cpp_uno-gcc3_linux_powerpc64-except.cxx | 52 ++++++++-------
 7 files changed, 197 insertions(+), 83 deletions(-)

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