[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