[llvm-dev] How to avoid building builtin files with '-m32' during building LLVM?

刘可 via llvm-dev
Wed, 01 Dec 2021 06:29:23 -0000

Hi, I got an error when I specified gcc8.3 toolchain to build LLVM13. Here
is my host environment:
Debian9
gcc6.3
Manully built toolchain: gcc8.3

==============================================================================================Here
is my command:
$ CXX=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/g++
CC=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/gcc cmake -G Ninja
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb;openmp"
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind"
-DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" -DCMAKE_BUILD_TYPE=Release
 -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON
-DCMAKE_CXX_LINK_FLAGS="-Wl,-rpath
/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/lib64
-L/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/lib64 -Wl,-rpath
/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64
-L/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64
-Wl,-dynamic-linker
/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64/
ld-linux-x86-64.so.2
-L/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64/
ld-linux-x86-64.so.2" ../llvm
$ ninja

[99/302] Building C object
CMakeFiles/clang_rt.builtins-i386.dir/floatsisf.c.o
FAILED: CMakeFiles/clang_rt.builtins-i386.dir/floatsisf.c.o
/home/liuke.gehry/llvm/llvm-project/build_with_gcc/./bin/clang
--target=x86_64-unknown-linux-gnu -DVISIBILITY_HIDDEN  -O3 -DNDEBUG    -m32
-std=c11 -fPIC -fno-builtin -fvisibility=hidden -MD -MT
CMakeFiles/clang_rt.builtins-i386.dir/floatsisf.c.o -MF
CMakeFiles/clang_rt.builtins-i386.dir/floatsisf.c.o.d -o
CMakeFiles/clang_rt.builtins-i386.dir/floatsisf.c.o   -c
/home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/floatsisf.c
In file included from
/home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/floatsisf.c:16:
In file included from
/home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/fp_lib.h:23:
In file included from
/home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/int_lib.h:93:
In file included from
/data00/home/liuke.gehry/llvm/llvm-project/build_with_gcc/lib/clang/13.0.1/include/limits.h:21:
In file included from /usr/include/limits.h:25:
/usr/include/features.h:364:12: fatal error: 'sys/cdefs.h' file not
found
#  include <sys/cdefs.h>
           ^~~~~~~~~~~~~
1 error generated.
==============================================================================================
I know I can solve it through 'apt install'. But I do not need 32-bits
binary . How can I disable '-m32' when building builtins? Or is it a
necessary process?
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20211130/d2abb649/attachment.html>