Replace linker magic with manual component registration

RESOLVED FIXED in Firefox 68

Status

()

task
RESOLVED FIXED
5 months ago
11 days ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

Trunk
mozilla68
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox68 fixed)

Details

Attachments

(1 attachment)

No description provided.
Blocks: 1541793
No longer blocks: 1541793
Type: defect → task
Blocks: 1541793

Before bug 938437, we had a rather large and error-prone
nsStaticXULComponents.cpp used to register all modules. That was
replaced with clever use of the linker, which allowed to avoid the mess
that maintaining that file was.

Fast forward to now, where after bug 1524687 and other work that
preceded it, we have a much smaller number of remaining static xpcom
components, registered via this linker hack, and don't expect to add
any new ones. The list should eventually go down to zero.

Within that context, it seems to be the right time to get rid of the
magic, and with it the problems it causes on its own.

Some of those components could probably be trivially be converted to
static registration via .conf files, but I didn't want to deal with the
possible need to increase the number of dummy modules in XPCOMInit.cpp.
They can still be converted as a followup.

So now we can fix bug 1299159?

Blocks: 1299159

Well, after this bug, there's nothing left to do in bug 1299159, because there aren't any _NSModule symbols left.

No longer blocks: 1299159
Duplicate of this bug: 1299159
Depends on: 1541755
Blocks: 1542167
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/60669a841a87
Replace linker magic with manual component registration. r=froydnj
Blocks: 1542996
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Blocks: 1572048
You need to log in before you can comment on or make changes to this bug.