[llvm-dev] Cross-compiling only compiler-rt libraries
Dominik Montada via llvm-dev
llvm-dev at lists.llvm.org
Thu Oct 1 23:49:28 PDT 2020
Hi Mohannad,
That is possible using a two-stage build [0]. Basically in a two-stage
build, CMake builds clang once and then uses the just-built compiler to
build the target-specific libraries. You can also set it up such that it
uses the just-built compiler to build clang again in order to benefit
from the latest optimizations. In llvm-project/clang/cmake/caches you
can find a couple of CMake cache files that set this up. You should
check out Fuchsia.cmake, Fuchsia-stage2.cmake and BaremetalARM.cmake. I
found these to be the easiest ones to follow when setting up such a build.
If you only want to build clang once and then build compiler-rt, you
shouldn't need to look at Fuchsia.cmake. AFAIU it is just to build
clang, which is then used by Fuchsia-stage2.cmake to build clang and the
libraries.
Hope that helps!
Cheers,
Dominik
[0] LLVM documentation on two-stage builds:
https://llvm.org/docs/AdvancedBuilds.html
Am 02.10.20 um 01:08 schrieb Mohannad Ismail via llvm-dev:
> Hello Tobias,
>
> Thank you for your reply. That is very helpful and I currently was
> able to get that done. However, I was looking for a much cleaner
> solution in which I can compile clang to be x86 and compiler-rt to be
> aarch64 both at the same time in one compilation. Do you have any idea
> if that is possible?
>
> Best regards,
> Mohannad Ismail
>
> On Wed, Sep 30, 2020 at 12:16 PM Tobias Hieta <tobias at plexapp.com
> <mailto:tobias at plexapp.com>> wrote:
>
> Hey,
>
> You can do that by running cmake directly against the compiler-rt
> directory instead of the llvm dir.
>
> Hope this helps!
>
> On Wed, Sep 30, 2020, 17:54 Mohannad Ismail via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> Greetings everyone,
>
> I am currently cross-compiling some of my programs to aarch64
> with Clang. I added my own sanitizer and library to the
> compiler-rt and want to use it. However, since my machine is
> x86, the libraries are compiled for x86 use. I was able to
> cross-compile to get the aarch64 libraries. However, this also
> cross-compiles clang and now I can't use it on my x86 machine.
> Is there a way to cross-compile only compiler-rt and not
> Clang? I can't seem to find a way to do this.
>
> In short, I want to have aarch64 compiler-rt libraries and an
> x86 clang, since I will be compiling my programs on an x86
> machine. Hope I was able to explain this well enough. Please
> let me know if I wasn't clear or if you have any questions.
> Thank you very much!
>
> Best regards,
> Mohannad Ismail
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
--
----------------------------------------------------------------------
Dominik Montada Email: dominik.montada at hightec-rt.com
HighTec EDV-Systeme GmbH Phone: +49 681 92613 19
Europaallee 19 Fax: +49-681-92613-26
D-66113 Saarbrücken WWW: http://www.hightec-rt.com
Managing Director: Vera Strothmann
Register Court: Saarbrücken, HRB 10445, VAT ID: DE 138344222
This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient please notify the sender immediately
and destroy this e-mail. Any unauthorised copying, disclosure or
distribution of the material in this e-mail is strictly forbidden.
---
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201002/6aed902c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 6822 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201002/6aed902c/attachment.bin>
More information about the llvm-dev
mailing list