[PATCH] D147544: [BOLT] Move from RuntimeDyld to JITLink

Rafael Auler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 21 11:17:09 PDT 2023


rafauler added a comment.

> So why are you trying to add the prepass to insert the terminator?

Just as a practical way of comparing this patch with production BOLT. If we mismatch, then I have 80 different binaries mismatching that I need to look at. Even for a single binary, for some of our internal large production binaries, it's not possible to analyze all differences manually because once you produce a different eh_frame size, you might have code references to sections past eh_frame that are now offset by a few bytes, for example, and then you have code mismatches all over the place. There are different ways to validate your diff, but I just thought that the fastest way would be to produce equal size, equal contents eh_frame, and I thought it would be simple enough to just add a new prepass, and was surprised with the nondeterminism.

We've dealt with large changes to BOLT a few times before, and the easiest way to guarantee that we're not missing anything was always to change the code until it matches the binaries, so we're fully aware of all of the changes that are going in production.

This diff is a rather large change to how things are done and I basically need to guarantee this is not going to surprise us when this is productionized.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D147544/new/

https://reviews.llvm.org/D147544



More information about the llvm-commits mailing list