• Re: libreoffice on armhf: =?utf-8?B?4oCY?= =?utf-8?Q?asm=E2=80=99_opera

    From Adrian Bunk@21:1/5 to Rene Engelhard on Sun Jul 28 20:00:01 2024
    On Sun, Jul 28, 2024 at 06:38:01PM +0200, Rene Engelhard wrote:
    [ Ccing libreoffice upstream ]

    [ Cc changed for this reply ]

    Hi,

    see https://buildd.debian.org/status/fetch.php?pkg=libreoffice&arch=armhf&ver=4%3A24.8.0~rc2-1&stamp=1722178361&raw=1:

    build CXX] bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx S=/<<PKGBUILDDIR>> && I=$S/instdir && W=$S/workdir && mkdir -p $W/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/ $W/Dep/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/ && cd /<<PKGBUILDDIR>> && arm-linux-gnueabihf-g++ -DARM -DARM32 -DBOOST_
    SYSTEM_NO_DEPRECATED -DCPPU_ENV=gcc3 -DLINUX -DNDEBUG -DOSL_DEBUG_LEVEL=0 -DUNIX -DUNX -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_PTHREADS -D_REENTRANT -D_TIME_BITS=64 -Wdate-time -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_
    BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_POSIX_FALLOCATE -fvisibility=hidden -Wall -Wno-missing-braces -Wendif-labels -Wextra -Wundef -Wunreachable-code -Wshadow -Wunused-macros -finput-charset=UTF-8 -fmessage-length=0 -fno-common -pipe -
    Wdeprecated-copy-dtor -Wduplicated-cond -Wlogical-op -Wshift-overflow=2 -Wunused-const-variable=1 -Wno-cast-function-type -fvisibility-inlines-hidden -fPIC -Wshadow -Woverloaded-virtual -std=c++20 -pthread -g1 -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -
    fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wno-psabi -O0 -Wp,-U_FORTIFY_SOURCE -fstrict-aliasing -fstrict-overflow -fexceptions -fno-enforce-eh-specs -fno-omit-frame-pointer -fno-strict-aliasing -fno-lto -
    DLIBO_INTERNAL_ONLY -c $S/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx -o $W/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.o -MMD -MT $W/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.o -MP -MF $W/Dep/CxxObject/bridges/source/cpp_
    uno/gcc3_linux_arm/uno2cpp.d_ -I$S/bridges/inc -I$S/include -I$S/config_host -I$W/UnoApiHeadersTarget/udkapi/comprehensive && mv $W/Dep/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.d_ $W/Dep/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/
    uno2cpp.d
    [...]
    /<<PKGBUILDDIR>>/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx: In function ‘void {anonymous}::callVirtualMethod(void*, sal_Int32, void*, typelib_TypeDescriptionReference*, sal_uInt32*, sal_uInt32, sal_uInt32*, sal_uInt32, double*)’:
    /<<PKGBUILDDIR>>/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]: *** [/<<PKGBUILDDIR>>/solenv/gbuild/LinkTarget.mk:338: /<<PKGBUILDDIR>>/workdir/CxxObject/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....

    (so far) only on armhf, not on armel. (And arm64/aarch64 is a different bridge code)

    The code is https://git.libreoffice.org/core/+/refs/tags/libreoffice-24.8.0.2/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx#274 ff.

    This didn't change in LO itself, so the only explanation is g++ 13 vs. g++ 14.
    Indeed the same happens with LibreOffice 24.2.5 and building with g++ 13 works.

    Any idea?

    FTR, LO isn't the first package where I have seen such an issue today:
    https://bugs.debian.org/1077326

    Regards,

    Rene

    cu
    Adrian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Metzler@21:1/5 to bunk@debian.org on Mon Aug 5 18:50:01 2024
    On 2024-07-28 Adrian Bunk <bunk@debian.org> wrote:
    On Sun, Jul 28, 2024 at 06:38:01PM +0200, Rene Engelhard wrote:
    [...]
    /<<PKGBUILDDIR>>/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__ (
    | ^~~~~~~
    [...]
    This didn't change in LO itself, so the only explanation is g++ 13 vs. g++ 14.
    Indeed the same happens with LibreOffice 24.2.5 and building with g++ 13 works.

    Any idea?

    FTR, LO isn't the first package where I have seen such an issue today:
    https://bugs.debian.org/1077326

    Hello,

    the libgcrypt20 issue also is strictly triggered by the compiler change
    (even applies to the libgcrypt20 version in stable). Upstream has
    provided a patch that rewrites the code to use less registers.

    cu Andreas
    --
    `What a good friend you are to him, Dr. Maturin. His other friends are
    so grateful to you.'
    `I sew his ears on from time to time, sure'

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)