Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Bootstrapping clang fails because of emmintrin.h #23934

Open Quuxplusone opened 9 years ago

Quuxplusone commented 9 years ago
Bugzilla Link PR23935
Status NEW
Importance P normal
Reported by Bernhard Rosenkraenzer (bero@linaro.org)
Reported on 2015-06-24 12:34:02 -0700
Last modified on 2015-06-24 15:29:18 -0700
Version trunk
Hardware PC Linux
CC llvm-bugs@lists.llvm.org, rengolin@gmail.com, richard-llvm@metafoo.co.uk
Fixed by commit(s)
Attachments llvm-3.7-bootstrap.patch (326 bytes, text/plain)
Blocks
Blocked by
See also
Created attachment 14512
fix

When using cmake to bootstrap clang (crosscompiling the entire
llvm+clang+libc++ combo), the build fails because various files in (at least)
tools/clang/lib/Base and tools/clang/lib/Lex try to #include <emmintrin.h>,
which is part of clang and therefore doesn't exist in the target sysroot yet.

The patch I'm attaching fixes the problem for me by making clang look for
headers in its source directory.
Quuxplusone commented 9 years ago

Attached llvm-3.7-bootstrap.patch (326 bytes, text/plain): fix

Quuxplusone commented 9 years ago

This patch isn't correct; the host compiler is supposed to provide emmintrin.h. Which compiler are you using that defines SSE2 but doesn't provide the corresponding header? Perhaps we need a configure-time check for it.