Skip to content

Bug 42146&42337: Enable GeckoDriver on all desktop platforms and use lld as a linker on Linux

Merge Info

Related Issues

Backporting

Timeline

  • 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
  • Localization: typos and other localization changes that should be also in the release branch
  • Other: please explain

Merging

  • Merge to tor-browser - !fixups to tor-browser-specific commits, new features, security backports
  • Merge to base-browser - !fixups to base-browser-specific commits, new features to be shared with mullvad-browser, and security backports
    • NOTE: if your changeset includes patches to both base-browser and tor-browser please clearly label in the change description which commits should be cherry-picked to base-browser after merging

Issue Tracking

Review

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 : clairehurst, dan
    • build system : boklm
    • extensions : ma1
    • firefox internals (XUL/JS/XPCOM) : ma1
    • fonts : pierov
    • frontend (implementation) : henry
    • frontend (review) : donuts, richard
    • localization : henry, pierov
    • macos : clairehurst, dan
    • nightly builds : boklm
    • rebases/release-prep : dan, ma1, pierov, richard
    • security : ma1
    • signing : boklm, richard
    • updater : pierov
    • misc/other : pierov, richard

Change Description

We can enable and ship GeckoDriver in all platforms. Maybe we don't even need to enable it explicitly, but we did so on Linux, so in this MR I move that flag to the common desktop mozconfig.

In addition to that, since I was editing mozconfigs, I decided also to move to LLD our Linux platforms. Mozilla did it in Firefox 120.

The main reason to do is that we used to disable debug symbols on Linux i686 because the GNU linker had some troubles with them. Instead of trying with the GNU linker again, I decided to move already to LLD.

How Tested

Built a desktop testbuild and verified Geckodriver is generated for all platforms (copying it requires a separate tor-browser-build patch for which I'm opening another MR).

I didn't verify whether Geckodriver works, because I don't know how to do it (Selenium or Marionette could work).

Tested that the Linux binaries linked with LLD work (launch and some basic tasks, like opening websites - I haven't checked PTs, as LLD applies only to the Firefox project).

Edited by Pier Angelo Vendrame

Merge request reports