[Bug 263596] editors/libreoffice: make robust against __cxa_exception ABI changes
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.