git: f88f34d1b4a0 - main - editors/libreoffice: work around changed alignment of __cxa_exception
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 09 Mar 2022 07:30:02 UTC
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