Closed Bug 592052 Opened 9 years ago Closed 9 years ago

Missing NSGetModule export (binary backwards compatiblity)

Categories

(Core :: XPCOM, defect, critical)

All
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla2.0b8
Tracking Status
blocking2.0 --- -

People

(Reporter: nmaier, Assigned: nmaier)

References

Details

Attachments

(1 file, 1 obsolete file)

1.9.2 binary compatiblity stuff was added by bug 568691:
http://hg.mozilla.org/mozilla-central/rev/21ebf7198406

However, the global exports (gnu-ld) were removed in bug 568691, and are hence missing:
http://hg.mozilla.org/mozilla-central/rev/014f02585f6d

The NSGetModule export must be added again in order to get working backwards-compatible binaries.
Attachment #470559 - Flags: review?(benjamin)
Nominating blocking. Should be no risk, and omitting it will prevent third-party authors from building mixed 1.9.2/2.0 binary components.
blocking2.0: --- → ?
If NSGetModule *isn't* present (which is the common case), does this cause build warnings or errors?
This definitely doesn't block, and can be worked around by component authors pretty easily.
blocking2.0: ? → -
(In reply to comment #2)
> If NSGetModule *isn't* present (which is the common case), does this cause
> build warnings or errors?

Didn't saw any new warnings/errors in my tests: Ubuntu 10.04 + gcc (4:4.4.3-1ubuntu1) + binutils (2.20.1-3ubuntu5)

(In reply to comment #3)
> This definitely doesn't block, and can be worked around by component authors
> pretty easily.

Well, first you actually need figure out what happened (which admittedly took me some time and fustration), then you need to develop some fix to make the export appear again. Decide where to put the fix (patching mozilla, or keep it in-tree). Not as easy as fiddling with visiblity("default") (which has no influence at all).
So I'm not sure about that "pretty easily" assessment of yours. ;)
Attachment #470559 - Flags: review?(benjamin) → review+
Can it be checked in now?
Keywords: checkin-needed
Assignee: nobody → MaierMan
Attachment #470559 - Flags: approval2.0?
(In reply to comment #5)
> Can it be checked in now?

Only once it has approval, I do hope it GETS approval soon, imho though.
Keywords: checkin-needed
Attachment #470559 - Flags: approval2.0? → approval2.0+
http://hg.mozilla.org/mozilla-central/rev/7819e11aa46f
Status: NEW → RESOLVED
Closed: 9 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Depends on: 603930
Backed out due to Mac OS X build bustage, see bug 603930 for details.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
This is basically the same thing as v1, but it omits the components-export-list changes which caused the bustage on mac, as described in bug 603930.

components-export-list is only used in darwin builds[1], so the patch still fixes the missing exports on linux.
It cannot fix things on mac, which would require different -exported-symbols definition files, and frankly I don't care too much about mac, nor do I have a fast-enough box to do any real development there.

Builds with this patch tested on Win7, OSX 10.6.0.4 and Linux x86_64 (Ubuntu maverik), all successful. NSGetModule correctly exported in Win7 and linux, but not darwin (see remarks above).

[1] http://mxr.mozilla.org/mozilla-central/source/configure.in#2921
Attachment #484328 - Flags: review?(benjamin)
Attachment #484328 - Flags: review?(benjamin)
Attachment #484328 - Flags: review+
Attachment #484328 - Flags: approval2.0+
Keywords: checkin-needed
Attachment #470559 - Attachment is obsolete: true
http://hg.mozilla.org/mozilla-central/rev/cc5a70c9e1e8
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b8
You need to log in before you can comment on or make changes to this bug.