limit exported symbols for components

RESOLVED FIXED

Status

SeaMonkey
Build Config
RESOLVED FIXED
15 years ago
13 years ago

People

(Reporter: Brian Ryner (not reading), Assigned: Brian Ryner (not reading))

Tracking

Trunk
PowerPC
Mac OS X

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 2 obsolete attachments)

1.06 KB, patch
hacker formerly known as seawood@netscape.com
: review+
Details | Diff | Splinter Review
(Assignee)

Description

15 years ago
We need to hook up build/unix/components-mapfile, components-version-script, or
an equivalent for mach-o.  This may improve startup performance a bit.  Unlike
ELF systems, it doesn't sound like it will help at runtime, because symbol
references (even for exported symbols) are resolved at link time.
(Assignee)

Comment 1

15 years ago
So, the mach-o linker gives an error if any of the symbols listed in the export
list don't exist in the library.  Most of our components only define
NSGetModule.  I don't believe NSRegisterSelf and NSUnregisterSelf are used any
more in any of our components.  We have one factory (liveconnect) which uses
NSGetFactory.  If we converted that to NSModule, then we could just use an
exported symbol list containing only NSGetModule.
(Assignee)

Comment 2

15 years ago
Actually, I don't think we need to change liveconnect.  There's no way the
NSGetFactory entry point is going to be used; the library isn't a component.
(Assignee)

Comment 3

15 years ago
Created attachment 110676 [details] [diff] [review]
patch
(Assignee)

Updated

15 years ago
Attachment #110676 - Flags: review?(seawood)
Comment on attachment 110676 [details] [diff] [review]
patch

r=cls
Attachment #110676 - Flags: review?(seawood) → review+
(Assignee)

Comment 5

15 years ago
checked in.
Status: NEW → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → FIXED
(Assignee)

Comment 6

15 years ago
i had to back out the configure change.  the exported_symbols_list linker flag
was just added in the december 2002 developer tools, which is not currently a
build requirement.

i'll come up with a new patch to do the same thing by postprocessing the library
with nmedit.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Assignee)

Comment 7

15 years ago
Created attachment 110743 [details] [diff] [review]
patch using nmedit
Attachment #110676 - Attachment is obsolete: true
(Assignee)

Updated

15 years ago
Attachment #110743 - Flags: review?(seawood)
(Assignee)

Comment 8

15 years ago
Created attachment 110749 [details] [diff] [review]
one more try

fixed a problem linking libxpcom
Attachment #110743 - Attachment is obsolete: true
(Assignee)

Updated

15 years ago
Attachment #110743 - Flags: review?(seawood)
(Assignee)

Updated

15 years ago
Attachment #110749 - Flags: review?(seawood)
Comment on attachment 110749 [details] [diff] [review]
one more try

r=cls
Attachment #110749 - Flags: review?(seawood) → review+
(Assignee)

Comment 10

15 years ago
it's in for real now.
Status: REOPENED → RESOLVED
Last Resolved: 15 years ago15 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.