Sometimes debug information are not deterministic with Clang 16.0.4
Mullvad Browser 13.0a1 was not actually (always) reproducible: sometimes the mar-tools for Linux have a hash, sometimes they have another one.
The problem was not that big because it's only on debug symbols (and I guess we didn't have it on other platforms because we don't generate symbols for macOS, and they're external on PDBs for Windows).
I've isolated a way to reproduce, see #40848 (closed) (and also !759 (merged)).
Both older versions (14.0.x) and newer versions (around the current HEAD of main) do not suffer from this problem, so I decided to git bisect
going further.
My hope was to catch the fix and backport it, rather than catching the offending commit and reverting it.
It lead to this upstream issue and this commit. It seems very easy, and probably will not even need the patch to be adapted. We just need to include it in our project.
We build Clang only in clang
I believe, but we re-use the source code several times, so we could apply the patch before packing it in llvm-project
.