[llvm-dev] [RFC] Strategies for Bootstrapping Compiler-RT builtins

Chris Bieneman via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 2 10:38:13 PST 2015


> On Nov 2, 2015, at 10:10 AM, Anton Korobeynikov <anton at korobeynikov.info> wrote:
> 
>> Today building this toolchain with CMake is impossible because you cannot configure the cross-compiled builtins. The failure is a result of CMake’s try_compile function always testing a full compile then link operation. When bootstrapping a cross-compiler this will always fail because linking even the simplest applications fails when you don’t have libclang_rt prebuilt.
> The situation is much worse, because it requires not only compiler-rt,
> but also all the runtime libraries (libc, libc++, libc++abi) to be
> available.
> 
>> This is the most complicated approach, but I also think it is the best approach.
> This won't work due to dependencies on libc / libc++ / libc++abi.

That is not entirely correct. Only some of the builtins have dependencies on libc, and none of them should have dependencies on libc++ or libc++abi. I believe we can construct a working partial builtin library without libc, to make bootstrapping work.

-Chris

> 
> I think either (1) should be implemented. Or (4) - make the libraries
> just to be "shimmed" on fly - proving empty libs for the configure
> time just to pacify cmake.
> 
> -- 
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-dev mailing list