tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 604a2486ead5757007ccb33c160e16a14fc21e19
parent 744fabac3f89ea36f26f51086c56ef5891b1f1c9
Author: Jesse Schwartzentruber <truber@mozilla.com>
Date:   Tue, 28 Oct 2025 14:50:14 +0000

Bug 1995842 - Add linux32 spidermonkey fuzzing builds r=decoder,taskgraph-reviewers,jcristau

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

Diffstat:
Mjs/src/devtools/automation/variants/fuzzing | 12+++---------
Ajs/src/devtools/automation/variants/fuzzing-debug | 9+++++++++
Mmfbt/Assertions.h | 2+-
Mtaskcluster/kinds/spidermonkey/linux.yml | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtaskcluster/kinds/toolchain/llvm-symbolizer.yml | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtaskcluster/kinds/toolchain/sysroot.yml | 17+++++++++++++++++
6 files changed, 152 insertions(+), 10 deletions(-)

diff --git a/js/src/devtools/automation/variants/fuzzing b/js/src/devtools/automation/variants/fuzzing @@ -1,15 +1,9 @@ { - "configure-args": "--enable-fuzzing --enable-gczeal --enable-debug-symbols='-gline-tables-only -gdwarf-2' --disable-jemalloc --disable-stdcxx-compat --enable-address-sanitizer --enable-ctypes --enable-nspr-build --enable-rust-simd", + "configure-args": "--enable-fuzzing --enable-gczeal --enable-debug-symbols --disable-jemalloc --disable-stdcxx-compat --enable-ctypes --enable-nspr-build --enable-rust-simd", "optimize": true, - "debug": false, - "compiler": "clang", + "use_minidump": false, "env": { "LLVM_SYMBOLIZER": "{MOZ_FETCHES_DIR}/llvm-symbolizer/bin/llvm-symbolizer", "ASAN_SYMBOLIZER_PATH": "{MOZ_FETCHES_DIR}/llvm-symbolizer/bin/llvm-symbolizer" - }, - "extra-args": { - "jit-test": ["--jitflags=none"], - "jstests": ["--jitflags=none"] - }, - "use_minidump": false + } } diff --git a/js/src/devtools/automation/variants/fuzzing-debug b/js/src/devtools/automation/variants/fuzzing-debug @@ -0,0 +1,9 @@ +{ + "configure-args": "--enable-fuzzing --enable-gczeal --enable-debug-symbols --disable-jemalloc --disable-stdcxx-compat --enable-ctypes --enable-nspr-build --enable-rust-simd", + "debug": true, + "use_minidump": false, + "env": { + "LLVM_SYMBOLIZER": "{MOZ_FETCHES_DIR}/llvm-symbolizer/bin/llvm-symbolizer", + "ASAN_SYMBOLIZER_PATH": "{MOZ_FETCHES_DIR}/llvm-symbolizer/bin/llvm-symbolizer" + } +} diff --git a/mfbt/Assertions.h b/mfbt/Assertions.h @@ -523,7 +523,7 @@ struct AssertionConditionType { # define MOZ_VALIDATE_ASSERT_CONDITION_TYPE(x) #endif -#if defined(DEBUG) || defined(MOZ_ASAN) +#if defined(DEBUG) || defined(MOZ_ASAN) || defined(FUZZING) # define MOZ_REPORT_ASSERTION_FAILURE(...) \ MOZ_ReportAssertionFailure(__VA_ARGS__) #else diff --git a/taskcluster/kinds/spidermonkey/linux.yml b/taskcluster/kinds/spidermonkey/linux.yml @@ -539,6 +539,58 @@ sm-fuzzing-linux64/opt: - linux64-pkgconf - sysroot-x86_64-linux-gnu +sm-fuzzing-linux32/opt: + description: "Spidermonkey Fuzzing" + index: + job-name: sm-linux32-fuzzing + treeherder: + platform: linux32/opt + symbol: SM(f) + worker: + env: + MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1" + run: + spidermonkey-variant: fuzzing + spidermonkey-platform: linux + fetches: + toolchain: + - linux64-clang + - linux64-rust + - linux64-cbindgen + - linux64-dump_syms + - linux64-breakpad-injector + - linux64-minidump-stackwalk + - linux32-llvm-symbolizer + - linux64-pkgconf + - sysroot-i686-linux-gnu + - sysroot-x86_64-linux-gnu + +sm-fuzzing-linux32/debug: + description: "Spidermonkey Fuzzing" + index: + job-name: sm-linux32-fuzzing-debug + treeherder: + platform: linux32/debug + symbol: SM(f) + worker: + env: + MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1" + run: + spidermonkey-variant: fuzzing-debug + spidermonkey-platform: linux + fetches: + toolchain: + - linux64-clang + - linux64-rust + - linux64-cbindgen + - linux64-dump_syms + - linux64-breakpad-injector + - linux64-minidump-stackwalk + - linux32-llvm-symbolizer + - linux64-pkgconf + - sysroot-i686-linux-gnu + - sysroot-x86_64-linux-gnu + sm-fuzzilli-linux64/debug: description: "Spidermonkey Fuzzilli debug" index: diff --git a/taskcluster/kinds/toolchain/llvm-symbolizer.yml b/taskcluster/kinds/toolchain/llvm-symbolizer.yml @@ -10,6 +10,30 @@ task-defaults: script: build-llvm-symbolizer.sh toolchain-artifact: public/build/llvm-symbolizer.tar.zst +linux32-llvm-symbolizer-19: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL32(llvm-symbolizer-19) + run: + arguments: + - i686-unknown-linux-gnu + - build/build-clang/clang-19.json + - build/build-clang/llvm-symbolizer-19.json + resources: + - build/build-clang/clang-19.json + - build/build-clang/llvm-symbolizer-19.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: linux32-llvm-symbolizer + fetches: + fetch: + - clang-19 + toolchain: + - linux64-clang-19-stage1 + - linux32-toolchain-sysroot + linux64-llvm-symbolizer-19: description: "llvm-symbolizer for Linux" treeherder: @@ -106,6 +130,26 @@ win64-llvm-symbolizer-19: - linux64-clang-19-stage1 - vs-toolchain +linux32-llvm-symbolizer-20: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL32(llvm-symbolizer-20) + run: + arguments: + - i686-unknown-linux-gnu + - build/build-clang/clang-20.json + - build/build-clang/llvm-symbolizer-19.json + resources: + - build/build-clang/clang-20.json + - build/build-clang/llvm-symbolizer-19.json + - taskcluster/scripts/misc/build-llvm-common.sh + fetches: + fetch: + - clang-20 + toolchain: + - linux64-clang-20-stage1 + - linux32-toolchain-sysroot + linux64-llvm-symbolizer-20: description: "llvm-symbolizer for Linux" treeherder: @@ -186,6 +230,32 @@ win64-llvm-symbolizer-20: - linux64-clang-20-stage1 - vs-toolchain +linux32-llvm-symbolizer-trunk: + description: "llvm-symbolizer for Linux" + attributes: + cached_task: false + treeherder: + symbol: TL32(llvm-symbolizer-trunk) + run: + arguments: + - i686-unknown-linux-gnu + - build/build-clang/clang-trunk.json + - build/build-clang/llvm-symbolizer-trunk.json + resources: + - build/build-clang/clang-trunk.json + - build/build-clang/llvm-symbolizer-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: linux32-llvm-symbolizer + default: null + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux32-toolchain-sysroot + linux64-llvm-symbolizer-trunk: description: "llvm-symbolizer for Linux" attributes: diff --git a/taskcluster/kinds/toolchain/sysroot.yml b/taskcluster/kinds/toolchain/sysroot.yml @@ -173,6 +173,23 @@ sysroot-aarch64-linux-gnu: arguments: - arm64 +linux32-toolchain-sysroot: + description: "Sysroot for linux32 toolchain builds" + worker: + env: + PACKAGES_TASKS: {task-reference: '<gcc-8>'} + GCC_VERSION: '8' + treeherder: + symbol: TL32(sysroot-toolchain) + dependencies: + gcc-8: packages-deb8-32-gcc-8 + run: + arguments: + - i386 + # For clang + - binutils-dev + - libxml2-dev + linux64-toolchain-sysroot: description: "Sysroot for linux64 toolchain builds" worker: