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:
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: