Bug 1414287 - Use a 64-bits clang-cl for 32-bits static analysis builds r=dmajor

This also requires the 64-bits rust compiler and some build system
tweaks.

Differential Revision: https://phabricator.services.mozilla.com/D7845
This commit is contained in:
Mike Hommey 2018-10-05 22:56:34 +00:00
parent 4b6737ba40
commit 10ee195be0
5 changed files with 22 additions and 8 deletions

View File

@ -10,8 +10,10 @@ ac_add_options --enable-optimize
ac_add_options --enable-clang-plugin
. $topsrcdir/build/win32/mozconfig.vs-latest
# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
# Regardless of what mozconfig.vs-latest sets, lld-link that comes with the old
# clang version used for static analysis fails to link multiple things. So
# until bug 1427808 is resolved, use the Microsoft linker.
export LINKER=link
. "$topsrcdir/build/mozconfig.common.override"

View File

@ -11,8 +11,10 @@ ac_add_options --enable-debug
ac_add_options --enable-clang-plugin
. $topsrcdir/build/win32/mozconfig.vs-latest
# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
# Regardless of what mozconfig.vs-latest sets, lld-link that comes with the old
# clang version used for static analysis fails to link multiple things. So
# until bug 1427808 is resolved, use the Microsoft linker.
export LINKER=link
. "$topsrcdir/build/mozconfig.common.override"

View File

@ -21,6 +21,9 @@ if [ -d "${VSPATH}" ]; then
export WIN64_LIB="${VSPATH}/VC/lib/x64:${VSPATH}/VC/atlmfc/lib/x64:${VSPATH}/SDK/Lib/10.0.17134.0/ucrt/x64:${VSPATH}/SDK/Lib/10.0.17134.0/um/x64:${VSPATH}/DIA SDK/lib/amd64"
fi
ac_add_options --target=i686-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32
. $topsrcdir/build/mozconfig.vs-common
mk_export_correct_style WINDOWSSDKDIR

View File

@ -201,6 +201,13 @@ HOST_CFLAGS = $(COMPUTED_HOST_CFLAGS) $(_DEPEND_CFLAGS)
HOST_CXXFLAGS = $(COMPUTED_HOST_CXXFLAGS) $(_DEPEND_CFLAGS)
HOST_C_LDFLAGS = $(COMPUTED_HOST_C_LDFLAGS)
HOST_CXX_LDFLAGS = $(COMPUTED_HOST_CXX_LDFLAGS)
# Win32 Cross-builds on win64 need to override LIB when invoking the linker,
# which we do for rust through cargo-linker.bat, so we abuse it here.
# Ideally, we'd empty LIB and pass -LIBPATH options to the linker somehow but
# we don't have this in place for rust, so...
ifdef WIN64_CARGO_LINKER
HOST_LINKER = $(topobjdir)/build/win64/cargo-linker.bat
endif
ifdef MOZ_LTO
ifeq (Darwin,$(OS_TARGET))

View File

@ -48,8 +48,8 @@ jobs:
- builds/taskcluster_base_win32.py
- builds/taskcluster_sub_win32/clang_debug.py
toolchains:
- win32-clang-cl-st-an
- win32-rust
- win64-clang-cl-st-an
- win64-rust
- win64-cbindgen
- win64-sccache
- win64-node
@ -79,8 +79,8 @@ jobs:
- builds/taskcluster_base_win32.py
- builds/taskcluster_sub_win32/clang.py
toolchains:
- win32-clang-cl-st-an
- win32-rust
- win64-clang-cl-st-an
- win64-rust
- win64-cbindgen
- win64-sccache
- win64-node