Daniel Dilts
2015-Mar-29 20:11 UTC
[LLVMdev] How to Cross Compile libcompiler_rt Static Library?
I need to correct myself. It is possible to cross compile it on Windows, but not using the provided build systems. On Sun, Mar 29, 2015 at 12:52 PM, Daniel Dilts <diltsman at gmail.com> wrote:> I asked about this same question in the past (month or three ago). It is > not possible to cross compile compiler-rt on Windows. If you want to cross > compile you should use the make build system, not the CMake build system. > > On Sun, Mar 29, 2015 at 9:26 AM, Chao Yan <yanchao2012 at gmail.com> wrote: > >> >> 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 >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150329/3158f465/attachment.html>
Chao Yan
2015-Mar-29 20:28 UTC
[LLVMdev] How to Cross Compile libcompiler_rt Static Library?
2015-03-29 15:11 GMT-05:00 Daniel Dilts <diltsman at gmail.com>:> I need to correct myself. It is possible to cross compile it on Windows, > but not using the provided build systems.Hi Daniel, Thanks for helping. I'm using ubuntu 14.04 x86_64 system. I've tried cmake for couple of days until I give up. You are right, using make build system seems more feasible. I've combined the compiler_rt/make/platform/ clang_linux.mk and the compiler_rt/make/platform/clang_macho_embedded.mk. So far it could cross-compile all of the files in "compiler-rt/lib/builtins/" (*.c files). However, the libcompiler_rt.a still missing functions such as "__aeabi_memset", "__aeabi_memcpy". These functions were in "compiler_rt/lib/biltins/arm/" (*.S) files. They are not included in any of the *.mk files. Do you have any idea on how to add these assembly sources to the build list? BTW, did you build the complete libcompiler_rt.a at the end? Thanks, Chao -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150329/fc077cc1/attachment.html>
Daniel Dilts
2015-Mar-29 21:11 UTC
[LLVMdev] How to Cross Compile libcompiler_rt Static Library?
I was attempting to cross compile on Windows. I ended up having to find the list in the CMake build system (not very hard) and manually creating a makefile to compile them. Took maybe 2 hours total. On Sun, Mar 29, 2015 at 1:28 PM, Chao Yan <yanchao2012 at gmail.com> wrote:> > 2015-03-29 15:11 GMT-05:00 Daniel Dilts <diltsman at gmail.com>: > >> I need to correct myself. It is possible to cross compile it on Windows, >> but not using the provided build systems. > > > Hi Daniel, > > Thanks for helping. I'm using ubuntu 14.04 x86_64 system. I've tried cmake > for couple of days until I give up. You are right, using make build system > seems more feasible. I've combined the compiler_rt/make/platform/ > clang_linux.mk and the compiler_rt/make/platform/clang_macho_embedded.mk. > So far it could cross-compile all of the files in > "compiler-rt/lib/builtins/" (*.c files). However, the libcompiler_rt.a > still missing functions such as "__aeabi_memset", "__aeabi_memcpy". These > functions were in "compiler_rt/lib/biltins/arm/" (*.S) files. They are not > included in any of the *.mk files. Do you have any idea on how to add these > assembly sources to the build list? BTW, did you build the complete > libcompiler_rt.a at the end? > > Thanks, > Chao >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150329/a8e0227f/attachment.html>
Maybe Matching Threads
- Error cross building LLVM for MinGW
- [LLVMdev] libcompiler_rt.a, No such file or directory
- 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