<div dir="ltr">Take a look at the "Toolchain Options" and "Target-Specific Libraries" sections here:<div><br></div><div>  <a href="http://clang.llvm.org/docs/CrossCompilation.html">http://clang.llvm.org/docs/CrossCompilation.html</a><br></div><div><br></div><div>Which will show you how to tell the compiler where to find stuff for your target system.</div><div><br></div><div>hth...</div><div>don</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 22, 2015 at 11:38 AM, Andreas Messer via cfe-users <span dir="ltr"><<a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello everybody,<br>
<br>
I'm currently planning to use clang to compile my ARM projects. One bug I<br>
found in clang 3.5 - it tried to link the elf using the host's instead of the<br>
target's linker - is fixed in trunk source. Unfortunately I found an issue with<br>
the include files which - in my oppinion - is wrong. When cross compiling for<br>
the arm target clang adds the hosts include folders to the include search<br>
paths by default:<br>
<br>
/tmp/test_clang $ clang -v --target=arm-none-eabi -c main.c -o main.o<br>
clang version 3.8.0 (<a href="http://llvm.org/git/clang.git" rel="noreferrer" target="_blank">http://llvm.org/git/clang.git</a><br>
21b3f468fc871980e422404f35fcac7de83cfa9c) (llvm/trunk 248266)<br>
Target: arm-none--eabi<br>
Thread model: posix<br>
InstalledDir: /usr/local/bin<br>
 "/usr/local/stow/llvm_r248266-clang_r248254/bin/clang-3.8" -cc1 -triple<br>
armv4t-none--eabi -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -<br>
main-file-name main.c -mrelocation-model static -mthread-model posix -mdisable-<br>
fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu arm7tdmi<br>
-target-feature +soft-float-abi -target-feature +strict-align -target-abi aapcs<br>
-mfloat-abi soft -v -dwarf-column-info -coverage-file /tmp/test_clang/main.o -<br>
resource-dir /usr/local/stow/llvm_r248266-clang_r248254/bin/../lib/clang/3.8.0<br>
-fdebug-compilation-dir /tmp/test_clang -ferror-limit 19 -fmessage-length 126<br>
-fallow-half-arguments-and-returns -fno-signed-char -fobjc-runtime=gcc -<br>
fdiagnostics-show-option -fcolor-diagnostics -o main.o -x c main.c<br>
clang -cc1 version 3.8.0 based upon LLVM 3.8.0svn default target x86_64-<br>
unknown-linux-gnu<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
 /usr/local/include<br>
 /usr/local/stow/llvm_r248266-clang_r248254/bin/../lib/clang/3.8.0/include<br>
 /usr/include<br>
End of search list.<br>
main.c:5:11: warning: self-comparison always evaluates to true [-<br>
Wtautological-compare]<br>
  while(i == i)<br>
          ^<br>
1 warning generated.<br>
/tmp/test_clang $<br>
<br>
This is not what I would expect, since this is wrong for cross compilation in<br>
almost any case. This can be somehow bypassed using -nostdinc option but then<br>
I have to manually add the .../lib/clang/3.8.0/include. What would be the best<br>
way to solve this?<br>
<br>
Another thing I noticed occurs when using the -sysroot option. clang then<br>
tries to use $sysroot/usr/include. In my oppinion it should use<br>
$sysroot/include instead.<br>
<br>
Kind regards,<br>
Andreas<br>
<br>
<br>
<br>_______________________________________________<br>
cfe-users mailing list<br>
<a href="mailto:cfe-users@lists.llvm.org">cfe-users@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users</a><br>
<br></blockquote></div><br></div>