Module Name:    src
Committed By:   pooka
Date:           Fri Jun 20 11:57:56 UTC 2014

Modified Files:
        src/sys/rump: Makefile.rump

Log Message:
Some rump kernel components for interfacing with the environment need
to access both NetBSD kernel facilities and facilities provided by the
environment.

Where the environment's headers can be #included without namespace
conflict (which can be done - with care - for some Xen mini-os
headers), it is convenient to simply allow the rump kernel code to
call directly into the environment.

This also requires not mangling the symbol names.

So provide a variable RUMP_SYM_NORENAME which can be set by a component
namefile to a series of symbols or symbol prefixes (in makefile-quoted
awk regexp syntax).  For example, in the rumpuser-xen xenbus driver:
 RUMP_SYM_NORENAME=xenbus_|HYPERVISOR_|wake$$|block$$|schedule$$|force_evtchn

Signed-off-by: Ian Jackson <ian.jack...@eu.citrix.com>
(proposed on rumpkernel-users; very minor modification by myself)


To generate a diff of this commit:
cvs rdiff -u -r1.97 -r1.98 src/sys/rump/Makefile.rump

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/rump/Makefile.rump
diff -u src/sys/rump/Makefile.rump:1.97 src/sys/rump/Makefile.rump:1.98
--- src/sys/rump/Makefile.rump:1.97	Fri Apr 25 11:49:16 2014
+++ src/sys/rump/Makefile.rump	Fri Jun 20 11:57:56 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.rump,v 1.97 2014/04/25 11:49:16 pooka Exp $
+#	$NetBSD: Makefile.rump,v 1.98 2014/06/20 11:57:56 pooka Exp $
 #
 
 .if !defined(_RUMP_MK)
@@ -208,7 +208,7 @@ __archivebuild: .USE
 .endif
 	for renameobj in ${RUMP_SYMREN:U${.ALLSRC:C/(${RUMPOBJ_NORENAME:ts|})//g}}; do \
 		${NM} -go $${renameobj} | ${TOOL_AWK} ' \
-		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
+		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}'${RUMP_SYM_NORENAME:D|${RUMP_SYM_NORENAME}})/ \
 		      {s=$$NF;sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}'\
 		    | sort | uniq  > renametab.$${renameobj}; \
 		${OBJCOPY} --preserve-dates --redefine-syms \

Reply via email to