<div dir="ltr"><div dir="ltr"><br><div>Hi Tim,</div><div><br></div><div>Now I understand why it can't be a self-contained IR. However, just to emit the bitcode of individual files, I tried compiling with</div><div><br></div><div>make CC=clang HOSTCC=clang CFLAGS=" -g -flto -std=gnu99 " LDFLAGS=" -flto -fuse-ld=gold -Wl,-plugin-opt=save-temps" menuconfig</div><div>make CC=clang HOSTCC=clang CFLAGS=" -g -flto -std=gnu99 " LDFLAGS=" -flto -fuse-ld=gold -Wl,-plugin-opt=save-temps" -j8</div><div><br></div><div>The compilation with clang is still going on. But, it doesn't look like it generates the IR at all. Whatever *.o files the build is producing are native ELF files.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 10 Oct 2019 at 02:54, Tim Northover <<a href="mailto:t.p.northover@gmail.com">t.p.northover@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Jason,<br>
<br>
On Thu, 10 Oct 2019 at 10:39, Jason Thomas via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> Frequently, the resulting bitcode was not functional due to different parts being missing. Did that situation change at all? Can we generate a function, monolithic, self-contained bitcode using something like libLTO? Any help would be appreciated.<br>
<br>
You can get the linker to emit the last bitcode that exists (e.g. via<br>
--plugin-opt save-temps or emit-llvm I think), but it still won't be<br>
self contained for something like a kernel. There's no representation<br>
in IR for objects that come from .s files or the linker script for a<br>
start.<br>
<br>
Cheers.<br>
<br>
Tim.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><br></div><div>JT<br></div></div></div></div></div></div>