Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/mk Add a framework for renaming symbols in libc&co for...
details: https://anonhg.NetBSD.org/src/rev/104f7a63c61a
branches: trunk
changeset: 320187:104f7a63c61a
user: kamil <kamil%NetBSD.org@localhost>
date: Mon Jun 25 17:58:36 2018 +0000
description:
Add a framework for renaming symbols in libc&co for MKSANITIZER
A new keyword SANITIZER_RENAME_SYMBOL. It's a variable that has specified
a list of symbols to be renamed in a processor in order to remove naming
conflicts with public symbols in libc/m/pthread/rt.
This renaming will occur for libraries and programs.
A symbol with a conflicting 'name', will be renamed to '__mksanitizer_name'.
Based on an idea by <christos>
diffstat:
share/mk/bsd.lib.mk | 10 +++++++++-
share/mk/bsd.prog.mk | 9 ++++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
diffs (45 lines):
diff -r c4641ac27e1e -r 104f7a63c61a share/mk/bsd.lib.mk
--- a/share/mk/bsd.lib.mk Mon Jun 25 17:42:34 2018 +0000
+++ b/share/mk/bsd.lib.mk Mon Jun 25 17:58:36 2018 +0000
@@ -1,9 +1,17 @@
-# $NetBSD: bsd.lib.mk,v 1.375 2018/06/21 11:24:38 kamil Exp $
+# $NetBSD: bsd.lib.mk,v 1.376 2018/06/25 17:58:36 kamil Exp $
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
.include <bsd.init.mk>
.include <bsd.shlib.mk>
.include <bsd.gcc.mk>
+
+# Rename the local function definitions to not conflict with libc/rt/pthread/m.
+.if ${MKSANITIZER:Uno} == "yes" && defined(SANITIZER_RENAME_SYMBOL)
+. for _symbol in ${SANITIZER_RENAME_SYMBOL}
+CPPFLAGS+= -D${_symbol}=__mksanitizer_${_symbol}
+. endfor
+.endif
+
# Pull in <bsd.sys.mk> here so we can override its .c.o rule
.include <bsd.sys.mk>
diff -r c4641ac27e1e -r 104f7a63c61a share/mk/bsd.prog.mk
--- a/share/mk/bsd.prog.mk Mon Jun 25 17:42:34 2018 +0000
+++ b/share/mk/bsd.prog.mk Mon Jun 25 17:58:36 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prog.mk,v 1.314 2018/06/21 11:24:38 kamil Exp $
+# $NetBSD: bsd.prog.mk,v 1.315 2018/06/25 17:58:36 kamil Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.ifndef HOSTPROG
@@ -13,6 +13,13 @@
CXXFLAGS+= ${SANITIZERFLAGS}
LDFLAGS+= ${SANITIZERFLAGS}
+# Rename the local function definitions to not conflict with libc/rt/pthread/m.
+.if ${MKSANITIZER:Uno} == "yes" && defined(SANITIZER_RENAME_SYMBOL)
+. for _symbol in ${SANITIZER_RENAME_SYMBOL}
+CPPFLAGS+= -D${_symbol}=__mksanitizer_${_symbol}
+. endfor
+.endif
+
#
# Definitions and targets shared among all programs built by a single
# Makefile.
Home |
Main Index |
Thread Index |
Old Index