From d8fe79b6e1552f5b35a0cbf8eb3c75d18b4b0f34 Mon Sep 17 00:00:00 2001 From: Debian LibreOffice Maintainers Date: Sun, 8 Sep 2024 14:58:19 +0000 Subject: [PATCH] gcc-14-armhf-registers MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit commit f1a9a0be059727fddf48058b0084c89ec00f1eb9 (HEAD -> master) Author: Rene Engelhard Date: Thu Aug 8 17:36:14 2024 +0200 fix build on armhf with gcc 14 /uno2cpp.cxx: In function ‘void {anonymous}::callVirtualMethod(void*, sal_Int32, void*, typelib_TypeDescriptionReference*, sal_uInt32*, sal_uInt32, sal_uInt32*, sal_uInt32, double*)’: /<>/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx:278:5: error: ‘asm’ operand has impossible constraints or there are not enough registers 278 | __asm__ __volatile__ ( | ^~~~~~~ make[2]: *** [/<>/solenv/gbuild/LinkTarget.mk:338: /<>/workdir/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.o] Error 1 Just removing them makes it work, they are mentioned before anyway, too (thanks Caolan) Change-Id: Ibb9118b268a587ebdcfce343e2ee2605ac979915 Gbp-Pq: Name gcc-14-armhf-registers.diff --- 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 001384e005f..e08ec4ad8f8 100644 --- a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx @@ -298,7 +298,7 @@ void callVirtualMethod( "mov %[r1], r1\n\t" : [r0]"=r" (r0), [r1]"=r" (r1) : [pmethod]"m" (pMethod), [pgpr]"m" (pGPR), [pfpr]"m" (pFPR) - : "r0", "r1", "r2", "r3", "r4", "r5"); + : "r2", "r3", "r4", "r5"); MapReturn(r0, r1, pReturnType, static_cast(pRegisterReturn)); } -- 2.30.2