41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
|
Änderung: 4866:23940b78e965
|
||
|
Nutzer: Jan-Marek Glogowski <glogow@fbihome.de>
|
||
|
Datum: Fri May 01 22:50:55 2020 +0000
|
||
|
Dateien: pr/tests/Makefile.in
|
||
|
Beschreibung:
|
||
|
Bug 290526 Write separate PDBs for test OBJs r=glandium
|
||
|
|
||
|
Quite often when running a parallel NSS build, I get the following
|
||
|
compiler error message, resulting in a build failure, despite
|
||
|
compiling with the -FS flag:
|
||
|
|
||
|
.../nss/nspr/pr/tests/zerolen.c: fatal error C1041:
|
||
|
Programmdatenbank "...\nss\nspr\out\pr\tests\vc140.pdb" kann nicht
|
||
|
ge<94>ffnet werden; verwenden Sie /FS, wenn mehrere CL.EXE in
|
||
|
dieselbe .PDB-Datei schreiben.
|
||
|
|
||
|
The failing source file is always one of the last test object
|
||
|
files. But the actual problem is not the compiler accessing the
|
||
|
PDB file, but the linker already linking the first test
|
||
|
executables accessing the shared PDB; at least that's my guess.
|
||
|
|
||
|
So instead of using a shared PDB for all test object files, this
|
||
|
uses -Fd$(@:.$(OBJ_SUFFIX)=.pdb) to write a separate PDB for every
|
||
|
test's object file. The linker works fine with the shared OBJ PDB.
|
||
|
|
||
|
Differential Revision: https://phabricator.services.mozilla.com/D68693
|
||
|
|
||
|
|
||
|
diff -r 219d131499d5 -r 23940b78e965 nss/nspr/pr/tests/Makefile.in
|
||
|
--- a/nss/nspr/pr/tests/Makefile.in Mon Feb 10 20:58:42 2020 +0000
|
||
|
+++ b/nss/nspr/pr/tests/Makefile.in Fri May 01 22:50:55 2020 +0000
|
||
|
@@ -211,6 +211,7 @@
|
||
|
else
|
||
|
EXTRA_LIBS += ws2_32.lib
|
||
|
LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
|
||
|
+ CFLAGS += -Fd$(@:.$(OBJ_SUFFIX)=.pdb)
|
||
|
ifdef PROFILE
|
||
|
LDOPTS += -PROFILE -MAP
|
||
|
endif # profile
|
||
|
|