[llvm-dev] [RFC] Support embedding bitcodes in LLD with LTO

Josef Eisl via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 31 04:18:38 PST 2019

Thanks for your response!

On 30/01/2019 20:18, Rui Ueyama wrote:
> Hi Josef,
> Let me clarify my understanding. Do you want to keep original bitcode 
> files in the output executable when doing LTO, so that the resulting 
> executable contains both compiled bitcode (which is in native machine 
> instructions) and original bitcode files?

Exactly! Kind of analogous to what `clang -fembed-bitcode -c` does, but 
for executables.

> Did you try embedding bitcode files into existing ELF files using 
> objcopy or linker option `--format=binary`?

Yes, that is the alternative. However, having support in the linker for 
that would require less tweaking of exiting build systems. Adding an 
option to CFLAGS/LDFLAGS would then be sufficient.

> On Mon, Jan 28, 2019 at 6:41 AM Josef Eisl via llvm-dev 
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>     Hi everybody!
>     I'm Josef and I'm working at Oracle Labs on Sulong [1,2], the LLVM IR
>     execution engine in GraalVM [3]. In addition to executing bare bitcode
>     files, Sulong also accepts ELF files with embedded bitcode sections.
>     Therefore, it would be great if LLD in (Full)LTO mode would support
>     embedding bitcode sections to the resulting object file. Is that
>     something that would be considered useful and worth contributing?
>     Thanks,
>     Josef

More information about the llvm-dev mailing list