Is it possible to set up Clang for cross compiling for the ARM processor? The host will likely be on x86 ( AMD64 - Probably Ubuntu 12.04 ) and the target would be ARM ( Raspberry Pi as well as Pandaboard - will do separate compilations for each ), I may at some point also wish to cross compile for the PowerPC architecture? The program source is in C.
Asked
Active
Viewed 2.3k times
27
-
Maybe this helps [Is cross-compiling for ARM on x86 with llvm/Clang possible?](http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-June/050820.html) – Olaf Dietsche Feb 04 '13 at 23:39
-
http://github.com/dwelch67/raspberrypi I have examples that use clang in this repo and others. 3.2 allows for compiling straight to object rather than taking a step through assembly. – old_timer Feb 05 '13 at 01:31
-
http://stackoverflow.com/questions/5878292/iphone-why-can-the-compiler-not-find-some-includes-when-building-for-arm-archi/17537169#17537169 – MoDJ Jul 08 '13 at 22:41
2 Answers
31
To cross-compile for Raspberry Pi running soft-float Linux distros add flags -ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=softfp
To cross-compile for Raspberry Pi running hard-float Linux distros use the flags -ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard
To cross-compile for Pandaboard use flags -ccc-host-triple arm-eabiv7 -mthumb -mfpu=neon-fp16 -mcpu=cortex-a9 -mtune=cortex-a9 -mfloat-abi=hard
(assuming that your Pandaboard runs Ubuntu)
Note: more recent clang
version use -target
option instead of -ccc-host-triple

Marat Dukhan
- 11,993
- 4
- 27
- 41
-
-
-
Using clang-8: it is important to note that the documentation is incorrect: `-target
` is not a recognised argument (though specified in the documentation), but `--target= – Jetski S-type Jun 06 '19 at 02:15` is.
1
See EmbToolkit project. It gives ability to generate clang/llvm or gcc based cross compiler toolchain.

Community
- 1
- 1

user2126966
- 11
- 1