Module Name: src
Committed By: kamil
Date: Wed Jul 25 23:30:22 UTC 2018
Modified Files:
src/share/mk: bsd.README
Log Message:
Document MKLIBCSANITIZER in bsd.README
It's a special kind of a sanitizer inside libc.
To generate a diff of this commit:
cvs rdiff -u -r1.380 -r1.381 src/share/mk/bsd.README
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/mk/bsd.README
diff -u src/share/mk/bsd.README:1.380 src/share/mk/bsd.README:1.381
--- src/share/mk/bsd.README:1.380 Wed Jul 25 19:15:19 2018
+++ src/share/mk/bsd.README Wed Jul 25 23:30:22 2018
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.README,v 1.380 2018/07/25 19:15:19 kamil Exp $
+# $NetBSD: bsd.README,v 1.381 2018/07/25 23:30:22 kamil Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
@@ -276,6 +276,28 @@ MKLDAP If "no", disables building of LD
(libraries and support programs).
Default: yes
+MKLIBCSANITIZER If "yes", use the selected sanitizer inside libc to compile
+ userland programs and libraries as defined in
+ USE_LIBCSANITIZER, which defaults to "undefined".
+
+ The undefined behavior detector is currently the only supported
+ sanitizer in this mode. Its runtime differs from the UBSan
+ available in MKSANITIZER, and it is reimplemented from scratch
+ as micro-UBSan in the user mode (uUBSan). Its code is shared
+ with the kernel mode variation (kUBSan). The runtime is
+ stripped down from C++ features, in particular -fsanitize=vptr
+ is not supported and explicitly disabled. The only runtime
+ configuration is restricted to the LIBC_UBSAN environment
+ variable, that is designed to be safe for hardening.
+
+ The USE_LIBCSANITIZER value is passed to the -fsanitize=
+ argument to the compiler in CFLAGS and CXXFLAGS, but not in
+ LDFLAGS, as the runtime part is located inside libc.
+
+ Additional sanitizer arguments can be passed through
+ LIBCSANITIZERFLAGS.
+ Default: no
+
MKLIBCXX If not "no", build and install libc++.
Default: no