Bug 1604964 - Add fix-stacks toolchain. r=erahm

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Nicholas Nethercote 2020-02-20 20:57:32 +00:00
parent a32c6007ec
commit 0d486cce16
5 changed files with 119 additions and 0 deletions

View File

@ -456,3 +456,10 @@ dump-syms:
type: git
repo: https://github.com/mozilla/dump_syms/
revision: fe924d894ae079a3fe3f2e0f83434e89204af155
fix-stacks:
description: fix-stacks source code
fetch:
type: git
repo: https://github.com/mozilla/fix-stacks/
revision: c65a2029b9f2165dc76019227bb878b44346194e

View File

@ -78,18 +78,22 @@ xpcshell:
linux.*:
- linux64-node
- linux64-minidump-stackwalk
- linux64-fix-stacks
macosx.*:
- macosx64-node
- macosx64-minidump-stackwalk
- macosx64-fix-stacks
win.*aarch64.*:
- win32-node
- win32-minidump-stackwalk
win.*-64.*:
- win64-node
- win32-minidump-stackwalk
- win64-fix-stacks
win.*32.*:
- win32-node
- win32-minidump-stackwalk
- win64-fix-stacks
android-em-7.*:
- linux64-node
- linux64-minidump-stackwalk

View File

@ -0,0 +1,56 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
job-defaults:
description: "fix-stacks toolchain build"
worker:
max-run-time: 1800
run:
script: build-fix-stacks.sh
run-on-projects:
- trunk
- try
fetches:
fetch:
- fix-stacks
linux64-fix-stacks:
treeherder:
symbol: TL(fix-stacks)
worker-type: b-linux
run:
toolchain-artifact: public/build/fix-stacks.tar.xz
fetches:
toolchain:
- linux64-binutils
- linux64-clang-9
- linux64-rust
macosx64-fix-stacks:
treeherder:
symbol: TM(fix-stacks)
worker-type: b-linux
run:
toolchain-artifact: public/build/fix-stacks.tar.xz
fetches:
toolchain:
- linux64-binutils
- linux64-clang-9
- linux64-rust-macos
win64-fix-stacks:
treeherder:
symbol: TW64(fix-stacks)
worker-type: b-win2012
worker:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
run:
toolchain-artifact: public/build/fix-stacks.tar.bz2
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
tooltool-downloads: internal
fetches:
toolchain:
- win64-rust

View File

@ -29,6 +29,7 @@ jobs-from:
- clang-tidy.yml
- clang.yml
- dump-syms.yml
- fix-stacks.yml
- gcc.yml
- geckodriver.yml
- gn.yml

View File

@ -0,0 +1,51 @@
#!/bin/bash
set -x -e -v
# This script is for building fix-stacks
PROJECT=fix-stacks
case "$(uname -s)" in
Linux)
COMPRESS_EXT=xz
export CC=$MOZ_FETCHES_DIR/clang/bin/clang
export CXX=$MOZ_FETCHES_DIR/clang/bin/clang++
export PATH="$MOZ_FETCHES_DIR/binutils/bin:$PATH"
export RUSTFLAGS="-C linker=$CXX"
;;
MINGW*)
UPLOAD_DIR=$PWD/public/build
COMPRESS_EXT=bz2
. $GECKO_PATH/taskcluster/scripts/misc/vs-setup.sh
;;
esac
cd $GECKO_PATH
if [ -n "$TOOLTOOL_MANIFEST" ]; then
. taskcluster/scripts/misc/tooltool-download.sh
fi
# cargo gets mad if the parent directory has a Cargo.toml file in it
if [ -e Cargo.toml ]; then
mv Cargo.toml Cargo.toml.back
fi
PATH="$(cd $MOZ_FETCHES_DIR && pwd)/rustc/bin:$PATH"
cd $MOZ_FETCHES_DIR/$PROJECT
cargo build --verbose --release
mkdir $PROJECT
cp target/release/${PROJECT}* ${PROJECT}/
tar -acf ${PROJECT}.tar.$COMPRESS_EXT $PROJECT
mkdir -p $UPLOAD_DIR
cp ${PROJECT}.tar.$COMPRESS_EXT $UPLOAD_DIR
cd ..
if [ -e Cargo.toml.back ]; then
mv Cargo.toml.back Cargo.toml
fi
. $GECKO_PATH/taskcluster/scripts/misc/vs-cleanup.sh