Bug 1590624 - Update the mingw-clang compiler to clang 9 r=dmajor

We can remove our backported objcopy patches, we'll need to update
llvm-mingw for toolchain fixes, and we need to add binutils to compile
this newer version of clang because the system binutils is too old.

Differential Revision: https://phabricator.services.mozilla.com/D50152

--HG--
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-9-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-mingw.sh
extra : moz-landing-system : lando
This commit is contained in:
Tom Ritter 2019-12-12 07:43:53 +00:00
Родитель d16795145d
Коммит 9a59ac123c
10 изменённых файлов: 36 добавлений и 42 удалений

Просмотреть файл

@ -57,7 +57,7 @@ BINDGEN_CFLAGS="-I$MOZ_FETCHES_DIR/clang/i686-w64-mingw32/include/c++/v1 -I$MOZ_
# We want to make sure we use binutils and other binaries in the tooltool # We want to make sure we use binutils and other binaries in the tooltool
# package. # package.
mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$PATH" mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib
mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH"

Просмотреть файл

@ -57,7 +57,7 @@ BINDGEN_CFLAGS="-I$MOZ_FETCHES_DIR/clang/x86_64-w64-mingw32/include/c++/v1 -I$MO
# We want to make sure we use binutils and other binaries in the tooltool # We want to make sure we use binutils and other binaries in the tooltool
# package. # package.
mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$PATH" mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib
mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH"

Просмотреть файл

@ -1,25 +0,0 @@
{
"stages": "3",
"build_libcxx": true,
"build_type": "Release",
"assertions": false,
"python_path": "/usr/bin/python2.7",
"gcc_dir": "{MOZ_FETCHES_DIR}/gcc",
"cc": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
"cxx": "{MOZ_FETCHES_DIR}/gcc/bin/g++",
"as": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
"patches": [
"mingwclang-llvm-objcopy-COFF-Remove-a-superfluous-namespace-qua.patch",
"mingwclang-llvm-objcopy-COFF-Add-support-for-removing-sections.patch",
"mingwclang-llvm-objcopy-COFF-Implement-strip-debug.patch",
"mingwclang-llvm-objcopy-COFF-Implement-only-keep-debug.patch",
"mingwclang-llvm-objcopy-COFF-Implement-only-section.patch",
"mingwclang-llvm-objcopy-Consistently-use-createStringError-inst.patch",
"mingwclang-llvm-objcopy-COFF-Update-symbol-indices-in-weak-exte.patch",
"mingwclang-llvm-objcopy-Return-Error-from-Buffer-allocate-ELF-W.patch",
"mingwclang-Reapply-llvm-objcopy-COFF-Implement-add-gnu-debuglin.patch",
"mingwclang-llvm-objcopy-COFF-Clear-the-unwritten-tail-of-coff_s.patch",
"mingwclang-llvm-objcopy-COFF-Fix-handling-of-aux-symbols-for-bi.patch",
"mingwclang-llvm-objcopy-COFF-Error-out-on-use-of-unhandled-opti.patch"
]
}

Просмотреть файл

@ -0,0 +1,13 @@
{
"stages": "3",
"build_libcxx": true,
"build_type": "Release",
"assertions": false,
"python_path": "/usr/bin/python2.7",
"gcc_dir": "{MOZ_FETCHES_DIR}/gcc",
"cc": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
"cxx": "{MOZ_FETCHES_DIR}/gcc/bin/g++",
"as": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
"patches": [
]
}

Просмотреть файл

@ -371,14 +371,14 @@ libunwind:
fetch: fetch:
type: git type: git
repo: https://github.com/llvm-mirror/libunwind repo: https://github.com/llvm-mirror/libunwind
revision: 6ee92fcc97350ae32db3172a269e9afcc2bab686 revision: efd17a11b0fae29d3414e11e99307e082d4ee949
llvm-mingw: llvm-mingw:
description: llvm-mingw source code description: llvm-mingw source code
fetch: fetch:
type: git type: git
repo: https://github.com/mstorsjo/llvm-mingw repo: https://github.com/mstorsjo/llvm-mingw
revision: c3a16814bd26aa6702e1e5b482a3d9044bb0f725 revision: 9f8e5cebd6dbbb7546e8917e6c59284699a48d26
android-rs-glue: android-rs-glue:
description: android-rs-glue source code description: android-rs-glue source code

Просмотреть файл

