[llvm-dev] LLD's default --build-id choice

Joerg Sonnenberger via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 1 16:57:52 PDT 2016

On Wed, Jun 01, 2016 at 03:21:08PM -0700, Rui Ueyama via llvm-dev wrote:
> In the first place, I believe it was not a good decision to make GCC (and
> therefore Clang) to pass --build-id option to the linker by default (it was
> done in 2009 <https://lists.debian.org/debian-gcc/2009/07/msg00082.html>).
> Build ID is sometimes useful, particularly when distributing linked objects
> to users, but in most cases it is not needed. Spending 10% more time on
> usual build-link-debug cycle is a waste of time. It should not have been
> added that casually.

I fully agree on this (not passing it down by default automatically),
since it doesn't create a very useful key.

> --build-id=uuid sets build-id to a random unique value. It's very fast.
> Instead, it breaks build reproducibility because every build has a unique
> build ID. But if you want build reproducibility, you can explicitly pass
> --build-id=sha1.

I think this is worse than not doing anything at all. What about the
hash tree options, those can at least be computed piecewise and


More information about the llvm-dev mailing list