[llvm-dev] RFC: Loadable segments watermark for lld

Chris Jackson via llvm-dev
2019-11-21T11:43:16Z

Hello all,

I'm implementing a watermarking feature for lld that computes a hash of
loadable
segments and places the result in a note section. Ongoing work can be found
here:

https://reviews.llvm.org/D70316
https://reviews.llvm.org/D66426

The purpose of this watermark is to enable detection of post-link
modifications
to the loadable segments of the binary. Such modifications may produce a
binary
that relies on functionality that is an incidental detail of the OS that may
change in a future update and negatively affect the runtime behaviour of the
binary.

As well as identifying reliance on unspecified behaviour, on detection of
post-link changes we can then look at improving our tooling to support
whatever
changes had been applied.

Its critical for us that the watermark has minimal impact on build time and
cryptographic security is not the goal. Hence, xxhash is used as our
experiments showed it has minimal overhead.

Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20191121/3a8a52f9/attachment.html>