Module Name: src Committed By: pooka Date: Tue Feb 22 10:33:12 UTC 2011
Modified Files: src/sys/kern: makesyscalls.sh Log Message: Use the whole contents of rval instead of just rval[0] for rump syscall return. Fixes at least lseek() on various architectures in various ways. To generate a diff of this commit: cvs rdiff -u -r1.112 -r1.113 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.112 src/sys/kern/makesyscalls.sh:1.113 --- src/sys/kern/makesyscalls.sh:1.112 Mon Feb 21 23:30:12 2011 +++ src/sys/kern/makesyscalls.sh Tue Feb 22 10:33:12 2011 @@ -1,5 +1,5 @@ #! /bin/sh - -# $NetBSD: makesyscalls.sh,v 1.112 2011/02/21 23:30:12 pooka Exp $ +# $NetBSD: makesyscalls.sh,v 1.113 2011/02/22 10:33:12 pooka Exp $ # # Copyright (c) 1994, 1996, 2000 Christopher G. Demetriou # All rights reserved. @@ -815,10 +815,12 @@ argarg, argsize) > rumpcalls if (type != "NOERR") { printf("\trsys_seterrno(error);\n") > rumpcalls - printf("\tif (error) {\n\t\trval[0] = -1;\n\t}\n") > rumpcalls + printf("\tif (error) {\n") > rumpcalls + printf("\t\t*(%s *)rval = (%s)-1;\n\t}\n", \ + returntype, returntype) > rumpcalls } if (returntype != "void") { - printf("\treturn rval[0];\n") > rumpcalls + printf("\treturn *(%s *)rval;\n", returntype) > rumpcalls } printf("}\n") > rumpcalls printf("rsys_alias(%s%s,rump_enosys)\n", \