From: Debian LibreOffice Maintainers Date: Sun, 8 Sep 2024 14:58:19 +0000 (+0000) Subject: gcc-14-armhf-registers X-Git-Tag: archive/raspbian/4%24.8.2-1+rpi1~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d8fe79b6e1552f5b35a0cbf8eb3c75d18b4b0f34;p=libreoffice.git gcc-14-armhf-registers 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 --- 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)); }