Turn MALLOC_PRODUCTION into a regular src.conf(5) option
For historical reasons, defining MALLOC_PRODUCTION in /etc/make.conf has been used to turn off potentially expensive debug checks and statistics gathering in the implementation of malloc(3). It seems more consistent to turn this into a regular src.conf(5) option, e.g. WITH_MALLOC_PRODUCTION / WITHOUT_MALLOC_PRODUCTION. This can then be toggled similar to any other source build option, and turned on or off by default for e.g. stable branches. Reviewed by: imp, #manpages MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26337
This commit is contained in:
parent
12cb97fb37
commit
7d4374f65f
6
UPDATING
6
UPDATING
@ -22,9 +22,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
|
||||
debugging flags in userland, and various verbose features in the
|
||||
kernel. Many developers choose to disable these features on build
|
||||
machines to maximize performance. (To completely disable malloc
|
||||
debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely
|
||||
disable the most expensive debugging functionality run
|
||||
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
||||
debugging, define WITH_MALLOC_PRODUCTION in /etc/src.conf and rebuild
|
||||
world, or to merely disable the most expensive debugging functionality
|
||||
at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
||||
|
||||
20200824:
|
||||
OpenZFS support has been integrated. Do not upgrade root pools until
|
||||
|
@ -14,7 +14,7 @@ index 7fecda7c..d5ca5e86 100644
|
||||
+ <option>--with-malloc-conf=abort_conf:false</option>.
|
||||
+ Additionally, <option>--enable-debug</option> is enabled in development
|
||||
+ versions of FreeBSD (controlled by the
|
||||
+ <constant>MALLOC_PRODUCTION</constant> make variable).</para>
|
||||
+ <constant>MK_MALLOC_PRODUCTION</constant> make variable).</para>
|
||||
+
|
||||
</refsect1>
|
||||
<refsynopsisdiv>
|
||||
|
@ -43,7 +43,7 @@ The following configuration options are enabled in libc\*(Aqs built\-in jemalloc
|
||||
\fB\-\-with\-malloc\-conf=abort_conf:false\fR\&. Additionally,
|
||||
\fB\-\-enable\-debug\fR
|
||||
is enabled in development versions of FreeBSD (controlled by the
|
||||
\fBMALLOC_PRODUCTION\fR
|
||||
\fBMK_MALLOC_PRODUCTION\fR
|
||||
make variable)\&.
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
|
@ -45,6 +45,6 @@ MLINKS+= \
|
||||
jemalloc.3 nallocx.3 \
|
||||
jemalloc.3 malloc.conf.5
|
||||
|
||||
.if defined(MALLOC_PRODUCTION)
|
||||
.if ${MK_MALLOC_PRODUCTION} != "no"
|
||||
CFLAGS+= -DMALLOC_PRODUCTION
|
||||
.endif
|
||||
|
@ -401,12 +401,6 @@ console driver to
|
||||
and allow access over FireWire(IEEE1394) using
|
||||
.Xr dconschat 8 .
|
||||
Currently, only i386 and amd64 are supported.
|
||||
.It Va MALLOC_PRODUCTION
|
||||
.Pq Vt bool
|
||||
Set this to disable assertions and statistics gathering in
|
||||
.Xr malloc 3 .
|
||||
It also defaults the A and J runtime options to off.
|
||||
Disabled by default on -CURRENT.
|
||||
.It Va MAN_ARCH
|
||||
.Pq Vt str
|
||||
Space-delimited list of one or more MACHINE and/or MACHINE_ARCH values
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
|
||||
.\" $FreeBSD$
|
||||
.Dd July 6, 2020
|
||||
.Dd September 5, 2020
|
||||
.Dt SRC.CONF 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -1104,6 +1104,11 @@ if executed as an unprivileged user.
|
||||
See
|
||||
.Xr tests 7
|
||||
for more details.
|
||||
.It Va WITH_MALLOC_PRODUCTION
|
||||
Set to disable assertions and statistics gathering in
|
||||
.Xr malloc 3 .
|
||||
It also defaults the A and J runtime options to off.
|
||||
Disabled by default on -CURRENT.
|
||||
.It Va WITHOUT_MAN
|
||||
Set to not build manual pages.
|
||||
When set, these options are also in effect:
|
||||
@ -1278,12 +1283,12 @@ Enable building openldap support for kerberos.
|
||||
Set to not build LLVM's OpenMP runtime.
|
||||
.Pp
|
||||
This is a default setting on
|
||||
arm/armv6, arm/armv7, arm64/aarch64, mips/mips, mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
|
||||
arm/armv6, arm/armv7, mips/mips, mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
|
||||
.It Va WITH_OPENMP
|
||||
Set to build LLVM's OpenMP runtime.
|
||||
.Pp
|
||||
This is a default setting on
|
||||
amd64/amd64, i386/i386 and powerpc/powerpc64.
|
||||
amd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
|
||||
.It Va WITHOUT_OPENSSH
|
||||
Set to not build OpenSSH.
|
||||
.It Va WITHOUT_OPENSSL
|
||||
|
@ -213,6 +213,7 @@ __DEFAULT_NO_OPTIONS = \
|
||||
LOADER_FORCE_LE \
|
||||
LOADER_VERBOSE \
|
||||
LOADER_VERIEXEC_PASS_MANIFEST \
|
||||
MALLOC_PRODUCTION \
|
||||
OFED_EXTRA \
|
||||
OPENLDAP \
|
||||
REPRODUCIBLE_BUILD \
|
||||
|
5
tools/build/options/WITHOUT_MALLOC_PRODUCTION
Normal file
5
tools/build/options/WITHOUT_MALLOC_PRODUCTION
Normal file
@ -0,0 +1,5 @@
|
||||
.\" $FreeBSD$
|
||||
Set to enable assertions and statistics gathering in
|
||||
.Xr malloc 3 .
|
||||
It also defaults the A and J runtime options to on.
|
||||
Enabled by default on -CURRENT.
|
5
tools/build/options/WITH_MALLOC_PRODUCTION
Normal file
5
tools/build/options/WITH_MALLOC_PRODUCTION
Normal file
@ -0,0 +1,5 @@
|
||||
.\" $FreeBSD$
|
||||
Set to disable assertions and statistics gathering in
|
||||
.Xr malloc 3 .
|
||||
It also defaults the A and J runtime options to off.
|
||||
Disabled by default on -CURRENT.
|
Loading…
Reference in New Issue
Block a user