Build NSS with debug symbols - like the rest of Firefox

VERIFIED FIXED

Status

()

Core
Security: PSM
P2
normal
VERIFIED FIXED
10 years ago
9 years ago

People

(Reporter: Nelson Bolyard (seldom reads bugmail), Assigned: Kaspar Brand)

Tracking

({fixed1.9.1})

1.9.0 Branch
x86
Windows XP
fixed1.9.1
Points:
---
Bug Flags:
wanted1.9.1 +
wanted1.9.0.x +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

In Firefox builds (and SeaMonkey, etc.) optimized builds are generally 
built WITH debug symbols.  For Windows, this is done by specifying -Zi 
on the cl command line.  In NSS's own makefiles, normally, an "optimized" 
build is built without any debug symbols.  Consequently, Mozilla browser
stack traces lack details for NSS functions in stacks, but have pretty 
complete details for non-NSS functions in stacks. 

When NSS is built as part of the Mozilla clients, it is built by one of 
the makefiles for PSM.  That PSM makefile overrides a number of things
about the wan NSS is built, so that browser builds of NSS differ from NSS's
own stand alone builds in several ways.  

I'm requesting that PSM's Makefiles introduce yet another difference in 
the way that PSM builds NSS from the way that NSS stand-alone builds 
normally work.  I'm asking that PSM build NSS with debug symbols, at 
least on Windows, by causing the cl command line to include -Zi.
Flags: wanted1.9.1?
Flags: wanted1.9.0.x?
(Reporter)

Comment 1

10 years ago
Hmm.  I observe that NSS's makefile for windows bears the following lines:

        ifdef MOZ_DEBUG_SYMBOLS
                OPTIMIZER += -Zi
        endif

That was put there, long ago, as part of the resolution to this very same
issue.  This begs the question: 

Does PSM no longer define MOZ_DEBUG_SYMBOLS when it builds NSS ?
Flags: wanted1.9.0.x? → wanted1.9.0.x+
(Reporter)

Updated

10 years ago
Blocks: 470500
We generally leave that up to the developer (or tinderbox) to put in the mozconfig file.

Updated

9 years ago
Severity: enhancement → normal
Priority: -- → P2
(Assignee)

Comment 3

9 years ago
Created attachment 379056 [details] [diff] [review]
Proposed patch

(In reply to comment #1)
> Does PSM no longer define MOZ_DEBUG_SYMBOLS when it builds NSS ?

Yes, apparently this changed between Firefox 3.0 and Firefox 3.1/3.5 (could not yet figure out why exactly).

In any case, the attached patch (for both mozilla-central and mozilla-1.9.1) fixes this problem, by making sure that PSM's Makefile forwards MOZ_DEBUG_SYMBOLS when it builds NSS. Not sure whom I should ask for review, though.
I don't think that makefile ever had any reference to MOZ_DEBUG_SYMBOLS, see the 1.9.0 version:
http://mxr.mozilla.org/mozilla/source/security/manager/Makefile.in

See bug 468701 comment 3 for what I think happened to our symbols on Windows.
Kaspar: I think you could instead just "export MOZ_DEBUG_SYMBOLS", like we do with DLLFLAGS:
http://mxr.mozilla.org/mozilla/source/security/manager/Makefile.in#171
(although without the ifeq that that line uses)
Kaspar: if you write a patch using export, r?me on it, and we can get it on the 1.9.1 branch.
Flags: wanted1.9.1? → wanted1.9.1+
(Assignee)

Comment 7

9 years ago
Created attachment 379122 [details] [diff] [review]
Patch v2 (use export instead of DEFAULT_GMAKE_FLAGS)

(In reply to comment #6)
> Kaspar: if you write a patch using export, r?me on it, and we can get it on the
> 1.9.1 branch.

Like this? I kept it at the same position, since it's a Windows-only option.

> See bug 468701 comment 3 for what I think happened to our symbols on Windows.

It's indeed true that "the difference is due to setting MOZ_DEBUG_SYMBOLS=1 in the mozconfig [...] versus setting it in the environment in tinderbox" - if you look at the full build logs of the 3.5 nightlies (e.g. http://tinderbox.mozilla.org/showlog.cgi?log=Firefox3.5/1242938896.1242950605.22629.gz&fulltext=1), you'll notice that the environment does not include MOZ_DEBUG_SYMBOLS - in contrast to the 3.0 builds.
Attachment #379056 - Attachment is obsolete: true
Attachment #379122 - Flags: review?(ted.mielczarek)
Assignee: kaie → mozbugzilla
Attachment #379122 - Flags: review?(ted.mielczarek) → review+
Comment on attachment 379122 [details] [diff] [review]
Patch v2 (use export instead of DEFAULT_GMAKE_FLAGS)

r=me
(Assignee)

Updated

9 years ago
Attachment #379122 - Flags: approval1.9.1?
(Assignee)

Comment 9

9 years ago
Comment on attachment 379122 [details] [diff] [review]
Patch v2 (use export instead of DEFAULT_GMAKE_FLAGS)

Requesting approval (note that afterwards I would need someone to check this in for me, I don't have commit access).

Comment 10

9 years ago
Comment on attachment 379122 [details] [diff] [review]
Patch v2 (use export instead of DEFAULT_GMAKE_FLAGS)

pre-emptive approval for branch once this lands greenly in -central
Attachment #379122 - Flags: approval1.9.1? → approval1.9.1+
Pushed to m-c:
http://hg.mozilla.org/mozilla-central/rev/97fcaf4717fb
(will push to 1.9.1 once that cycles)
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.