Issue 184994
Summary ppc64le build failures without `-DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON`
Labels new issue
Assignees
Reporter Fabian-Gruenbichler
    Hi!

I am currently trying to backport LLVM 21 to Debian Trixie (in order to unlock backporting rustc versions requiring LLVM > 19). Debian Trixie doesn't yet have `-DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON` or support for it.

Unfortunately, the build breaks on ppc64le, apparently because the fix for #136596 was incomplete.

This is the configure invocation and output (somewhat reduced from a full Debian package build, but probably still contains some unneeded bits:
```
cmake -S llvm/ -B build-llvm \
-G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-21 \
-DLLVM_VERSION_SUFFIX= \
-DCMAKE_SUPPRESS_REGENERATION=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS="-Werror=implicit-function-declaration -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2" \
-DCMAKE_CXX_FLAGS="-fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-z,relro -Wl,--build-id" \
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,-z,relro -Wl,--build-id" \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-z,relro -Wl,--build-id" \
-DPACKAGE_VENDOR=Debian \
-DENABLE_LINKER_BUILD_ID=ON \
-DLLVM_TARGETS_TO_BUILD=Native \
-DLLVM_ENABLE_PROJECTS="clang" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;offload" \
-DLLVM_ENABLE_PIC=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_INCLUDE_GO_TESTS=OFF \
-DLLVM_USE_RELATIVE_PATHS_IN_FILES=ON \
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
-DLLVM_ENABLE_CURL=ON \
-DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=ON \
-DCLANG_PLUGIN_SUPPORT=OFF \
-DCLANG_BUILD_EXAMPLES=OFF \
-DCLANG_DEFAULT_LINKER=ld \
-DCLANG_DEFAULT_RTLIB=libgcc \
-DCOMPILER_RT_BUILD_XRAY=OFF \
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
-DCOMPILER_RT_USE_LIBCXX=OFF \
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
-DLIBUNWIND_INSTALL_LIBRARY=OFF \
-DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
-DLIBCXXABI_USE_COMPILER_RT=ON \
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
-DLIBCXXABI_INSTALL_LIBRARY=OFF \
-DLIBCXX_ENABLE_EXCEPTIONS=ON \
-DLIBCXX_USE_COMPILER_RT=ON \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \
-DLIBCXX_INSTALL_LIBRARY=OFF \
-DLIBCXX_INSTALL_MODULES=ON \
-DBOOTSTRAP_LIBCXX_INSTALL_MODULES=ON \
-DOPENMP_ENABLE_LIBOMP_PROFILING=OFF \
-DOPENMP_ENABLE_LIBOMPTARGET_PROFILING=OFF \
-DLIBOMP_ENABLE_RTTI=OFF \
-DLIBOMP_OMPT_SUPPORT=OFF \
-DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=ON \
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
 -DLLVM_HOST_TRIPLE=powerpc64le-linux-gnu -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=OFF -DLLVM_USE_LINKER=lld -DLLVM_BINUTILS_INCDIR=/usr/include/ -DLIBOMP_LIBFLAGS="-lm" -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF -DLLDB_ENABLE_LUA=OFF \
-DBUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=-Werror=implicit-function-declaration -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_CXX_FLAGS=-fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \
-DRUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=-Werror=implicit-function-declaration -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_CXX_FLAGS=-fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_Fortran_FLAGS=-D_FORTIFY_SOURCE=2;-DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \
-DCLANG_ENABLE_BOOTSTRAP=ON \
-DCLANG_BOOTSTRAP_TARGETS="check-all;check-llvm;check-clang;check-clang-tools;check-lld;check-libcxx;check-libcxxabi;check-mlir;check-libc;check-sanitizer;llvm-config;test-suite" \
-DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;LLVM_USE_RELATIVE_PATHS_IN_FILES;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_DEFAULT_TARGET_ONLY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_EXCEPTIONS;LIBCXXABI_USE_COMPILER_RT;LIBCXXABI_USE_LLVM_UNWINDER;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_EXCEPTIONS;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION;CMAKE_C_COMPILER_LAUNCHER;CMAKE_CXX_COMPILER_LAUNCHER;LLVM_LIBC_GPU_BUILD" \
-DBOOTSTRAP_CMAKE_BUILD_TYPE=RelWithDebInfo \
-DBOOTSTRAP_CMAKE_C_FLAGS_RELWITHDEBINFO="-O2 -DNDEBUG -g1" \
-DBOOTSTRAP_CMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -DNDEBUG -g1" \
-DBOOTSTRAP_CMAKE_C_FLAGS="-Werror=implicit-function-declaration -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2" \
-DBOOTSTRAP_CMAKE_CXX_FLAGS="-fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2" \
-DBOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS="-Wl,-z,relro -Wl,--build-id" \
-DBOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS="-Wl,-z,relro -Wl,--build-id" \
-DBOOTSTRAP_CMAKE_EXE_LINKER_FLAGS="-Wl,-z,relro -Wl,--build-id" \
-DBOOTSTRAP_LLVM_ENABLE_FFI=ON \
-DBOOTSTRAP_LLVM_ENABLE_DUMP=ON \
-DBOOTSTRAP_LLVM_ENABLE_LIBPFM=ON \
-DBOOTSTRAP_LLVM_ENABLE_SPHINX=ON \
-DBOOTSTRAP_CLANG_DEFAULT_PIE_ON_LINUX=ON \
-DBOOTSTRAP_SPHINX_WARNINGS_AS_ERRORS=OFF \
-DBOOTSTRAP_LLVM_USE_RELATIVE_PATHS_IN_FILES=ON \
-DBOOTSTRAP_LLVM_INSTALL_UTILS=ON \
-DBOOTSTRAP_LLVM_VERSION_SUFFIX= \
-DBOOTSTRAP_LLVM_POLLY_LINK_INTO_TOOLS=ON \
-DBOOTSTRAP_LLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \
-DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \
-DBOOTSTRAP_LLVM_ENABLE_CURL=ON \
-DBOOTSTRAP_CLANG_LINK_CLANG_DYLIB=ON \
-DBOOTSTRAP_LIBCLANG_LIBRARY_VERSION=1 \
-DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \
-DBOOTSTRAP_PYTHON_EXECUTABLE=/usr/bin/python3 \
 -DBOOTSTRAP_CLANG_REPOSITORY_STRING=3~bpo13+1 -DBOOTSTRAP_LLVM_ENABLE_Z3_SOLVER=ON -DBOOTSTRAP_CLANG_SYSTEMZ_DEFAULT_ARCH=z196 -DBOOTSTRAP_CLANGD_ENABLE_REMOTE=ON  -DBOOTSTRAP_LLVM_USE_PERF=ON -DBOOTSTRAP_LLVM_ENABLE_LIBPFM=ON -DBOOTSTRAP_LLVM_HOST_TRIPLE=powerpc64le-linux-gnu -DBOOTSTRAP_PPC_LINUX_DEFAULT_IEEELONGDOUBLE=OFF -DBOOTSTRAP_LLVM_USE_LINKER=lld -DBOOTSTRAP_LLVM_BINUTILS_INCDIR=/usr/include/ -DBOOTSTRAP_LIBOMP_LIBFLAGS="-lm" -DBOOTSTRAP_MLIR_INSTALL_AGGREGATE_OBJECTS=OFF -DBOOTSTRAP_LLDB_ENABLE_LUA=OFF \
-DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=-Werror=implicit-function-declaration -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_CXX_FLAGS=-fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id;-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=-O2 -DNDEBUG -g1;-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -DNDEBUG -g1;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \
-DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=-Werror=implicit-function-declaration -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_CXX_FLAGS=-fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2;-DCMAKE_Fortran_FLAGS=-D_FORTIFY_SOURCE=2;-DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id -L/build/reproducible-path/llvm-toolchain-21-21.1.8/build-llvm/lib;-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id -L/build/reproducible-path/llvm-toolchain-21-21.1.8/build-llvm/lib;-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-z,relro -Wl,--build-id -L/build/reproducible-path/llvm-toolchain-21-21.1.8/build-llvm/lib;-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=-O2 -DNDEBUG -g1;-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -DNDEBUG -g1;-DCMAKE_Fortran_FLAGS_RELWITHDEBINFO=-O2 -DNDEBUG -g1;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"

I: annotate-output 2.25.15+deb13u1
I: prefix='%H:%M:%S '
08:18:53 I: Started bash ../configure.sh
08:18:54 O: -- bolt project is disabled
08:18:54 O: -- clang project is enabled
08:18:54 O: -- clang-tools-extra project is disabled
08:18:54 O: -- cross-project-tests project is disabled
08:18:54 O: -- lld project is disabled
08:18:54 O: -- lldb project is disabled
08:18:54 O: -- mlir project is disabled
08:18:54 O: -- polly project is disabled
08:18:54 O: -- flang project is disabled
08:18:54 O: -- libc project is disabled
08:18:54 O: -- compiler-rt project is disabled
08:18:54 O: -- Doxygen disabled.
08:18:55 O: -- Found Python3: /usr/bin/python3 (found suitable version "3.13.5", minimum required is "3.8") found components: Interpreter
08:18:58 O: -- LLVM host triple: powerpc64le-linux-gnu
08:18:58 O: -- Native target architecture is PowerPC
08:18:58 O: -- Threads enabled.
08:18:58 O: -- Ninja version: 1.12.1
08:18:58 O: -- OCaml bindings enabled.
08:18:58 O: -- LLVM default target triple: powerpc64le-linux-gnu
08:18:58 O: -- Performing Test LLVM_USES_LIBSTDCXX
08:18:58 O: -- Performing Test LLVM_USES_LIBSTDCXX - Success
08:18:58 O: -- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI
08:18:59 O: -- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI - Success
08:18:59 O: -- Building with -fPIC
08:18:59 E: Precompiled headers are disabled by default with GCC. Pass -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF to override.
08:18:59 O: -- Precompiled headers disabled.
08:18:59 O: -- Looking for flock
08:19:01 O: -- Looking for flock - found
08:19:03 O: -- Targeting M68k
08:19:03 O: -- Targeting Xtensa
08:19:03 O: -- Targeting PowerPC
08:19:05 O: -- Clang version: 23.0.0
08:19:08 O: -- Found Python3: /usr/bin/python3 (found version "3.13.5") found components: Interpreter
08:19:09 O: -- Setting next clang stage to: stage2
08:19:11 O: -- Registering ExampleIRTransforms as a pass plugin (static build: OFF)
08:19:11 O: -- Registering Bye as a pass plugin (static build: OFF)
08:19:15 O: -- Google Benchmark version: v0.0.0, normalized to 0.0.0
08:19:16 O: -- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
08:19:16 O: -- Performing Test HAVE_POSIX_REGEX -- success
08:19:16 O: -- Performing Test HAVE_STEADY_CLOCK -- success
08:19:16 O: -- Performing Test HAVE_PTHREAD_AFFINITY -- success
08:19:16 O: -- Configuring done (21.9s)
08:19:26 O: -- Generating done (10.3s)
08:19:26 O: -- Build files have been written to: /home/fabiang/llvm-project/build-llvm
08:19:27 I: Finished with exitcode 0

```

This is the build invocation:
```
LD_LIBRARY_PATH=/build/reproducible-path/llvm-toolchain-21-21.1.8/build-llvm/lib:$LD_LIBRARY_PATH \
VERBOSE=1 CMAKE_BUILD_PARALLEL_LEVEL=4 \
  /usr/bin/time -v  cmake --build build-llvm --target stage2
```

and resulting error:
```
[..]
09:44:48 O: [1314/2013] /home/fabiang/llvm-project/build-llvm/bin/clang++ --target=powerpc64le-linux-gnu -DDEBUG_PREFIX=\"PluginInterface\" -DLIBC_NAMESPACE=__llvm_libc_common_utils -DTARGET_NAME=PluginInterface -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/fabiang/llvm-project/llvm/include -I/home/fabiang/llvm-project/build-llvm/include -I/home/fabiang/llvm-project/offload/plugins-nextgen/common/include -I/home/fabiang/llvm-project/build-llvm/runtimes/runtimes-bins/offload/plugins-nextgen/common/include -I/home/fabiang/llvm-project/build-llvm/runtimes/runtimes-bins/offload/include -I/home/fabiang/llvm-project/offload/include -I/home/fabiang/llvm-project/cmake/Modules/../../libc -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -fdebug-prefix-map=/home/fabiang/llvm-project/build-llvm/runtimes/runtimes-bins=../../../ -fdebug-prefix-map=/home/fabiang/llvm-project/= -no-canonical-prefixes -ffile-prefix-map=/home/fabiang/llvm-project/build-llvm/runtimes/runtimes-bins=../../../ -ffile-prefix-map=/home/fabiang/llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -std=c++17 -fPIC -fno-exceptions -Werror=global-constructors -MD -MT offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RPC.cpp.o -MF offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RPC.cpp.o.d -o offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RPC.cpp.o -c /home/fabiang/llvm-project/offload/plugins-nextgen/common/src/RPC.cpp
09:44:48 O: FAILED: offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RPC.cpp.o 
09:44:48 O: /home/fabiang/llvm-project/build-llvm/bin/clang++ --target=powerpc64le-linux-gnu -DDEBUG_PREFIX=\"PluginInterface\" -DLIBC_NAMESPACE=__llvm_libc_common_utils -DTARGET_NAME=PluginInterface -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/fabiang/llvm-project/llvm/include -I/home/fabiang/llvm-project/build-llvm/include -I/home/fabiang/llvm-project/offload/plugins-nextgen/common/include -I/home/fabiang/llvm-project/build-llvm/runtimes/runtimes-bins/offload/plugins-nextgen/common/include -I/home/fabiang/llvm-project/build-llvm/runtimes/runtimes-bins/offload/include -I/home/fabiang/llvm-project/offload/include -I/home/fabiang/llvm-project/cmake/Modules/../../libc -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-<truncated>Please see the issue for the entire body.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to