Build using jemalloc and SDK compiler crashes shortly after startup

RESOLVED FIXED

Status

()

Core
Build Config
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: neil@parkwaycc.co.uk, Assigned: neil@parkwaycc.co.uk)

Tracking

Trunk
x86
Windows XP
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
The CRT provided with the Windows SDK compiler doesn't import free from crtdll.obj, so we don't try to build our own private CRT import library.

This means that when we enable jemalloc, we pass MOZ_UTILS_LDFLAGS directly to NSPR/NSS via DLLFLAGS. However there are two problems with this:

In NSPR this doesn't work at all, since NSPR doesn't know what EXPAND_LIBNAME_PATH or LIBXUL_DIST are, and so the $(call EXPAND_LIBNAME_PATH,mozutils,$(LIBXUL_DIST)/lib) simply gets ignored.

For NSS the mozilla/security/manager/Makefile.in exports DLLFLAGS into the environment. This does seem to correctly expand it. However for some reason some (or all?) of the DLLs still end up linking to the CRT free instead.
(Assignee)

Comment 1

6 years ago
Created attachment 569095 [details] [diff] [review]
Possible patch

I found that inserting the lib using -DEFAULTLIB (which resembles the way we do it for broken crtdll.obj builds) does ensure that NSS links correctly, although we then have to port the fix to comm-central because for some reason its copy of the broken DLLFLAGS confuses NSS again.
Assignee: nobody → neil
Status: NEW → ASSIGNED
Attachment #569095 - Flags: review?(khuey)
Attachment #569095 - Flags: feedback?(bugspam.Callek)
Attachment #569095 - Flags: review?(khuey) → review+
(Assignee)

Comment 2

6 years ago
Pushed changeset 204bd66034e2 to mozilla-central.

Updated

6 years ago
Attachment #569095 - Flags: feedback?(bugspam.Callek) → feedback+
(Assignee)

Comment 3

6 years ago
Pushed changeset 16efbe29a2a2 to comm-central.
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.