Closed Bug 263680 Opened 20 years ago Closed 20 years ago

/FIXED:NO linker option increases executable size

Categories

(SeaMonkey :: Build Config, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bryner, Assigned: bryner)

Details

(Keywords: fixed-aviary1.0, fixed1.7.5)

Attachments

(1 file)

For release builds, we define MOZ_PROFILE (for Seamonkey) or MOZ_DEBUG_SYMBOLS
(for Firefox/Thunderbird, since the static binary is big enough to require pdb
files).  Unfortunately, because of the origin of MOZ_PROFILE (to run with
Quantify), it also passes /FIXED:NO to the linker, which is required for
Quantify to be able to instrument the executable but increases its size by about
6% (firefox static build).

To solve this, we should separate the debug-symbol and quantify options.  I have
a patch which adds an --enable-quantify configure option.  Giving that option
causes /FIXED:NO to be used when linking executables, otherwise it is not used.
 The patch also fixes an oversight, MOZ_DEBUG_SYMBOLS should be added to
autoconf.mk so that it only need to be defined while running configure.

(It would be great to autoconf the MOZ_PROFILE/MOZ_DEBUG_SYMBOLS stuff as well,
i.e. --enable-debug-symbols=[builtin|pdb] but I don't have time for that at the
moment).
Attached patch patchSplinter Review
Comment on attachment 161621 [details] [diff] [review]
patch

Also, I should note that this was uncovered by switching from the MOZ_PDB hack
on the aviary branch to MOZ_DEBUG_SYMBOLS and thus starting to share the linker
options from MOZ_PROFILE.
Attachment #161621 - Flags: review?(bsmedberg)
+# of executables, so only use it if buliding for Quantify.

nit: typo at "buliding"
Attachment #161621 - Flags: review?(bsmedberg) → review+
Comment on attachment 161621 [details] [diff] [review]
patch

requesting branch approval
Attachment #161621 - Flags: approval1.7.x?
Attachment #161621 - Flags: approval-aviary?
Comment on attachment 161621 [details] [diff] [review]
patch

a=asa for aviary and 1.7 checkin.
Attachment #161621 - Flags: approval1.7.x?
Attachment #161621 - Flags: approval1.7.x+
Attachment #161621 - Flags: approval-aviary?
Attachment #161621 - Flags: approval-aviary+
checked in - trunk, aviary, 1.7.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: