Closed Bug 1541792 Opened 2 years ago Closed 2 years ago

Replace linker magic with manual component registration


(Core :: XPCOM, task)

Not set



Tracking Status
firefox68 --- fixed


(Reporter: glandium, Assigned: glandium)




(1 file)

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
Replace linker magic with manual component registration. r=froydnj
Blocks: 1542996
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Blocks: 1572048
You need to log in before you can comment on or make changes to this bug.