Loading browser/config/mozconfigs/linux64/hazards +3 −4 Original line number Diff line number Diff line # This mozconfig is used when compiling the browser for the rooting hazard # analysis build (labeled H on treeherder). See # This mozconfig is used when compiling the browser for the SM(Hf) rooting # hazard analysis build, see # https://wiki.mozilla.org/Javascript:SpiderMonkey:ExactStackRooting # Do NOT include build/unix/mozconfig.linux because it points directly at the Loading @@ -21,13 +21,12 @@ mk_add_options MOZ_OBJDIR=obj-analyzed ac_add_options --enable-debug ac_add_options --enable-tests ac_add_options --enable-optimize ac_add_options --with-compiler-wrapper=$(cd $topsrcdir/sixgill/usr/libexec/sixgill/scripts/wrap_gcc && echo $PWD)/basecc ac_add_options --without-ccache CFLAGS="$CFLAGS -Wno-attributes" CPPFLAGS="$CPPFLAGS -Wno-attributes" CXXFLAGS="$CXXFLAGS -Wno-attributes" TOOLTOOL_DIR="$(dirname $topsrcdir)" export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig . $topsrcdir/build/unix/mozconfig.gtk Loading testing/taskcluster/scripts/builder/build-browser-haz-linux.shdeleted 100755 → 0 +0 −27 Original line number Diff line number Diff line #!/bin/bash -ex ################################### build-mulet-haz-linux.sh ################################### # Ensure all the scripts in this dir are on the path.... DIRNAME=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) PATH=$DIRNAME:$PATH . desktop-setup.sh . hazard-analysis.sh build_js_shell # Artifacts folder is outside of the cache. mkdir -p $HOME/artifacts/ || true function onexit () { grab_artifacts "$WORKSPACE/analysis" "$HOME/artifacts" } trap onexit EXIT configure_analysis "$WORKSPACE/analysis" run_analysis "$WORKSPACE/analysis" browser check_hazards "$WORKSPACE/analysis" ################################### script end ################################### testing/taskcluster/scripts/builder/get-objdir.py +1 −1 Original line number Diff line number Diff line #!/usr/bin/env python2.7 #!/usr/bin/env python from __future__ import print_function import sys Loading testing/taskcluster/scripts/builder/hazard-analysis.sh +5 −28 Original line number Diff line number Diff line #!/bin/bash -ex [ -n "$WORKSPACE" ] [ -n "$MOZ_OBJDIR" ] [ -n "$GECKO_DIR" ] HAZARD_SHELL_OBJDIR=$WORKSPACE/obj-haz-shell HAZARD_SHELL_OBJDIR=$MOZ_OBJDIR/obj-haz-shell JS_SRCDIR=$GECKO_DIR/js/src ANALYSIS_SRCDIR=$JS_SRCDIR/devtools/rootAnalysis Loading @@ -12,11 +8,6 @@ ANALYSIS_SRCDIR=$JS_SRCDIR/devtools/rootAnalysis TOOLTOOL_MANIFEST=js/src/devtools/rootAnalysis/build/sixgill.manifest . install-packages.sh "$GECKO_DIR" PYTHON=python2.7 if ! which $PYTHON; then PYTHON=python fi export CC="$GECKO_DIR/gcc/bin/gcc" export CXX="$GECKO_DIR/gcc/bin/g++" Loading Loading @@ -54,7 +45,7 @@ function run_analysis () { ( cd "$analysis_dir" $PYTHON "$ANALYSIS_SRCDIR/analyze.py" --buildcommand="$GECKO_DIR/testing/mozharness/scripts/spidermonkey/build.${build_type}" python "$ANALYSIS_SRCDIR/analyze.py" --buildcommand="$GECKO_DIR/testing/mozharness/scripts/spidermonkey/build.${build_type}" ) } Loading @@ -68,16 +59,13 @@ function grab_artifacts () { cd "$analysis_dir" ls -lah # Do not error out if no files found shopt -s nullglob set +e for f in *.txt *.lst; do gzip -9 -c "$f" > "${artifacts}/$f.gz" done # Check whether the user requested .xdb file upload in the top commit comment if hg --cwd "$GECKO_DIR" log -l1 --template '{desc}\n' | grep -q -- '--upload-xdbs'; then if hg --cwd "$GECKO_DIR" log -l1 --template '{desc}\n' | grep -q 'haz: --upload-xdbs'; then for f in *.xdb; do bzip2 -c "$f" > "${artifacts}/$f.bz2" done Loading @@ -86,19 +74,8 @@ function grab_artifacts () { } function check_hazards () { ( set +e NUM_HAZARDS=$(grep -c 'Function.*has unrooted.*live across GC call' "$1"/rootingHazards.txt) NUM_UNSAFE=$(grep -c '^Function.*takes unsafe address of unrooted' "$1"/refs.txt) NUM_UNNECESSARY=$(grep -c '^Function.* has unnecessary root' "$1"/unnecessary.txt) echo "TinderboxPrint: $NUM_HAZARDS rooting hazards" echo "TinderboxPrint: $NUM_UNSAFE unsafe references to unrooted GC pointers" echo "TinderboxPrint: $NUM_UNSAFE unnecessary roots" if [ $NUM_HAZARDS -gt 0 ]; then echo "TEST-UNEXPECTED-FAIL $NUM_HAZARDS hazards detected" >&2 if grep 'Function.*has unrooted.*live across GC call' "$1"/rootingHazards.txt; then echo "TEST-UNEXPECTED-FAIL hazards detected" >&2 exit 1 fi ) } testing/taskcluster/tasks/branches/try/job_flags.yml +0 −6 Original line number Diff line number Diff line Loading @@ -75,12 +75,6 @@ builds: types: opt: task: tasks/builds/opt_linux64_st-an_clobber.yml linux64-haz: platforms: - Linux64 types: debug: task: tasks/builds/haz_linux.yml macosx64: platforms: - MacOSX64 Loading Loading
browser/config/mozconfigs/linux64/hazards +3 −4 Original line number Diff line number Diff line # This mozconfig is used when compiling the browser for the rooting hazard # analysis build (labeled H on treeherder). See # This mozconfig is used when compiling the browser for the SM(Hf) rooting # hazard analysis build, see # https://wiki.mozilla.org/Javascript:SpiderMonkey:ExactStackRooting # Do NOT include build/unix/mozconfig.linux because it points directly at the Loading @@ -21,13 +21,12 @@ mk_add_options MOZ_OBJDIR=obj-analyzed ac_add_options --enable-debug ac_add_options --enable-tests ac_add_options --enable-optimize ac_add_options --with-compiler-wrapper=$(cd $topsrcdir/sixgill/usr/libexec/sixgill/scripts/wrap_gcc && echo $PWD)/basecc ac_add_options --without-ccache CFLAGS="$CFLAGS -Wno-attributes" CPPFLAGS="$CPPFLAGS -Wno-attributes" CXXFLAGS="$CXXFLAGS -Wno-attributes" TOOLTOOL_DIR="$(dirname $topsrcdir)" export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig . $topsrcdir/build/unix/mozconfig.gtk Loading
testing/taskcluster/scripts/builder/build-browser-haz-linux.shdeleted 100755 → 0 +0 −27 Original line number Diff line number Diff line #!/bin/bash -ex ################################### build-mulet-haz-linux.sh ################################### # Ensure all the scripts in this dir are on the path.... DIRNAME=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) PATH=$DIRNAME:$PATH . desktop-setup.sh . hazard-analysis.sh build_js_shell # Artifacts folder is outside of the cache. mkdir -p $HOME/artifacts/ || true function onexit () { grab_artifacts "$WORKSPACE/analysis" "$HOME/artifacts" } trap onexit EXIT configure_analysis "$WORKSPACE/analysis" run_analysis "$WORKSPACE/analysis" browser check_hazards "$WORKSPACE/analysis" ################################### script end ###################################
testing/taskcluster/scripts/builder/get-objdir.py +1 −1 Original line number Diff line number Diff line #!/usr/bin/env python2.7 #!/usr/bin/env python from __future__ import print_function import sys Loading
testing/taskcluster/scripts/builder/hazard-analysis.sh +5 −28 Original line number Diff line number Diff line #!/bin/bash -ex [ -n "$WORKSPACE" ] [ -n "$MOZ_OBJDIR" ] [ -n "$GECKO_DIR" ] HAZARD_SHELL_OBJDIR=$WORKSPACE/obj-haz-shell HAZARD_SHELL_OBJDIR=$MOZ_OBJDIR/obj-haz-shell JS_SRCDIR=$GECKO_DIR/js/src ANALYSIS_SRCDIR=$JS_SRCDIR/devtools/rootAnalysis Loading @@ -12,11 +8,6 @@ ANALYSIS_SRCDIR=$JS_SRCDIR/devtools/rootAnalysis TOOLTOOL_MANIFEST=js/src/devtools/rootAnalysis/build/sixgill.manifest . install-packages.sh "$GECKO_DIR" PYTHON=python2.7 if ! which $PYTHON; then PYTHON=python fi export CC="$GECKO_DIR/gcc/bin/gcc" export CXX="$GECKO_DIR/gcc/bin/g++" Loading Loading @@ -54,7 +45,7 @@ function run_analysis () { ( cd "$analysis_dir" $PYTHON "$ANALYSIS_SRCDIR/analyze.py" --buildcommand="$GECKO_DIR/testing/mozharness/scripts/spidermonkey/build.${build_type}" python "$ANALYSIS_SRCDIR/analyze.py" --buildcommand="$GECKO_DIR/testing/mozharness/scripts/spidermonkey/build.${build_type}" ) } Loading @@ -68,16 +59,13 @@ function grab_artifacts () { cd "$analysis_dir" ls -lah # Do not error out if no files found shopt -s nullglob set +e for f in *.txt *.lst; do gzip -9 -c "$f" > "${artifacts}/$f.gz" done # Check whether the user requested .xdb file upload in the top commit comment if hg --cwd "$GECKO_DIR" log -l1 --template '{desc}\n' | grep -q -- '--upload-xdbs'; then if hg --cwd "$GECKO_DIR" log -l1 --template '{desc}\n' | grep -q 'haz: --upload-xdbs'; then for f in *.xdb; do bzip2 -c "$f" > "${artifacts}/$f.bz2" done Loading @@ -86,19 +74,8 @@ function grab_artifacts () { } function check_hazards () { ( set +e NUM_HAZARDS=$(grep -c 'Function.*has unrooted.*live across GC call' "$1"/rootingHazards.txt) NUM_UNSAFE=$(grep -c '^Function.*takes unsafe address of unrooted' "$1"/refs.txt) NUM_UNNECESSARY=$(grep -c '^Function.* has unnecessary root' "$1"/unnecessary.txt) echo "TinderboxPrint: $NUM_HAZARDS rooting hazards" echo "TinderboxPrint: $NUM_UNSAFE unsafe references to unrooted GC pointers" echo "TinderboxPrint: $NUM_UNSAFE unnecessary roots" if [ $NUM_HAZARDS -gt 0 ]; then echo "TEST-UNEXPECTED-FAIL $NUM_HAZARDS hazards detected" >&2 if grep 'Function.*has unrooted.*live across GC call' "$1"/rootingHazards.txt; then echo "TEST-UNEXPECTED-FAIL hazards detected" >&2 exit 1 fi ) }
testing/taskcluster/tasks/branches/try/job_flags.yml +0 −6 Original line number Diff line number Diff line Loading @@ -75,12 +75,6 @@ builds: types: opt: task: tasks/builds/opt_linux64_st-an_clobber.yml linux64-haz: platforms: - Linux64 types: debug: task: tasks/builds/haz_linux.yml macosx64: platforms: - MacOSX64 Loading