From 6735516bb4939989ac7c0102df6165f37ecb3db3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Sat, 21 Aug 2021 21:12:31 +0100 Subject: [PATCH] fix arm32 uno bridge --- 0001-arm-fix-bridge.patch | 92 +++++++++++++++++++ ...was-already-the-right-amount-of-byte.patch | 35 ------- libreoffice.spec | 9 +- 3 files changed, 98 insertions(+), 38 deletions(-) create mode 100644 0001-arm-fix-bridge.patch delete mode 100644 0001-arm-nStackBytes-was-already-the-right-amount-of-byte.patch diff --git a/0001-arm-fix-bridge.patch b/0001-arm-fix-bridge.patch new file mode 100644 index 0000000..621912d --- /dev/null +++ b/0001-arm-fix-bridge.patch @@ -0,0 +1,92 @@ +From 142e236c6dedc03915d2b3fe2cb6122ad714ac09 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Thu, 19 Aug 2021 16:15:13 +0100 +Subject: [PATCH] arm: fix bridge +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +which went a little wrong in + +commit dd91d3389c26645459d3b80649941d65efa4f63f +Date: Sat Jan 2 14:36:44 2021 +0100 + + Fix some warnings for Raspberry pi 4 (part3) + +Change-Id: Ief7e1146b7480a1c16ec0810f991296710214332 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120830 +Tested-by: Caolán McNamara +Reviewed-by: Caolán McNamara + +and... + +arm: nStackBytes was already the right amount of bytes + +regression from... + +commit 6e3424ca1131fe371f63e456267de476b5eb0eae +Date: Sat Jan 2 11:03:12 2021 +0100 + + Fix some warnings for Raspberry pi 4 (part2) + +which changed that + +Change-Id: I9a19d7d6bc1e4115ffffbe32d8d62be5d275d500 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120747 +Tested-by: Caolán McNamara +Reviewed-by: René Engelhard +Reviewed-by: Caolán McNamara +--- + bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx +index 8533415ed087..a22ac393b5f7 100644 +--- a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx ++++ b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx +@@ -251,7 +251,7 @@ void callVirtualMethod( + { + // 8-bytes aligned + sal_uInt32 nStackBytes = ( ( nStack + 1 ) >> 1 ) * 8; +- sal_uInt32 *stack = static_cast(__builtin_alloca( nStackBytes * sizeof(sal_uInt32))); ++ sal_uInt32 *stack = static_cast(__builtin_alloca( nStackBytes )); + memcpy( stack, pStack, nStackBytes ); + } + +@@ -298,9 +298,9 @@ void callVirtualMethod( + + #define INSERT_INT32( pSV, nr, pGPR, pDS ) \ + if ( nr < arm::MAX_GPR_REGS ) \ +- pGPR[nr++] = reinterpret_cast( pSV ); \ ++ pGPR[nr++] = *reinterpret_cast( pSV ); \ + else \ +- *pDS++ = reinterpret_cast( pSV ); ++ *pDS++ = *reinterpret_cast( pSV ); + + #ifdef __ARM_EABI__ + #define INSERT_INT64( pSV, nr, pGPR, pDS, pStart ) \ +@@ -310,8 +310,8 @@ void callVirtualMethod( + } \ + if ( nr < arm::MAX_GPR_REGS ) \ + { \ +- *reinterpret_cast(pGPR[nr++]) = *static_cast( pSV ); \ +- *reinterpret_cast(pGPR[nr++]) = *(static_cast( pSV ) + 1); \ ++ pGPR[nr++] = *static_cast( pSV ); \ ++ pGPR[nr++] = *(static_cast( pSV ) + 1); \ + } \ + else \ + { \ +@@ -319,8 +319,8 @@ void callVirtualMethod( + { \ + ++pDS; \ + } \ +- *reinterpret_cast(*pDS++) = static_cast( pSV )[0]; \ +- *reinterpret_cast(*pDS++) = static_cast( pSV )[1]; \ ++ *pDS++ = static_cast( pSV )[0]; \ ++ *pDS++ = static_cast( pSV )[1]; \ + } + #else + #define INSERT_INT64( pSV, nr, pGPR, pDS, pStart ) \ +-- +2.31.1 + diff --git a/0001-arm-nStackBytes-was-already-the-right-amount-of-byte.patch b/0001-arm-nStackBytes-was-already-the-right-amount-of-byte.patch deleted file mode 100644 index d0f2881..0000000 --- a/0001-arm-nStackBytes-was-already-the-right-amount-of-byte.patch +++ /dev/null @@ -1,35 +0,0 @@ -From ed428ddfef87a5641598a017e8781f107f3f3c27 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 19 Aug 2021 16:15:13 +0100 -Subject: [PATCH] arm: nStackBytes was already the right amount of bytes - -possible regression from... - -commit 6e3424ca1131fe371f63e456267de476b5eb0eae -Date: Sat Jan 2 11:03:12 2021 +0100 - - Fix some warnings for Raspberry pi 4 (part2) - -which changed that - -Change-Id: I9a19d7d6bc1e4115ffffbe32d8d62be5d275d500 ---- - bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx -index 8533415ed087..7a8adad90ead 100644 ---- a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx -+++ b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx -@@ -251,7 +251,7 @@ void callVirtualMethod( - { - // 8-bytes aligned - sal_uInt32 nStackBytes = ( ( nStack + 1 ) >> 1 ) * 8; -- sal_uInt32 *stack = static_cast(__builtin_alloca( nStackBytes * sizeof(sal_uInt32))); -+ sal_uInt32 *stack = static_cast(__builtin_alloca( nStackBytes )); - memcpy( stack, pStack, nStackBytes ); - } - --- -2.31.1 - diff --git a/libreoffice.spec b/libreoffice.spec index a9cdf14..37b0f11 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -50,7 +50,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 Version: %{libo_version}.4 -Release: 2%{?libo_prerelease}%{?dist} +Release: 3%{?libo_prerelease}%{?dist} License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0 URL: http://www.libreoffice.org/ @@ -250,7 +250,7 @@ Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch Patch3: 0001-make-with-idlc-cpp-cpp-work-for-gcc-cpp-as-a-ucpp-re.patch Patch4: 0001-Resolves-tdf-132739-two-style-tags-where-there-shoul.patch Patch5: 0001-Revert-tdf-101630-gdrive-support-w-oAuth-and-Drive-A.patch -Patch6: 0001-arm-nStackBytes-was-already-the-right-amount-of-byte.patch +Patch6: 0001-arm-fix-bridge.patch # not upstreamed Patch500: 0001-disable-libe-book-support.patch @@ -1511,7 +1511,7 @@ for jar in %{buildroot}%{baseinstdir}/program/classes/*.jar; do done %check -%ifnarch s390x %{arm} +%ifnarch s390x make unitcheck slowcheck # we don't need this anymore rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar @@ -2248,6 +2248,9 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || : %{_includedir}/LibreOfficeKit %changelog +* Sat Aug 21 2021 Caolán McNamara - 1:7.2.0.4-3 +- fix arm32 uno bridge + * Fri Aug 20 2021 Caolán McNamara - 1:7.2.0.4-2 - s390x firebird is available again