Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Mar 2022 07:30:02 GMT
From:      Dima Panov <fluffy@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: f88f34d1b4a0 - main - editors/libreoffice: work around changed alignment of __cxa_exception
Message-ID:  <202203090730.2297U2X5077012@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by fluffy:

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

commit f88f34d1b4a00d94c00aae1b3097c9c637e36397
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2022-03-09 07:28:27 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2022-03-09 07:28:27 +0000

    editors/libreoffice: work around changed alignment of __cxa_exception
    
    LibreOffice has special detection for the change in alignment and size
    of struct cxa_exception, when using libc++abi. However, this updated
    alignment also applies to libunwind and upstream libcxxrt, and will soon
    apply to our libcxxrt too.
    
    Enable the special detection unconditionally for x86_64 and aarch64, so
    libreoffice packages built on 13.0-R (with the old alignment) will
    seamlessly work on 13.1-R (which will have the new alignment).
    
    PR:     262008
---
 editors/libreoffice/Makefile                                  |  2 +-
 ...patch-bridges_source_cpp__uno_gcc3__linux__aarch64_abi.cxx | 11 +++++++++++
 ...tch-bridges_source_cpp__uno_gcc3__linux__x86-64_except.cxx | 11 +++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/editors/libreoffice/Makefile b/editors/libreoffice/Makefile
index d78b4085a616..6128adfc52d1 100644
--- a/editors/libreoffice/Makefile
+++ b/editors/libreoffice/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION=	1
+PORTREVISION=	2
 
 .include "${.CURDIR}/Makefile.common"
 
diff --git a/editors/libreoffice/files/patch-bridges_source_cpp__uno_gcc3__linux__aarch64_abi.cxx b/editors/libreoffice/files/patch-bridges_source_cpp__uno_gcc3__linux__aarch64_abi.cxx
new file mode 100644
index 000000000000..dc8af45ecfea
--- /dev/null
+++ b/editors/libreoffice/files/patch-bridges_source_cpp__uno_gcc3__linux__aarch64_abi.cxx
@@ -0,0 +1,11 @@
+--- bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx.orig	2022-01-26 14:35:29 UTC
++++ bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx
+@@ -147,7 +147,7 @@ extern "C" void _GLIBCXX_CDTOR_CALLABI deleteException
+ extern "C" void _GLIBCXX_CDTOR_CALLABI deleteException(void * exception) {
+     __cxxabiv1::__cxa_exception * header =
+         static_cast<__cxxabiv1::__cxa_exception *>(exception) - 1;
+-#if !defined MACOSX && defined _LIBCPPABI_VERSION // detect libc++abi
++#if 1
+     // First, the libcxxabi commit
+     // <http://llvm.org/viewvc/llvm-project?view=revision&revision=303175>;
+     // "[libcxxabi] Align unwindHeader on a double-word boundary" towards
diff --git a/editors/libreoffice/files/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_except.cxx b/editors/libreoffice/files/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_except.cxx
new file mode 100644
index 000000000000..4553e0303b2a
--- /dev/null
+++ b/editors/libreoffice/files/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_except.cxx
@@ -0,0 +1,11 @@
+--- bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx.orig	2022-01-26 14:35:29 UTC
++++ bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
+@@ -82,7 +82,7 @@ static void _GLIBCXX_CDTOR_CALLABI deleteException( vo
+ static void _GLIBCXX_CDTOR_CALLABI deleteException( void * pExc )
+ {
+     __cxxabiv1::__cxa_exception const * header = static_cast<__cxxabiv1::__cxa_exception const *>(pExc) - 1;
+-#if defined _LIBCPPABI_VERSION // detect libc++abi
++#if 1
+     // First, the libcxxabi commit
+     // <http://llvm.org/viewvc/llvm-project?view=revision&revision=303175>;
+     // "[libcxxabi] Align unwindHeader on a double-word boundary" towards



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