Bug 1654109 - Use PDB basename in cross-compiled Windows builds r=firefox-build-system-reviewers,mhentges

In cross-compiled Windows builds, our binaries embed PDB paths like /builds/worker/... which breaks some Windows tools that expect Windows-style paths. This patch sets `-PDBALTPATH:%_PDB%` which instructs the linker to emit only the basename. That's apparently enough that the tools can still find the right symbols.

Differential Revision: https://phabricator.services.mozilla.com/D96620
This commit is contained in:
David Major 2020-11-11 02:34:44 +00:00
parent 86b6df3b9e
commit e53a4d807f
2 changed files with 10 additions and 0 deletions

View file

@ -627,6 +627,11 @@ case "$target" in
fi
LIBS="$LIBS kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib"
MOZ_DEBUG_LDFLAGS='-DEBUG'
if test "$HOST_OS_ARCH" != "WINNT"; then
# %_PDB% is a special signal to emit only the PDB basename. This
# avoids problems in Windows tools that don't like forward-slashes.
MOZ_DEBUG_LDFLAGS="$MOZ_DEBUG_LDFLAGS -PDBALTPATH:%_PDB%"
fi
MOZ_OPTIMIZE_FLAGS="-O2"
MOZ_FIX_LINK_PATHS=
LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE"

View file

@ -736,6 +736,11 @@ case "$target" in
CXXFLAGS="$CXXFLAGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
LIBS="$LIBS user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib secur32.lib"
MOZ_DEBUG_LDFLAGS='-DEBUG'
if test "$HOST_OS_ARCH" != "WINNT"; then
# %_PDB% is a special signal to emit only the PDB basename. This
# avoids problems in Windows tools that don't like forward-slashes.
MOZ_DEBUG_LDFLAGS="$MOZ_DEBUG_LDFLAGS -PDBALTPATH:%_PDB%"
fi
# Use a higher optimization level for clang-cl, so we can come closer
# to MSVC's performance numbers (see bug 1443590).
if test -n "$CLANG_CL"; then