<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/130271>130271</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[20.1.0] Build failure when trying to build an i386 compiler-rt on x86_64
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
berolinux
</td>
</tr>
</table>
<pre>
Building LLVM 20.1.0 with
```
cmake [...] -DLLVM_ENABLE_PROJECTS='llvm;bolt;clang;clang-tools-extra;polly;mlir;flang;lldb;lld;libclc' -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR:BOOL=ON -DLLVM_ENABLE_RUNTIMES='libunwind;openmp;pstl;libcxx;libcxxabi;libc;compiler-rt;offload' -DCOMPILER_RT_USE_BUILTINS_LIBRARY:BOOL=ON -DCOMPILER_RT_ENABLE_SOFTWARE_INT128:BOOL=ON -DLLVM_TARGETS_TO_BUILD=all -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='ARC;CSKY;M68k;SPIRV;Xtensa' -DLLVM_BUILD_RUNTIME:BOOL=ON -DLLVM_TOOL_COMPILER_RT_BUILD:BOOL=ON -DCOMPILER_RT_BUILD_BUILTINS:BOOL=ON -DCOMPILER_RT_BUILD_CRT:BOOL=ON -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DCLANG_LINK_CLANG_DYLIB:BOOL=ON -DMLIR_BUILD_MLIR_C_DYLIB:BOOL=ON -DSPIRV_HEADERS_ENABLE_INSTALL:BOOL=ON -DSPIRV_TOOLS_BUILD_STATIC:BOOL=OFF -G Ninja ../llvm ; ninja
```
fails near the end when trying to build the i386 compiler-rt runtimes:
```
Performing configure step for 'runtimes'
Not searching for unused variables given on the command line.
loading initial cache file /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/build/projects/runtimes/tmp/runtimes-cache-RelWithDebInfo.cmake
-- Performing bootstrapping runtimes build.
CMake Deprecation Warning at /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/cmake/Modules/CMakePolicy.cmake:6 (cmake_policy):
The OLD behavior for policy CMP0116 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
CMakeLists.txt:18 (include)
-- Building with -fPIC
-- LLVM host triple: x86_64-pc-linux-gnu
-- LLVM default target triple: x86_64-pc-linux-gnu
CMake Deprecation Warning at /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/cmake/Modules/CMakePolicy.cmake:6 (cmake_policy):
The OLD behavior for policy CMP0116 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
/home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/libc/CMakeLists.txt:14 (include)
-- Setting LIBC_NAMESPACE namespace to '__llvm_libc_20_1_0_'
-- Set COMPILER_RESOURCE_DIR to /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/build/lib64/clang/20 using --print-resource-dir
-- Building libc for x86_64 on linux with
LIBC_COMPILE_OPTIONS_DEFAULT:
-- LIBC_CONF_ENABLE_STRONG_STACK_PROTECTOR: ON
-- LIBC_CONF_KEEP_FRAME_POINTER: ON
-- LIBC_CONF_ERRNO_MODE: LIBC_ERRNO_MODE_DEFAULT
-- LIBC_ADD_NULL_CHECKS: ON
-- LIBC_CONF_FREXP_INF_NAN_EXPONENT:
-- LIBC_CONF_MATH_OPTIMIZATIONS: 0
-- LIBC_CONF_PRINTF_DISABLE_FIXED_POINT: OFF
-- LIBC_CONF_PRINTF_DISABLE_FLOAT: OFF
-- LIBC_CONF_PRINTF_DISABLE_INDEX_MODE: OFF
-- LIBC_CONF_PRINTF_DISABLE_STRERROR: OFF
-- LIBC_CONF_PRINTF_DISABLE_WRITE_INT: OFF
-- LIBC_CONF_PRINTF_FLOAT_TO_STR_NO_SPECIALIZE_LD: OFF
-- LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_DYADIC_FLOAT: OFF
-- LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE: OFF
-- LIBC_CONF_RAW_MUTEX_DEFAULT_SPIN_COUNT: 100
-- LIBC_CONF_RWLOCK_DEFAULT_SPIN_COUNT: 100
-- LIBC_CONF_TIMEOUT_ENSURE_MONOTONICITY: ON
-- LIBC_CONF_QSORT_IMPL: LIBC_QSORT_QUICK_SORT
-- LIBC_CONF_SCANF_DISABLE_FLOAT: OFF
-- LIBC_CONF_SCANF_DISABLE_INDEX_MODE: OFF
-- LIBC_CONF_SETJMP_AARCH64_RESTORE_PLATFORM_REGISTER: ON
-- LIBC_CONF_MEMSET_X86_USE_SOFTWARE_PREFETCHING: OFF
-- LIBC_CONF_STRING_UNSAFE_WIDE_READ: OFF
-- LIBC_CONF_TIME_64BIT: OFF
-- Writing config doc to /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/libc/docs/configure.rst
-- Set CPU features: AVX;AVX2;FMA;SSE2;SSE4_2
-- Compiler features available: cfloat128;cfloat16;fixed_point;float128;float16
-- Using getrandom for hashtable randomness
CMake Warning (dev) at /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/libc/test/src/__support/CMakeLists.txt:272 (add_custom_command):
The following keywords are not supported when using
add_custom_command(TARGET): DEPENDS.
Policy CMP0175 is not set: add_custom_command() rejects invalid arguments.
Run "cmake --help-policy CMP0175" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Using libunwind testing configuration: /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/libunwind/test/configs/llvm-libunwind-shared.cfg.in
-- Using libc++abi testing configuration: /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/libcxxabi/test/configs/llvm-libc++abi-shared.cfg.in
-- Parallel STL uses the omp backend
-- Using libc++ testing configuration: /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/libcxx/test/configs/llvm-libc++-shared.cfg.in
-- Found system-installed LLVM 20.1.0 with headers in /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/llvm/include;/home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/build/include
-- Clang-tidy tests are enabled.
-- ABI list file not generated for configuration x86_64-pc-linux-gnu.libcxxabi.v1.stable.exceptions.nonew, `check-cxx-abilist` will not be available.
CMake Deprecation Warning at /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/cmake/Modules/CMakePolicy.cmake:6 (cmake_policy):
The OLD behavior for policy CMP0116 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
/home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/compiler-rt/CMakeLists.txt:12 (include)
-- Compiler-RT supported architectures: x86_64;i386
-- Builtin supported architectures: i386;x86_64
-- Performing additional configure checks with target flags: -m32 -Werror=array-bounds;-Werror=uninitialized;-Werror=shadow;-Werror=empty-body;-Werror=sizeof-pointer-memaccess;-Werror=sizeof-array-argument;-Werror=suspicious-memaccess;-Werror=builtin-memcpy-chk-size;-Werror=array-bounds-pointer-arithmetic;-Werror=return-stack-address;-Werror=sizeof-array-decay;-Werror=format-insufficient-args;-Wformat;-std=c11;-fPIC;-fno-builtin;-fvisibility=hidden;-fomit-frame-pointer
-- For i386 builtins preferring i386/fp_mode.c to fp_mode.c
-- For i386 builtins preferring i386/ashldi3.S to ashldi3.c
-- For i386 builtins preferring i386/ashrdi3.S to ashrdi3.c
-- For i386 builtins preferring i386/divdi3.S to divdi3.c
-- For i386 builtins preferring i386/floatdidf.S to floatdidf.c
-- For i386 builtins preferring i386/floatdisf.S to floatdisf.c
-- For i386 builtins preferring i386/floatundidf.S to floatundidf.c
-- For i386 builtins preferring i386/floatundisf.S to floatundisf.c
-- For i386 builtins preferring i386/lshrdi3.S to lshrdi3.c
-- For i386 builtins preferring i386/moddi3.S to moddi3.c
-- For i386 builtins preferring i386/muldi3.S to muldi3.c
-- For i386 builtins preferring i386/udivdi3.S to udivdi3.c
-- For i386 builtins preferring i386/umoddi3.S to umoddi3.c
-- For i386 builtins preferring i386/floatdixf.S to floatdixf.c
-- For i386 builtins preferring i386/floatundixf.S to floatundixf.c
-- Performing additional configure checks with target flags: -m64 -Werror=array-bounds;-Werror=uninitialized;-Werror=shadow;-Werror=empty-body;-Werror=sizeof-pointer-memaccess;-Werror=sizeof-array-argument;-Werror=suspicious-memaccess;-Werror=builtin-memcpy-chk-size;-Werror=array-bounds-pointer-arithmetic;-Werror=return-stack-address;-Werror=sizeof-array-decay;-Werror=format-insufficient-args;-Wformat;-std=c11;-fPIC;-fno-builtin;-fvisibility=hidden;-fomit-frame-pointer
-- For x86_64 builtins preferring i386/fp_mode.c to fp_mode.c
-- For x86_64 builtins preferring x86_64/floatdidf.c to floatdidf.c
-- For x86_64 builtins preferring x86_64/floatdisf.c to floatdisf.c
-- For x86_64 builtins preferring x86_64/floatundidf.S to floatundidf.c
-- For x86_64 builtins preferring x86_64/floatundisf.S to floatundisf.c
-- For x86_64 builtins preferring x86_64/floatdixf.c to floatdixf.c
-- For x86_64 builtins preferring x86_64/floatundixf.S to floatundixf.c
CMake Error at /home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/compiler-rt/cmake/Modules/AddCompilerRT.cmake:277 (message):
Cannot find builtins library for the target architecture: arch: i386
target: i386-pc-linux-gnu libname: clang_rt.stats-i386
Call Stack (most recent call first):
/home/bero/abf/llvm/BUILD/llvm-20.1.0-build/llvm-project-llvmorg-20.1.0/compiler-rt/lib/stats/CMakeLists.txt:23 (add_compiler_rt_runtime)
-- Configuring incomplete, errors occurred!
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWlFzm76y_zTkRYPHBsdxHvKAbWg5tcEH8D_peWFkELZOBfJIInHOp7-zEnbs1Gmbnsn8773TmUwMYven3dVqtbuApaSbhpA763piXc-ucKu2XNytieCMNu3-as3L57tJS1lJmw2az_9aIKffG_T66ImqrdX3rFG_--t7RY2_EWRdT3q9nnU9Q_YMGHI_8iZzP18m8T_8aZZa7sxybhh7rC13suZMWe6kYLjZHH5txTmTNtkrgS13suOMPVvupGZUWO6k6kgZK9fmB_7TdcEKy7l5Paef5JmXfPKzPFlFWbjw81mYWK43ieO55c7i6BVDR3UQkq7b5ok2MAXfkabegTxSsW7K_f54gde0uwY1eL2jjAhbgHK8qhjHpZFuGi-W4dxP8iTLV6mfT1bhPAujNJ-Hk8RLvr6S7ZS8EzGNg-zeS_w8jLKBM76kjFE5zbNY488sd4YZO6r6sPSTcOFHmTe_RGo5N14ytdzJNP3y1XIni9H4m-VO0mWY_GW5kwdFGolPbK35Dpa7KE4cz_NTTbqZ3tTUIB5M81PCaZJdmtY81Jezr_NwcolmHkZf3iaZzr3ok6Exl5eIFvMw6ebSl9OLVNp6-Wffm_lJeljKMEozbz6_SApGSzvcNPOycHpCFgTI_oQi2vwbo17PcgLYTshyJ6iBsVf7ssKUSdQQLJDaEkSaEj1tSYOUeIZdrThaww7XD6k7HqET_0WibRStibRc7xXskoiKixogCt5UdNMKgqQiO1RxgSzn5sjq3Fh9L-IKSYJFsQUOIGmbVpISPWJB8ZoRiTb0kTSIN1qSgtc1bkrEaEN6Vt-DPQSctKGKYoYKXGwJqigjyHKCLa-J5QQQuSwnwOuqM4rlBMbbzK1topetFT6M7QT_NymUDTdcbDoaQOuoOgJpOcGLToGqdycDtpbHTgi7p2o7I-uwqXhPh0Sr79k2OjHXmnMllcC7HdwdEMwqgKrTBQTSGdkJUmBFeYPusWiAFqsPU9aI6gQLXrZMK6jFWHJGi-dOEdcbIcsZ65t8p59Yzq1xDYSyLUHxfIbWZIsfKRd6kQ0Vmi6W_cFghJ4oY2hNkCA1fyQlqgSvEUZVq8B7HomQlDcajVdICwAGOcLrmW2NSUHG8Y3l3KIaNy1miOx3DNNGIrXFSvvQqTQSEDFjGuuAgLAgqOwMTUoEDqe58UFwueUtK0FkSRTsFcDkDXtGbVMSodHkjhS0ogUQC2UrImpUUFG0tVS4KYjsIbTsfOgEcMcFzKm4ljXy7zXY0XogS8MVEoQ9w6aQRCntAwfRjDDaYSC8pwoX32B5ai6BqyCNQgU8qaiQ6mShtF3nVCrZU3tlud5gDHy0KVhbEiDUJjd-ezz94cRHdrUMp-aBzga2MJcSdMfAO9B-PMpHQ3tX2Dp_sDdNe0Jckgq3TCGFxYb8nO3PNvizDT5wG3yUB-kksHObs002fHuTpZ1S83AyzSNv4adLb-qjBtdE7nBBQEnLuclzmC2HGXKnnw_yfm4OVwOBXnIjP41XyVSnu4b3Y09IRtejIewenZ07gdNHrQSFbHsnaKNsQSRvRUHskopXcQW00XvERAFYYx0FDiWGMUqnWh4vszCO0nzmB95qDokf6iKMoYqCY6KcJXH0CZKn6ReoPjJ_msWQ_KM4es3yxfeXeZB4Cz9fxmGU-W_Q-UkSxfkinkGia8Zfho4yvTB5s1kerebzfPrZn35JL4MGif-wzMMoyCMvgvQ8jvzoomYLL_usLbAI_-VpOwBV_zXZMgmjLMhnYaoNEYQP_szopQUIgp8xzGPvF0nDaOY_HA3yc_o0S_wk6Zbhp9T3SZjpQufH5FpeKGHSLMmjOE-X_jT05uG__FzXGb_KCgXZ7Ks3C6e_YoLvWBf-Jy-fg8_N4hWIn4ESb4Ak3n2-WGX-w8Fr8nQZRvk0XhltB_3vljW5n8fTL79OD_VYvILCMV0lfr6IoziLo3AaZl8vO-I_0zjJ8nCxnB-92wz9cxVOv-Rw-ZolnXrRrznOOeVP_Sb1s38slrnnJdPPoyEEtCxO_Hw597IgThZ54n8K0zf36cJfpH6WP4xHemWONfMy8QM_m34Oo09vzZslYfQpX0WpF_j5fTjz88T33vIi3VIYDSfhudb3gqqXugiVvPjIINwdOCUvIF051mI9OO1ejoblClUEQ34BtRzy_nqw3In314NjuZNg4UGFn_qO-RnmjuGcdpXgkRXhR0wZlGsAUlSMY6W7EJPuemS5k4ruSZnvOG2U7tgcaQ4kGnulD4gNUQI3Ja_1EbDFcqsAHZnBhkh5zAQP2Z_ljEvyCBnPB-aBnVEVgZQhkAJu8ly2O0hXLh3vzo0DkuGyzItWKl7nXQX7KjWsOGP8CfT4Rp6fuChN9gUpTodOuvpcn6Ca7xLo2LRuDDqa-Us_mqXHLHF5km_eXCMqzQQEJL0MB_YUxCRntHnEjJYIi01bk0bJngZN2gZZjmP6fLa9JWxn784mshznNN0ticKUQd63ksRU9ac5M2AeynzFTWa5JQdmGAWLCCIhl6USPRkHAGGyk3vQTk9q1hKV5JEwviNC9vS89n3D7ZI86jkOgFT1jtmX8cRjtw_Bop-2NXTxoc_jj3O2rtF49DgztzywHilsucWClL2i2vRo80r-wnImljPBa_q36ND1QX-gw4uAl_RYYoEZIwyl2Ry1kkjtDrzeoTUuvpGmvKzu36XrLyh6ScuAt-DZz1KR2qaNVKBz-V1zHW0JLomAzfhxehiAQ03iTj66TjjMZA4X0-2n5bNeQRMHSQPhX7fBbBt5kxAxKpXp80EI25CGCF2kwpY_W_FLbYTe0S17j4Oe1GdLj-wLsgMO2Wt4Q54sZ4qsUb_YkuKbXez3Nl5TmNUa9U2lDhOvycvZ96dJ96c78X-0O3H6bupSk8J5u0lxSAbtJDtJVXRHX5HimFmaXWi5E-qORy-1vqLNj7g0sTvpmF93zHFZUthjmJ28a9D7VZpg2bUUK4Y3Gs6uXQfZ90QILix3hoXAz_YaIq-03MnLg7bp3ifQ_5Dy7Inc4pI_nQ2ReqcApXw-p6T_Ibyydb5LhF2TGhcFJK4XiIwgh7zqnKKVO1pQ3so3INbGivC02D3bxfabDahnNKeKHiXCgqptTRQtzmgFUa1obAkuaeOyFD-UuSQFPtcbFgcrOMLaqoKd2ijQzGCYh3ApVWm5s2IwgBvdPobfhtudPvr2kUoKQVc9W-5sS8uSmHFeU2VXAtfkoM3hEBXmXVUHItFOkIoIofNB8CUnqHZ5zUvS08XX8ebX-bHcspK6vRT4Dzfv4xen_OKd_CV9PLJ31-_g1rVWScvKALzcvh9DnmPI92O0zStJuoHfwZGvcd4nDztdFfb-Val5eWTvrt_D3b64VHf9Du721CXa9_tEeyp8-37pOwfYn_vD_vfWcf96HV9w_rvIPxr-ifz_vyN_96bgv4j9P0DoUpDTCFq8GUHfgSPPceTv4fxCJH0X1k-i6Tv025_rt_99md6KDKbk8sEJP7TIOkuRvy-5vLI8pMJJdiy6nJsbndcTKfGGnL5txw1UCBVtyhf9GV0LLJ519QWFRRfFTtNi3akTxfaYHQOYoTsMnZW6gNng2jRmobTOhYKKV0m7Y__fWIEwuracQIt5savqHpuqHVsuVN59MvNdfWLOB_OVENAzoggU9zpuScSLohWClJYzOP2W6aq8c8tb9xZfkbvBzXDgDofjm-ur7d24P1i7xfB20L9d347HTjEmBcbjtTtek-vhyL2id07fue67_ZtB_3roXveuq1s8dPrX48Go3y-vb61hn9SYsh5YocfF5opK2ZK7gdt3bgZXDK8Jk_rrS8dpyBPSTy3Hsa5nV-JO23HdbqQ17DNtlCOMoorpzzY7s17PzAtVVGHK4Ii8-IUXbr7_wOvYN7lqBbvbKrXT33o5geUEG6q27bpX8Ppl4U8X13ICLTEsXafS453zPwEAAP__e5qxcg">