Chao Yan
2015-Mar-29 08:14 UTC
[LLVMdev] How to Cross Compile libcompiler_rt Static Library?
Hi, I've cross-compiled musl-libc to arm binaries with clang. It needs functions from static runtime library "libcompiler_rt.a". I tried to build compile_rt outside the llvm source tree. Using command like "make clang_linux", I can easily build "libcompiler_rt.a" for my host machine, which is X86_64. But how can I *cross-compile* the compiler_rt runtime libraries? According to the following websites: https://www.bountysource.com/issues/5139020-linux-arm-platform-support-missing-for-compiler-rt-cross-compiler https://www.bountysource.com/issues/5139002-addresssanitizer-tests-fail-with-dllvm_targets_to_build-arm It seems that the makefile does not support non-X86 targets. Someone tried cmake failed as well. Any suggestions? Thanks, Chao -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150329/40139fe9/attachment.html>
Ed Schouten
2015-Mar-29 08:33 UTC
[LLVMdev] How to Cross Compile libcompiler_rt Static Library?
Hi there, 2015-03-29 10:14 GMT+02:00 Chao Yan <yanchao2012 at gmail.com>:> I've cross-compiled musl-libc to arm binaries with clang. It needs functions > from static runtime library "libcompiler_rt.a". I tried to build compile_rt > outside the llvm source tree. Using command like "make clang_linux", I can > easily build "libcompiler_rt.a" for my host machine, which is X86_64. But > how can I *cross-compile* the compiler_rt runtime libraries?I am cross-compiling compiler-rt for my specific use-case. That said, I'm cross-compiling from x86-64 to x86-64, but for a different ABI. This is what I use: https://github.com/NuxiNL/cloudlibc/wiki/Building-runtime-libraries#user-content-compiler-rt As you can see, I'm using CMake. Works pretty well so far. Hopefully something like this will work for you as well? -- Ed Schouten <ed at 80386.nl>
Chao Yan
2015-Mar-29 16:26 UTC
[LLVMdev] How to Cross Compile libcompiler_rt Static Library?
2015-03-29 3:33 GMT-05:00 Ed Schouten <ed at 80386.nl>:> I am cross-compiling compiler-rt for my specific use-case. That said, > I'm cross-compiling from x86-64 to x86-64, but for a different ABI. > This is what I use: > > > https://github.com/NuxiNL/cloudlibc/wiki/Building-runtime-libraries#user-content-compiler-rt > > -DCMAKE_CROSSCOMPILING=True > > As you can see, I'm using CMake. Works pretty well so far. Hopefully > something like this will work for you as well? >I tried "cmake ../compiler-rt -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_NATIVE_ARCH=ARM -DLLVM_TARGETS_TO_BUILD=ARM -DTARGET_TRIPLE=armv-none-linux-gnueabi -DCMAKE_CROSSCOMPILING=True". It will still build X86_64 version. I also tried "cmake ../compiler-rt -DCMAKE_C_COMPILER=/usr/local/arm-2009q3/bin/arm-none-linux-gnueabi-gcc -DCMAKE_CXX_COMPILER=/usr/local/arm-2009q3/bin/arm-none-linux-gnueabi-g++ -DLLVM_NATIVE_ARCH=ARM -DLLVM_TARGETS_TO_BUILD=ARM -DTARGET_TRIPLE=armv-none-linux-gnueabi -DCMAKE_CROSSCOMPILING=True ". the configure process generate errors: CMake Error at cmake/config-ix.cmake:111 (message): Cannot compile for x86_64: It seems that the cmake only works for X86 target? Thanks, Chao -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150329/8ff70543/attachment.html>
Reasonably Related Threads
- [LLVMdev] How to Cross Compile libcompiler_rt Static Library?
- [LLVMdev] How to Cross Compile libcompiler_rt Static Library?
- libcompiler_rt.so and libcompiler_rt.a are not being built
- libcompiler_rt.so and libcompiler_rt.a are not being built
- libcompiler_rt.so and libcompiler_rt.a are not being built