[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
concurrently?

Joerg


More information about the llvm-dev mailing list