diff options
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | automation/taskcluster/graph/src/extend.js | 25 | ||||
-rw-r--r-- | automation/taskcluster/graph/src/try_syntax.js | 5 | ||||
-rw-r--r-- | coreconf/Darwin.mk | 3 | ||||
-rw-r--r-- | coreconf/Linux.mk | 4 | ||||
-rw-r--r-- | coreconf/arch.mk | 9 | ||||
-rw-r--r-- | coreconf/sanitizers.mk | 35 | ||||
-rwxr-xr-x | tests/all.sh | 1 |
8 files changed, 7 insertions, 84 deletions
@@ -96,15 +96,6 @@ NSPR_CONFIGURE_ENV := $(filter-out -arch x86_64,$(NSPR_CONFIGURE_ENV)) NSPR_CONFIGURE_ENV := $(filter-out -arch i386,$(NSPR_CONFIGURE_ENV)) NSPR_CONFIGURE_ENV := $(filter-out -arch ppc,$(NSPR_CONFIGURE_ENV)) -ifdef SANITIZER_CFLAGS -ifdef BUILD_OPT -NSPR_CONFIGURE_OPTS += --enable-debug-symbols -endif -NSPR_CONFIGURE_ENV += CFLAGS='$(SANITIZER_CFLAGS)' \ - CXXFLAGS='$(SANITIZER_CFLAGS)' \ - LDFLAGS='$(SANITIZER_LDFLAGS)' -endif - # # Some pwd commands on Windows (for example, the pwd # command in Cygwin) return a pathname that begins diff --git a/automation/taskcluster/graph/src/extend.js b/automation/taskcluster/graph/src/extend.js index 33ac17cb8..383c12397 100644 --- a/automation/taskcluster/graph/src/extend.js +++ b/automation/taskcluster/graph/src/extend.js @@ -18,8 +18,7 @@ const WINDOWS_CHECKOUT_CMD = queue.filter(task => { if (task.group == "Builds") { // Remove extra builds on {A,UB}San and ARM. - if (task.collection == "asan" || task.collection == "arm-debug" || - task.collection == "gyp-asan") { + if (task.collection == "asan" || task.collection == "arm-debug") { return false; } @@ -48,7 +47,7 @@ queue.filter(task => { } // GYP builds with -Ddisable_libpkix=1 by default. - if ((task.collection == "gyp" || task.collection == "gyp-asan") && + if ((task.collection == "gyp" || task.collection == "asan") && task.tests == "chains") { return false; } @@ -57,7 +56,7 @@ queue.filter(task => { }); queue.map(task => { - if (task.collection == "asan" || task.collection == "gyp-asan") { + if (task.collection == "asan") { // CRMF and FIPS tests still leak, unfortunately. if (task.tests == "crmf" || task.tests == "fips") { task.env.ASAN_OPTIONS = "detect_leaks=0"; @@ -118,7 +117,7 @@ export default async function main() { image: LINUX_IMAGE }); - await scheduleLinux("Linux 64 (debug, gyp, asan, ubsan)", { + await scheduleLinux("Linux 64 (GYP, ASan, debug)", { command: [ "/bin/bash", "-c", @@ -129,23 +128,7 @@ export default async function main() { NSS_DISABLE_ARENA_FREE_LIST: "1", NSS_DISABLE_UNLOAD: "1", CC: "clang", - CCC: "clang++" - }, - platform: "linux64", - collection: "gyp-asan", - image: LINUX_IMAGE - }); - - await scheduleLinux("Linux 64 (ASan, debug)", { - env: { - UBSAN_OPTIONS: "print_stacktrace=1", - NSS_DISABLE_ARENA_FREE_LIST: "1", - NSS_DISABLE_UNLOAD: "1", - CC: "clang", CCC: "clang++", - USE_UBSAN: "1", - USE_ASAN: "1", - USE_64: "1" }, platform: "linux64", collection: "asan", diff --git a/automation/taskcluster/graph/src/try_syntax.js b/automation/taskcluster/graph/src/try_syntax.js index a20ab24ef..80da83e3e 100644 --- a/automation/taskcluster/graph/src/try_syntax.js +++ b/automation/taskcluster/graph/src/try_syntax.js @@ -23,7 +23,7 @@ function parseOptions(opts) { // Parse platforms. let allPlatforms = ["linux", "linux64", "linux64-asan", "win64", "arm", - "linux64-gyp", "linux64-gyp-asan", "linux64-fuzz"]; + "linux64-gyp", "linux64-fuzz"]; let platforms = intersect(opts.platform.split(/\s*,\s*/), allPlatforms); // If the given value is nonsense or "none" default to all platforms. @@ -108,7 +108,6 @@ function filter(opts) { "linux64-asan": "linux64", "linux64-fuzz": "linux64", "linux64-gyp": "linux64", - "linux64-gyp-asan": "linux64", "win64": "windows2012-64", "arm": "linux32" }; @@ -123,8 +122,6 @@ function filter(opts) { keep &= coll("arm-opt") || coll("arm-debug"); } else if (platform == "linux64-gyp") { keep &= coll("gyp"); - } else if (platform == "linux64-gyp-asan") { - keep &= coll("gyp-asan"); } else if (platform == "linux64-fuzz") { keep &= coll("fuzz"); } else { diff --git a/coreconf/Darwin.mk b/coreconf/Darwin.mk index 210784767..0569e1819 100644 --- a/coreconf/Darwin.mk +++ b/coreconf/Darwin.mk @@ -145,6 +145,3 @@ ifeq (3,$(SYS_SQLITE3_VERSION_MAJOR)) NSS_USE_SYSTEM_SQLITE = 1 endif endif - -include $(CORE_DEPTH)/coreconf/sanitizers.mk -DARWIN_SDK_SHLIBFLAGS += $(SANITIZER_LDFLAGS) diff --git a/coreconf/Linux.mk b/coreconf/Linux.mk index fdb41b2ec..dde68c67c 100644 --- a/coreconf/Linux.mk +++ b/coreconf/Linux.mk @@ -147,9 +147,7 @@ DSO_LDOPTS = -shared $(ARCHFLAG) -Wl,--gc-sections # Also, -z defs conflicts with Address Sanitizer, which emits relocations # against the libsanitizer runtime built into the main executable. ZDEFS_FLAG = -Wl,-z,defs -ifneq ($(USE_ASAN),1) DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) -endif LDFLAGS += $(ARCHFLAG) # On Maemo, we need to use the -rpath-link flag for even the standard system @@ -209,5 +207,3 @@ OS_CFLAGS += --coverage LDFLAGS += --coverage DSO_LDOPTS += --coverage endif - -include $(CORE_DEPTH)/coreconf/sanitizers.mk diff --git a/coreconf/arch.mk b/coreconf/arch.mk index 18f9aacce..79e56d510 100644 --- a/coreconf/arch.mk +++ b/coreconf/arch.mk @@ -12,7 +12,7 @@ # OS_TARGET User defined, or set to OS_ARCH # CPU_ARCH (from unmame -m or -p, ONLY on WINNT) # OS_CONFIG OS_TARGET + OS_RELEASE -# OBJDIR_TAG (uses ASAN_TAG, GCOV_TAG, 64BIT_TAG) +# OBJDIR_TAG (uses GCOV_TAG, 64BIT_TAG) # OBJDIR_NAME ####################################################################### @@ -268,11 +268,6 @@ OS_CONFIG = $(OS_TARGET)$(OS_RELEASE) # to distinguish between debug and release builds. # -ifeq ($(USE_ASAN), 1) - ASAN_TAG = _ASAN -else - ASAN_TAG = -endif ifeq ($(USE_GCOV), 1) GCOV_TAG = _GCOV else @@ -283,7 +278,7 @@ ifeq ($(USE_64), 1) else 64BIT_TAG = endif -OBJDIR_TAG_BASE=$(ASAN_TAG)$(GCOV_TAG)$(64BIT_TAG) +OBJDIR_TAG_BASE=$(GCOV_TAG)$(64BIT_TAG) ifdef BUILD_OPT OBJDIR_TAG = $(OBJDIR_TAG_BASE)_OPT diff --git a/coreconf/sanitizers.mk b/coreconf/sanitizers.mk deleted file mode 100644 index 6fd728cf5..000000000 --- a/coreconf/sanitizers.mk +++ /dev/null @@ -1,35 +0,0 @@ -# Address Sanitizer support; include this in OS-specific .mk files -# *after* defining the variables that are appended to here. - -ifeq ($(USE_ASAN), 1) -SANITIZER_FLAGS_COMMON = -fsanitize=address - -ifeq ($(USE_UBSAN), 1) -SANITIZER_FLAGS_COMMON += -fsanitize=undefined -fno-sanitize-recover=undefined -endif - -ifeq ($(FUZZ), 1) -SANITIZER_FLAGS_COMMON += -fsanitize-coverage=edge -endif - -SANITIZER_FLAGS_COMMON += $(EXTRA_SANITIZER_FLAGS) -SANITIZER_CFLAGS = $(SANITIZER_FLAGS_COMMON) -SANITIZER_LDFLAGS = $(SANITIZER_FLAGS_COMMON) -OS_CFLAGS += $(SANITIZER_CFLAGS) -LDFLAGS += $(SANITIZER_LDFLAGS) - -# ASan needs frame pointers to save stack traces for allocation/free sites. -# (Warning: some platforms, like ARM Linux in Thumb mode, don't have useful -# frame pointers even with this option.) -SANITIZER_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls - -ifdef BUILD_OPT -# You probably want to be able to get debug info for failures, even with an -# optimized build. -OPTIMIZER += -g -else -# Try maintaining reasonable performance, ASan and UBSan slow things down. -OPTIMIZER += -O1 -endif - -endif diff --git a/tests/all.sh b/tests/all.sh index c1a974b84..3c1f4402b 100755 --- a/tests/all.sh +++ b/tests/all.sh @@ -62,7 +62,6 @@ # ------------------------------------------------------- # BUILT_OPT - use optimized/debug build # USE_64 - use 64bit/32bit build -# USE_ASAN - use Address Sanitizer build # # Optional environment variables to enable specific NSS features: # --------------------------------------------------------------- |