Module Name:    src
Committed By:   njoly
Date:           Mon Jun  8 11:46:07 UTC 2009

Modified Files:
        src/sys/compat/linux/arch/alpha: linux_siginfo.h
        src/sys/compat/linux/arch/amd64: linux_siginfo.h
        src/sys/compat/linux/arch/arm: linux_siginfo.h

Log Message:
Various compat linux siginfo fixes.
- alpha: add missing _uid member to SIGCHLD structure.
- amd64: add missing typedef, and fix padding size.
- arm: add missing linux_siginfo definition.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/compat/linux/arch/alpha/linux_siginfo.h
cvs rdiff -u -r1.5 -r1.6 src/sys/compat/linux/arch/amd64/linux_siginfo.h
cvs rdiff -u -r1.1 -r1.2 src/sys/compat/linux/arch/arm/linux_siginfo.h

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

Modified files:

Index: src/sys/compat/linux/arch/alpha/linux_siginfo.h
diff -u src/sys/compat/linux/arch/alpha/linux_siginfo.h:1.5 src/sys/compat/linux/arch/alpha/linux_siginfo.h:1.6
--- src/sys/compat/linux/arch/alpha/linux_siginfo.h:1.5	Sun Nov 23 23:48:48 2008
+++ src/sys/compat/linux/arch/alpha/linux_siginfo.h	Mon Jun  8 11:46:06 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux_siginfo.h,v 1.5 2008/11/23 23:48:48 njoly Exp $	*/
+/*	$NetBSD: linux_siginfo.h,v 1.6 2009/06/08 11:46:06 njoly Exp $	*/
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -69,6 +69,7 @@
 		/* SIGCHLD */
 		struct {
 			linux_pid_t	_pid;
+			linux_uid_t	_uid;
 			int		_status;
 			linux_clock_t	_utime;
 			linux_clock_t	_stime;

Index: src/sys/compat/linux/arch/amd64/linux_siginfo.h
diff -u src/sys/compat/linux/arch/amd64/linux_siginfo.h:1.5 src/sys/compat/linux/arch/amd64/linux_siginfo.h:1.6
--- src/sys/compat/linux/arch/amd64/linux_siginfo.h:1.5	Wed May 27 12:20:37 2009
+++ src/sys/compat/linux/arch/amd64/linux_siginfo.h	Mon Jun  8 11:46:07 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux_siginfo.h,v 1.5 2009/05/27 12:20:37 njoly Exp $ */
+/*	$NetBSD: linux_siginfo.h,v 1.6 2009/06/08 11:46:07 njoly Exp $ */
 
 /*-
  * Copyright (c) 2005 Emmanuel Dreyfus, all rights reserved.
@@ -34,7 +34,7 @@
 #ifndef _AMD64_LINUX_SIGINFO_H
 #define _AMD64_LINUX_SIGINFO_H
 
-#define LINUX___ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
+#define LINUX___ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
 #define LINUX_SI_MAX_SIZE 128
 #define LINUX_SI_PAD_SIZE \
     ((LINUX_SI_MAX_SIZE - LINUX___ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
@@ -45,7 +45,7 @@
 } linux_sigval_t;
 
 
-struct linux_siginfo {
+typedef struct linux_siginfo {
 	int lsi_signo;
 	int lsi_errno;
 	int lsi_code;

Index: src/sys/compat/linux/arch/arm/linux_siginfo.h
diff -u src/sys/compat/linux/arch/arm/linux_siginfo.h:1.1 src/sys/compat/linux/arch/arm/linux_siginfo.h:1.2
--- src/sys/compat/linux/arch/arm/linux_siginfo.h:1.1	Mon Jan 14 23:14:39 2002
+++ src/sys/compat/linux/arch/arm/linux_siginfo.h	Mon Jun  8 11:46:07 2009
@@ -1 +1,88 @@
-/*	$NetBSD: linux_siginfo.h,v 1.1 2002/01/14 23:14:39 bjh21 Exp $	*/
+/*	$NetBSD: linux_siginfo.h,v 1.2 2009/06/08 11:46:07 njoly Exp $	*/
+
+/*-
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Eric Haszlakiewicz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _ARM_LINUX_SIGINFO_H
+#define _ARM_LINUX_SIGINFO_H
+
+typedef union linux_sigval {
+	int	sival_int;
+	void	*sival_ptr;
+} linux_sigval_t;
+
+#define SI_MAX_SIZE	128
+#define SI_PAD_SIZE	((SI_MAX_SIZE/sizeof(int)) - 3)
+
+typedef struct linux_siginfo {
+	int	lsi_signo;
+	int	lsi_errno;
+	int	lsi_code;
+	union {
+		int	_pad[SI_PAD_SIZE];
+
+		/* kill() */
+		struct {
+			linux_pid_t	_pid;
+			linux_uid_t	_uid;
+		} _kill;
+
+		/* POSIX.1b signals */
+		struct {
+			linux_pid_t	_pid;
+			linux_uid_t	_uid;
+			linux_sigval_t	_sigval;
+		} _rt;
+
+		/* POSIX.1b timers */
+		struct {
+			unsigned int	_timer1;
+			unsigned int	_timer2;
+		} _timer;
+
+		/* SIGCHLD */
+		struct {
+			linux_pid_t	_pid;
+			linux_uid_t	_uid;
+			int		_status;
+			linux_clock_t	_utime;
+			linux_clock_t	_stime;
+		} _sigchld;
+
+		/* SIGPOLL */
+		struct {
+			int		_band;
+			int		_fd;
+		} _sigpoll;
+
+		/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
+		struct {
+			void		*_addr;
+		} _sigfault;
+	} _sidata;
+} linux_siginfo_t;
+
+#endif /* !_ARM_LINUX_SIGINFO_H */

Reply via email to