Module Name:    src
Committed By:   pooka
Date:           Wed Jul 23 11:41:34 UTC 2014

Modified Files:
        src/sys/kern: makesyscalls.sh

Log Message:
In the RUMP_KERNEL_IS_LIBC case, account for WEAKASM, i.e. create a
_sys_foo strong alias, and _foo and foo weak aliases.  This actually
treats all syscalls as WEAKASM, but it's probably(?) harmless, and saves
us from manual work a la libc.  Fixes at least pthread_cancelstub.


To generate a diff of this commit:
cvs rdiff -u -r1.143 -r1.144 src/sys/kern/makesyscalls.sh

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

Modified files:

Index: src/sys/kern/makesyscalls.sh
diff -u src/sys/kern/makesyscalls.sh:1.143 src/sys/kern/makesyscalls.sh:1.144
--- src/sys/kern/makesyscalls.sh:1.143	Sun May 18 21:25:44 2014
+++ src/sys/kern/makesyscalls.sh	Wed Jul 23 11:41:34 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: makesyscalls.sh,v 1.143 2014/05/18 21:25:44 justin Exp $
+#	$NetBSD: makesyscalls.sh,v 1.144 2014/07/23 11:41:34 pooka Exp $
 #
 # Copyright (c) 1994, 1996, 2000 Christopher G. Demetriou
 # All rights reserved.
@@ -256,8 +256,9 @@ NR == 1 {
 
 	printf "#ifdef RUMP_KERNEL_IS_LIBC\n" > rumpcalls
 	printf "#define rsys_aliases(what,where) \\\n" > rumpcalls
-	printf "\t__strong_alias(what,where); \\\n" > rumpcalls
-	printf "\t__strong_alias(_##what,where);\n" > rumpcalls
+	printf "\t__weak_alias(what,where); \\\n" > rumpcalls
+	printf "\t__weak_alias(_##what,where); \\\n" > rumpcalls
+	printf "\t__strong_alias(_sys_##what,where);\n" > rumpcalls
 	printf "#else\n#define rsys_aliases(a,b)\n#endif\n\n" > rumpcalls
 
 	printf "#if\tBYTE_ORDER == BIG_ENDIAN\n" > rumpcalls

Reply via email to