> Virtually all. As far as I could test, all major architectures > (v4/v5/v6 + v7-A-R-M), although I'm still fighting with some Thumb > code generation.Not a big issue for me: targets are ARMv4 (ARM7) and ARMv5 (ARM9) "classic" CPUs - in ARM terminology. No cortex.> I haven't tested dragonegg, but clang and llvm-gcc do the job. > llvm-gcc seems to be more in sync with the ARM backend (for obvious > reasons), but it's a nightmare to compile it to the ARM backend. Clang > supports it out of the box.I've been able to build clang + llvm from the SVN repository. However my targets (arm-eabi) are relying on the "newlib" standard library. I'm not sure how to build the llvm-gcc backend so that it uses this library. I'm used to build GCC (4.x) toolchains with newlib, but how can I do the same with llvm-gcc ? It seems that clang attemps to find the header files from the host system dir, not from the target system dir, so I guess that I missed an important option ... somewhere. I've replaced the "arm-eabi-gcc" calls from my Makefiles with "clang -ccc-host-triple arm-eabi -ccc-gcc-name arm-eabi-gcc" but clang probably needs some other options (?) Thanks, Emmanuel.
Hello, Emmanuel> I'm used to build GCC (4.x) toolchains with newlib, but how can I do > the same with llvm-gcc ?Pretty much same way as with gcc. E.g. via --with-newlib, etc.> It seems that clang attemps to find the header files from the host > system dir, not from the target system dir, so I guess that I missed > an important option ... somewhere.clang is not pretty well suitable from cross-compilation. You can find several issues on the way. -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
>> I'm used to build GCC (4.x) toolchains with newlib, but how can I do >> the same with llvm-gcc ? > Pretty much same way as with gcc. E.g. via --with-newlib, etc.I successfully built llvm+clang, but it seems that the newlib library files have neither been compiled nor installed. With GCC (at the time 4.5.2), the build steps are straightforward: newlib/ and libgloss/ directories should be copied/linked to the top level directory of the GCC source directory, and the --with-newlib option switch enabled as a 'configure' parameter. The library gets built along with GCC, and installed into the GCC destination folders (libc.a, libm.a, ... as well as the header files) Is there some specific commands/option switches to build the newlib library files with llvm+clang ? Thanks, Emmanuel
Reasonably Related Threads
- [LLVMdev] Cross-compiling the ARM toolchain
- [LLVMdev] Cross-compiling the ARM toolchain
- [LLVMdev] Cross-compiling the ARM toolchain
- [LLVMdev] Customize Standard C Library Using LLVM (to support llvm backend optimization)
- [LLVMdev] Cross-compiling the ARM toolchain