Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-6]: src/sys/compat/linux32 Pull up following revision(s) (request...
details: https://anonhg.NetBSD.org/src/rev/0b41c2199741
branches: netbsd-6
changeset: 774127:0b41c2199741
user: riz <riz%NetBSD.org@localhost>
date: Sat May 19 15:19:42 2012 +0000
description:
Pull up following revision(s) (requested by christos in ticket #263):
sys/compat/linux32/arch/amd64/linux32_syscallargs.h: revision 1.66
sys/compat/linux32/arch/amd64/syscalls.master: revision 1.61
sys/compat/linux32/common/linux32_signal.c: revision 1.16
sys/compat/linux32/arch/amd64/linux32_syscall.h: revision 1.66
sys/compat/linux32/arch/amd64/linux32_sysent.c: revision 1.66
sys/compat/linux32/arch/amd64/linux32_syscalls.c: revision 1.66
regen
Fix rt_sigtimedwait():
It is wishful thinking that:
1. declaring a 32 bit syscall with 64 bit pointers
2. passing a struct with 32 bit pointers to a 64 bit function
is going to work.
diffstat:
sys/compat/linux32/arch/amd64/linux32_syscall.h | 6 +++---
sys/compat/linux32/arch/amd64/linux32_syscallargs.h | 10 +++++-----
sys/compat/linux32/arch/amd64/linux32_syscalls.c | 6 +++---
sys/compat/linux32/arch/amd64/linux32_sysent.c | 6 +++---
sys/compat/linux32/arch/amd64/syscalls.master | 8 ++++----
sys/compat/linux32/common/linux32_signal.c | 11 ++++++++---
6 files changed, 26 insertions(+), 21 deletions(-)
diffs (151 lines):
diff -r 23eafeccde8b -r 0b41c2199741 sys/compat/linux32/arch/amd64/linux32_syscall.h
--- a/sys/compat/linux32/arch/amd64/linux32_syscall.h Sat May 19 15:06:03 2012 +0000
+++ b/sys/compat/linux32/arch/amd64/linux32_syscall.h Sat May 19 15:19:42 2012 +0000
@@ -1,10 +1,10 @@
-/* $NetBSD: linux32_syscall.h,v 1.65 2011/11/18 04:20:16 christos Exp $ */
+/* $NetBSD: linux32_syscall.h,v 1.65.6.1 2012/05/19 15:19:42 riz Exp $ */
/*
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.60 2011/11/18 04:08:56 christos Exp
+ * created from NetBSD: syscalls.master,v 1.61 2012/05/10 19:40:46 christos Exp
*/
#ifndef _LINUX32_SYS_SYSCALL_H_
@@ -445,7 +445,7 @@
/* syscall: "rt_sigpending" ret: "int" args: "linux32_sigsetp_t" "netbsd32_size_t" */
#define LINUX32_SYS_rt_sigpending 176
-/* syscall: "rt_sigtimedwait" ret: "int" args: "const linux32_sigset_t *" "linux32_siginfo_t *" "const struct linux_timespec32 *" */
+/* syscall: "rt_sigtimedwait" ret: "int" args: "const linux32_sigsetp_t" "linux32_siginfop_t" "const linux32_timespecp_t" */
#define LINUX32_SYS_rt_sigtimedwait 177
/* syscall: "rt_queueinfo" ret: "int" args: "int" "int" "linux32_siginfop_t" */
diff -r 23eafeccde8b -r 0b41c2199741 sys/compat/linux32/arch/amd64/linux32_syscallargs.h
--- a/sys/compat/linux32/arch/amd64/linux32_syscallargs.h Sat May 19 15:06:03 2012 +0000
+++ b/sys/compat/linux32/arch/amd64/linux32_syscallargs.h Sat May 19 15:19:42 2012 +0000
@@ -1,10 +1,10 @@
-/* $NetBSD: linux32_syscallargs.h,v 1.65 2011/11/18 04:20:16 christos Exp $ */
+/* $NetBSD: linux32_syscallargs.h,v 1.65.6.1 2012/05/19 15:19:42 riz Exp $ */
/*
* System call argument lists.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.60 2011/11/18 04:08:56 christos Exp
+ * created from NetBSD: syscalls.master,v 1.61 2012/05/10 19:40:46 christos Exp
*/
#ifndef _LINUX32_SYS_SYSCALLARGS_H_
@@ -605,9 +605,9 @@
check_syscall_args(linux32_sys_rt_sigpending)
struct linux32_sys_rt_sigtimedwait_args {
- syscallarg(const linux32_sigset_t *) set;
- syscallarg(linux32_siginfo_t *) info;
- syscallarg(const struct linux_timespec32 *) timeout;
+ syscallarg(const linux32_sigsetp_t) set;
+ syscallarg(linux32_siginfop_t) info;
+ syscallarg(const linux32_timespecp_t) timeout;
};
check_syscall_args(linux32_sys_rt_sigtimedwait)
diff -r 23eafeccde8b -r 0b41c2199741 sys/compat/linux32/arch/amd64/linux32_syscalls.c
--- a/sys/compat/linux32/arch/amd64/linux32_syscalls.c Sat May 19 15:06:03 2012 +0000
+++ b/sys/compat/linux32/arch/amd64/linux32_syscalls.c Sat May 19 15:19:42 2012 +0000
@@ -1,14 +1,14 @@
-/* $NetBSD: linux32_syscalls.c,v 1.65 2011/11/18 04:20:16 christos Exp $ */
+/* $NetBSD: linux32_syscalls.c,v 1.65.6.1 2012/05/19 15:19:43 riz Exp $ */
/*
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.60 2011/11/18 04:08:56 christos Exp
+ * created from NetBSD: syscalls.master,v 1.61 2012/05/10 19:40:46 christos Exp
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.65 2011/11/18 04:20:16 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.65.6.1 2012/05/19 15:19:43 riz Exp $");
#if defined(_KERNEL_OPT)
#include <sys/param.h>
diff -r 23eafeccde8b -r 0b41c2199741 sys/compat/linux32/arch/amd64/linux32_sysent.c
--- a/sys/compat/linux32/arch/amd64/linux32_sysent.c Sat May 19 15:06:03 2012 +0000
+++ b/sys/compat/linux32/arch/amd64/linux32_sysent.c Sat May 19 15:19:42 2012 +0000
@@ -1,14 +1,14 @@
-/* $NetBSD: linux32_sysent.c,v 1.65 2011/11/18 04:20:16 christos Exp $ */
+/* $NetBSD: linux32_sysent.c,v 1.65.6.1 2012/05/19 15:19:43 riz Exp $ */
/*
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.60 2011/11/18 04:08:56 christos Exp
+ * created from NetBSD: syscalls.master,v 1.61 2012/05/10 19:40:46 christos Exp
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.65 2011/11/18 04:20:16 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.65.6.1 2012/05/19 15:19:43 riz Exp $");
#include <sys/param.h>
#include <sys/poll.h>
diff -r 23eafeccde8b -r 0b41c2199741 sys/compat/linux32/arch/amd64/syscalls.master
--- a/sys/compat/linux32/arch/amd64/syscalls.master Sat May 19 15:06:03 2012 +0000
+++ b/sys/compat/linux32/arch/amd64/syscalls.master Sat May 19 15:19:42 2012 +0000
@@ -1,4 +1,4 @@
- $NetBSD: syscalls.master,v 1.60 2011/11/18 04:08:56 christos Exp $
+ $NetBSD: syscalls.master,v 1.60.6.1 2012/05/19 15:19:42 riz Exp $
; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
@@ -318,9 +318,9 @@
176 STD { int|linux32_sys||rt_sigpending(linux32_sigsetp_t set, \
netbsd32_size_t sigsetsize); }
177 STD { int|linux32_sys||rt_sigtimedwait( \
- const linux32_sigset_t *set, \
- linux32_siginfo_t *info, \
- const struct linux_timespec32 *timeout); }
+ const linux32_sigsetp_t set, \
+ linux32_siginfop_t info, \
+ const linux32_timespecp_t timeout); }
178 STD { int|linux32_sys||rt_queueinfo(int pid, int sig, \
linux32_siginfop_t uinfo); }
179 STD { int|linux32_sys||rt_sigsuspend(linux32_sigsetp_t unewset, \
diff -r 23eafeccde8b -r 0b41c2199741 sys/compat/linux32/common/linux32_signal.c
--- a/sys/compat/linux32/common/linux32_signal.c Sat May 19 15:06:03 2012 +0000
+++ b/sys/compat/linux32/common/linux32_signal.c Sat May 19 15:19:42 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_signal.c,v 1.15 2011/11/18 15:46:29 christos Exp $ */
+/* $NetBSD: linux32_signal.c,v 1.15.6.1 2012/05/19 15:19:43 riz Exp $ */
/*-
* Copyright (c) 2006 Emmanuel Dreyfus, all rights reserved.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_signal.c,v 1.15 2011/11/18 15:46:29 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_signal.c,v 1.15.6.1 2012/05/19 15:19:43 riz Exp $");
#include <sys/param.h>
#include <sys/ucred.h>
@@ -484,8 +484,13 @@
syscallarg(linux32_siginfo_t *) info);
syscallarg(const struct linux32_timespec *) timeout;
} */
+ struct sys_____sigtimedwait50_args ap;
- return sigtimedwait1(l, (const struct sys_____sigtimedwait50_args *)uap,
+ SCARG(&ap, set) = SCARG_P32(uap, set);
+ SCARG(&ap, info) = SCARG_P32(uap, info);
+ SCARG(&ap, timeout) = SCARG_P32(uap, timeout);
+
+ return sigtimedwait1(l, &ap,
retval, fetchss, storeinfo, fetchts, fakestorets);
}
Home |
Main Index |
Thread Index |
Old Index