Skip to content

Bug 40907: Backport the fix to LLVM #62546

Pier Angelo Vendrame requested to merge pierov/tor-browser-build:bug_40907 into main

Merge Info

Related Issues



  • Immediate: patchset needed as soon as possible
  • Next Minor Stable Release: patchset that needs to be verified in nightly before backport
  • Eventually: patchset that needs to be verified in alpha before backport
  • No Backport (preferred): patchset for the next major stable

(Optional) Justification

  • Emergency security update: patchset fixes CVEs, 0-days, etc
  • Censorship event: patchset enables censorship circumvention
  • Critical bug-fix: patchset fixes a bug in core-functionality
  • Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc
  • Sponsor required: patchset required for sponsor
  • Other: please explain

Issue Tracking


Request Reviewer

  • Request review from an applications developer depending on modified system:
    • NOTE: if the MR modifies multiple areas, please /cc all the relevant reviewers (since gitlab only allows 1 reviewer)
    • accessibility : henry
    • android : dan
    • build system : boklm
    • extensions : ma1
    • firefox internals (XUL/JS/XPCOM) : ma1
    • fonts : pierov
    • frontend (implementation) : henry
    • frontend (review) : donuts, richard
    • localization : henry, pierov
    • nightly builds : boklm
    • rebases/release-prep : dan_b, ma1, pierov, richard
    • security : ma1
    • signing : boklm, richard
    • updater : pierov
    • misc/other : pierov, richard

Change Description

The debug symbols in Linux mar-tools of Mullvad Browser weren't always reproducible: in some cases one of the NSS modules could change hashes (there were two variants).

The problem is already fixed in newer version of LLVM (from the 17 branch) but they haven't been backported.
However, the patch applies cleanly, so we can apply it ourselves.

After talking with richard, we decided to patch llvm-project rather than clang, to be sure it was applied everywhere (even though it should be needed only by clang, and maybe only by Linux).
So, for consistency, we decided to also move the macOS patch I applied last week there.

I've tried only a Linux build, which succeeded, but I didn't try to reproduce a whole build (I've tried the compiler with the reduced case known to fail before, and this patch fixes it).

See also

Edited by Pier Angelo Vendrame

Merge request reports