@ -86,52 +86,54 @@ linux64-clang-9-cross:
- linux64-binutils - linux64-binutils
- linux64-gcc-7 - linux64-gcc-7
linux64-clang-8-mingw-x86: linux64-clang-9-mingw-x86:
description: "MinGW-Clang Trunk x86 toolchain build" description: "MinGW-Clang Trunk x86 toolchain build"
treeherder: treeherder:
symbol: TMW(clang-x86) symbol: TMW(clang-x86)
run: run:
script: build-clang-8-mingw.sh script: build-clang-mingw.sh
arguments: arguments:
- 'x86' - 'x86'
- 'build/build-clang/clang-8-mingw.json' - 'build/build-clang/clang-9-mingw.json'
resources: resources:
- 'build/build-clang/clang-8-mingw.json' - 'build/build-clang/clang-9-mingw.json'
toolchain-alias: linux64-clang-mingw-x86 toolchain-alias: linux64-clang-mingw-x86
toolchain-artifact: public/build/clangmingw.tar.xz toolchain-artifact: public/build/clangmingw.tar.xz
fetches: fetches:
fetch: fetch:
- clang-8 - clang-9
- mingw-w64 - mingw-w64
- libunwind - libunwind
- llvm-mingw - llvm-mingw
- gcc-9.1.0 - gcc-9.1.0
toolchain: toolchain:
- linux64-gcc-7 - linux64-gcc-7
- linux64-binutils
linux64-clang-8-mingw-x64: linux64-clang-9-mingw-x64:
description: "MinGW-Clang Trunk x64 toolchain build" description: "MinGW-Clang Trunk x64 toolchain build"
treeherder: treeherder:
symbol: TMW(clang-x64) symbol: TMW(clang-x64)
tier: 1 tier: 1
run: run:
script: build-clang-8-mingw.sh script: build-clang-mingw.sh
arguments: arguments:
- 'x64' - 'x64'
- 'build/build-clang/clang-8-mingw.json' - 'build/build-clang/clang-9-mingw.json'
resources: resources:
- 'build/build-clang/clang-8-mingw.json' - 'build/build-clang/clang-9-mingw.json'
toolchain-alias: linux64-clang-mingw-x64 toolchain-alias: linux64-clang-mingw-x64
toolchain-artifact: public/build/clangmingw.tar.xz toolchain-artifact: public/build/clangmingw.tar.xz
fetches: fetches:
fetch: fetch:
- clang-8 - clang-9
- mingw-w64 - mingw-w64
- libunwind - libunwind
- llvm-mingw - llvm-mingw
- gcc-9.1.0 - gcc-9.1.0
toolchain: toolchain:
- linux64-gcc-7 - linux64-gcc-7
- linux64-binutils
linux64-clang-9-android-cross: linux64-clang-9-android-cross:
description: "Clang 9 toolchain build" description: "Clang 9 toolchain build"

Просмотреть файл

@ -74,4 +74,4 @@ linux64-mingw-fxc2-x86:
fetch: fetch:
- fxc2 - fxc2
toolchain: toolchain:
- linux64-clang-8-mingw-x86 - linux64-clang-mingw-x86

Просмотреть файл

@ -61,5 +61,5 @@ win32-minidump-stackwalk:
arguments: ['mingw32'] arguments: ['mingw32']
fetches: fetches:
toolchain: toolchain:
- linux64-clang-8-mingw-x86 - linux64-clang-mingw-x86
- mingw32-rust-1.39 - mingw32-rust-1.39

Просмотреть файл

@ -22,7 +22,7 @@ win64-nasm:
fetch: fetch:
- nasm-2.14.02 - nasm-2.14.02
toolchain: toolchain:
- linux64-clang-8-mingw-x64 - linux64-clang-mingw-x64
linux64-nasm: linux64-nasm:
description: "nasm linux64 build" description: "nasm linux64 build"

Просмотреть файл

@ -27,6 +27,10 @@ CROSS_PREFIX_DIR=$INSTALL_DIR/$machine-w64-mingw32
make_flags="-j$(nproc)" make_flags="-j$(nproc)"
if [ -d "$MOZ_FETCHES_DIR/binutils/bin" ]; then
export PATH="$MOZ_FETCHES_DIR/binutils/bin:$PATH"
fi
# This is default value of _WIN32_WINNT. Gecko configure script explicitly sets this, # This is default value of _WIN32_WINNT. Gecko configure script explicitly sets this,
# so this is not used to build Gecko itself. We default to 0x601, which is Windows 7. # so this is not used to build Gecko itself. We default to 0x601, which is Windows 7.
default_win32_winnt=0x601 default_win32_winnt=0x601