[llvm-dev] Embedding LLD version to executables

Rui Ueyama via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 18 18:44:48 PDT 2016


I'd like to make LLD embed version information so that we can determine if
an executable was created by LLD and if that's the case which version of
LLD.

ld.bfd doesn't seem to embed any information, so we cannot tell whether an
executable was linked by ld.bfd or not easily.

ld.gold embeds a string "GNU gold <version>" as ".note.gnu.gold-version"
section contents.

I'm wondering what we should do for LLD. The gold's way seems almost right,
but I think we don't want to use the same section name because it contains
"gold" as part of the section name. However, at the same time, I don't
believe we want to create ".note.gnu.lld-version", because if we do, all
programs that determine linker version need to look at
".note.gnu.<linker-name>-version" for all known linkers. That's absurd.
(Also, our product is not GNU, so ".gnu" part is probably irrelevant.)

I'm leaning towards ".note.linker-version" in hope that other linkers
follow it.

Any opinions?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161018/865d08f6/attachment.html>


More information about the llvm-dev mailing list