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