Talk:LLVM Cross-Compiler

From OSDev Wiki
Jump to navigation Jump to search

Linux is a freestanding environment?

I noticed the need for using i686-pc-linux-gnu as the target, which essentially means that you want to build for a linux host, not a freestanding host. A cross-compiler is meant to counter all host dependencies. So can you either explain why i*86-(pc-)elf does not work, or at least guarantee that the linux and gnu parts do not drag in dependencies to stuff we don't have, or worse, stuff we don't want to have. Can we expect it to be the same in the future? - Combuster 12:06, 21 March 2011 (UTC)

Breaks on Cygwin.

   Scanning dependencies of target intrinsics_gen
   [  7%] Building Intrinsics.gen...
   make[2]: *** [include/llvm/Intrinsics.gen.tmp] Fehler 127
   make[1]: *** [include/llvm/CMakeFiles/intrinsics_gen.dir/all] Fehler 2
   make: *** [all] Fehler 2

Now there's a helpful error message if I ever saw one. -- Solar 12:19, 21 March 2011 (UTC)

Dependency on binutils

This is not a pure toolchain. Clang depends on binutils for a few things, like as for assembling (when not using -integrated-as or -emit-llvm) and ld / ld.gold for linking. The Clang website talks about a Universal Driver Project, but it's not done yet. Be careful when using Clang for cross-compiling without adding your target to lib/Driver/ToolChains.cpp, I guess. --Walling 23:22, 7 April 2011 (UTC)

Make error 127

"error 127 indicates that make can't find a program that it needs to run a command"

try "make VERBOSE=1" to see what is that command you miss.

Broken link to atta-metta.com

This link: http://atta-metta.net/blog/2013/05/23/compiling-llvm-trunk/ (found here: http://wiki.osdev.org/LLVM_Cross-Compiler#Building_from_sources_.28Possibly_Unstable.29) appears to be broken (404's for me). We may want to remove it...