enable jemalloc debugging in unoptimized builds
The performance hit from these checks is significant, but unoptimized builds are already incredibly slow. Enabling these checks results in better test coverage since there are bots doing unoptimized builds, and the cost is relatively small in the context of an unoptimized build. This also allows using `JEMALLOC_FLAGS` to override the default configure flags.
This commit is contained in:
parent
4067252def
commit
1ee099da36
|
@ -65,6 +65,7 @@
|
||||||
#
|
#
|
||||||
# * `VERBOSE=1` - Print all commands. Use this to see what's going on.
|
# * `VERBOSE=1` - Print all commands. Use this to see what's going on.
|
||||||
# * `RUSTFLAGS=...` - Add compiler flags to all `rustc` invocations
|
# * `RUSTFLAGS=...` - Add compiler flags to all `rustc` invocations
|
||||||
|
# * `JEMALLOC_FLAGS=...` - Pass flags to jemalloc's configure script
|
||||||
#
|
#
|
||||||
# * `TESTNAME=...` - Specify the name of tests to run
|
# * `TESTNAME=...` - Specify the name of tests to run
|
||||||
# * `CHECK_IGNORED=1` - Run normally-ignored tests
|
# * `CHECK_IGNORED=1` - Run normally-ignored tests
|
||||||
|
|
|
@ -90,15 +90,19 @@ endif
|
||||||
CFG_RUSTC_FLAGS := $(RUSTFLAGS)
|
CFG_RUSTC_FLAGS := $(RUSTFLAGS)
|
||||||
CFG_GCCISH_CFLAGS :=
|
CFG_GCCISH_CFLAGS :=
|
||||||
CFG_GCCISH_LINK_FLAGS :=
|
CFG_GCCISH_LINK_FLAGS :=
|
||||||
|
CFG_JEMALLOC_FLAGS :=
|
||||||
|
|
||||||
ifdef CFG_DISABLE_OPTIMIZE
|
ifdef CFG_DISABLE_OPTIMIZE
|
||||||
$(info cfg: disabling rustc optimization (CFG_DISABLE_OPTIMIZE))
|
$(info cfg: disabling rustc optimization (CFG_DISABLE_OPTIMIZE))
|
||||||
CFG_RUSTC_FLAGS +=
|
CFG_RUSTC_FLAGS +=
|
||||||
|
CFG_JEMALLOC_FLAGS += --enable-debug
|
||||||
else
|
else
|
||||||
# The rtopt cfg turns off runtime sanity checks
|
# The rtopt cfg turns off runtime sanity checks
|
||||||
CFG_RUSTC_FLAGS += -O --cfg rtopt
|
CFG_RUSTC_FLAGS += -O --cfg rtopt
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CFG_JEMALLOC_FLAGS += $(JEMALLOC_FLAGS)
|
||||||
|
|
||||||
ifdef CFG_DISABLE_DEBUG
|
ifdef CFG_DISABLE_DEBUG
|
||||||
CFG_RUSTC_FLAGS += --cfg ndebug
|
CFG_RUSTC_FLAGS += --cfg ndebug
|
||||||
CFG_GCCISH_CFLAGS += -DRUST_NDEBUG
|
CFG_GCCISH_CFLAGS += -DRUST_NDEBUG
|
||||||
|
|
2
mk/rt.mk
2
mk/rt.mk
|
@ -301,7 +301,7 @@ JEMALLOC_LOCAL_$(1) := $$(JEMALLOC_BUILD_DIR_$(1))/lib/$$(JEMALLOC_REAL_NAME_$(1
|
||||||
$$(JEMALLOC_LOCAL_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
|
$$(JEMALLOC_LOCAL_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
|
||||||
@$$(call E, make: jemalloc)
|
@$$(call E, make: jemalloc)
|
||||||
cd "$$(JEMALLOC_BUILD_DIR_$(1))"; "$(S)src/jemalloc/configure" \
|
cd "$$(JEMALLOC_BUILD_DIR_$(1))"; "$(S)src/jemalloc/configure" \
|
||||||
$$(JEMALLOC_ARGS_$(1)) --with-jemalloc-prefix=je_ \
|
$$(JEMALLOC_ARGS_$(1)) --with-jemalloc-prefix=je_ $(CFG_JEMALLOC_FLAGS) \
|
||||||
--build=$(CFG_BUILD) --host=$(1) \
|
--build=$(CFG_BUILD) --host=$(1) \
|
||||||
CC="$$(CC_$(1))" \
|
CC="$$(CC_$(1))" \
|
||||||
AR="$$(AR_$(1))" \
|
AR="$$(AR_$(1))" \
|
||||||
|
|
Loading…
Reference in New Issue