Package: clang-14 Version: 1:14.0.6-2 Severity: normal X-Debbugs-Cc: bernha...@mailbox.org
Dear Maintainer, clang-14 is currently not able to run at a pre-SSE2 cpu. This is because clang-14 links to libLLVM-14.so.1 which links to libz3.so.4. Unfortunately libz3-4 is currently compiled with sse2 enabled, making even the static initialization functions using such instructions. This static initialization also affects other programs as Xorg via Mesa [2], lightdm [3] or kalgebra, and maybe all that links somehow to libLLVM-14.so. As upstream "does not want" libz3-4 to be compiled without sse2 enabled [1], this bug report might be used to clarify if libLLVM-14 really needs to link with libz3 at i386, as there is an option to just disable it (which would get used for old libz3 versions or when compiling for Ubuntu) [5]. What would be the downsides for i386 dropping libz3 usage, until Debian i386 baseline is raised to require sse2 cpu support? Kind regards Bernhard [1] https://github.com/Z3Prover/z3/issues/6369#issuecomment-1259419466 [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020802 [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020516 [4] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1016658 [5] https://sources.debian.org/src/llvm-toolchain-14/1%3A14.0.6-5/debian/rules/#L111 [6] https://sources.debian.org/src/llvm-toolchain-14/1%3A14.0.6-5/debian/changelog/#L2618 $ clang-14 Ungültiger Maschinenbefehl (Speicherabzug geschrieben) $ libtree /usr/bin/clang-14 /usr/bin/clang-14 ├── libLLVM-14.so.1 [ld.so.conf] │ ├── libz3.so.4 [ld.so.conf] ... # coredumpctl gdb ... Executable: /usr/lib/llvm-14/bin/clang ... Module libz3.so.4 with build-id 4299dc7fc78e26403fe929ee917098aea874c694 ... Module libLLVM-14.so.1 with build-id cb6ea80210dda487742b87e116cb7c646a58024e ... Core was generated by `clang-14'. Program terminated with signal SIGILL, Illegal instruction. #0 0xab1672de in ?? () from /lib/i386-linux-gnu/libz3.so.4 (gdb) bt #0 0xab1672de in ?? () from /lib/i386-linux-gnu/libz3.so.4 #1 0xb7f62d6b in call_init (env=0xbfda8edc, argv=0xbfda8ed4, argc=1, l=<optimized out>) at ./elf/dl-init.c:70 #2 call_init (l=<optimized out>, argc=1, argv=0xbfda8ed4, env=0xbfda8edc) at ./elf/dl-init.c:26 #3 0xb7f62e5c in _dl_init (main_map=<optimized out>, argc=1, argv=0xbfda8ed4, env=0xbfda8edc) at ./elf/dl-init.c:117 #4 0xb7f796aa in _dl_start_user () from /lib/ld-linux.so.2 # with libz3-4-dbgsym (gdb) bt #0 std::__mutex_base::__mutex_base (this=0x914dbb0) at /usr/include/c++/12/bits/std_mutex.h:65 #1 std::mutex::mutex (this=0x914dbb0) at /usr/include/c++/12/bits/std_mutex.h:91 #2 __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at ./src/util/memory_manager.cpp:39 #3 _GLOBAL__sub_I_memory_manager.cpp(void) () at ./src/util/memory_manager.cpp:373 #4 0xb7f62d6b in call_init (env=0xbfda8edc, argv=0xbfda8ed4, argc=1, l=<optimized out>) at ./elf/dl-init.c:70 #5 call_init (l=<optimized out>, argc=1, argv=0xbfda8ed4, env=0xbfda8edc) at ./elf/dl-init.c:26 #6 0xb7f62e5c in _dl_init (main_map=<optimized out>, argc=1, argv=0xbfda8ed4, env=0xbfda8edc) at ./elf/dl-init.c:117 #7 0xb7f796aa in _dl_start_user () from /lib/ld-linux.so.2 (gdb) display/i $pc 1: x/i $pc => 0xab1672de <_GLOBAL__sub_I_memory_manager.cpp(void)+62>: pxor %xmm0,%xmm0 (Could be reproduced in qemu VM by using a non-pae kernel, no kvm acceleration, and e.g. "qemu-system-i386 -cpu pentium2-v1 ...".) -- System Information: Debian Release: bookworm/sid APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'testing') Architecture: i386 (i686) Kernel: Linux 5.19.0-2-686 (SMP w/16 CPU threads; PREEMPT) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages clang-14 depends on: ii binutils 2.39-8 ii libatomic1 12.2.0-3 ii libc6 2.35-3 ii libc6-dev 2.35-3 ii libclang-common-14-dev 1:14.0.6-2 ii libclang-cpp14 1:14.0.6-2 ii libclang1-14 1:14.0.6-2 ii libgcc-12-dev 12.2.0-3 ii libgcc-s1 12.2.0-3 ii libllvm14 1:14.0.6-2 ii libobjc-12-dev 12.2.0-3 ii libstdc++-12-dev 12.2.0-3 ii libstdc++6 12.2.0-3 ii llvm-14-linker-tools 1:14.0.6-2 Versions of packages clang-14 recommends: ii llvm-14-dev 1:14.0.6-2 ii python3 3.10.6-1 Versions of packages clang-14 suggests: pn clang-14-doc <none> -- no debconf information Thank you for using reportbug