Fix dev_t alignment, by not using the new 64bit value directly but

rather a 32bit aligned version (netbsd32_dev_t = netbsd32_uint64).

ok by cube@.
This commit is contained in:
njoly 2009-03-16 20:48:13 +00:00
parent 3cb7f28bc2
commit 0f21bb4a22
3 changed files with 11 additions and 10 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: netbsd32.h,v 1.81 2009/01/28 00:43:04 njoly Exp $ */
/* $NetBSD: netbsd32.h,v 1.82 2009/03/16 20:48:13 njoly Exp $ */
/*
* Copyright (c) 1998, 2001, 2008 Matthew R. Green
@ -158,6 +158,7 @@ typedef netbsd32_pointer_t netbsd32_lwpctlp;
typedef netbsd32_pointer_t netbsd32_fd_setp_t;
typedef netbsd32_intptr_t netbsd32_semid_t;
typedef netbsd32_pointer_t netbsd32_semidp_t;
typedef netbsd32_uint64 netbsd32_dev_t;
/* from <sys/uio.h> */
typedef netbsd32_pointer_t netbsd32_iovecp_t;
@ -594,13 +595,13 @@ struct netbsd32_omsghdr {
/* from <sys/stat.h> */
typedef netbsd32_pointer_t netbsd32_stat12p_t;
struct netbsd32_stat12 { /* NetBSD-1.2 stat struct */
dev_t st_dev; /* inode's device */
uint32_t st_dev; /* inode's device */
uint32_t st_ino; /* inode's number */
uint16_t st_mode; /* inode protection mode */
uint16_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of the file's owner */
gid_t st_gid; /* group ID of the file's group */
dev_t st_rdev; /* device type */
uint32_t st_rdev; /* device type */
struct netbsd32_timespec st_atimespec;/* time of last access */
struct netbsd32_timespec st_mtimespec;/* time of last data modification */
struct netbsd32_timespec st_ctimespec;/* time of last file status change */
@ -676,13 +677,13 @@ struct netbsd32_stat50 {
typedef netbsd32_pointer_t netbsd32_statp_t;
struct netbsd32_stat {
dev_t st_dev; /* inode's device */
netbsd32_dev_t st_dev; /* inode's device */
mode_t st_mode; /* inode protection mode */
netbsd32_uint64 st_ino; /* inode's number */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of the file's owner */
gid_t st_gid; /* group ID of the file's group */
dev_t st_rdev; /* device type */
netbsd32_dev_t st_rdev; /* device type */
struct netbsd32_timespec st_atimespec;/* time of last access */
struct netbsd32_timespec st_mtimespec;/* time of last data modification */
struct netbsd32_timespec st_ctimespec;/* time of last file status change */

View File

@ -1,4 +1,4 @@
/* $NetBSD: netbsd32_netbsd.c,v 1.155 2009/03/04 18:11:24 skrll Exp $ */
/* $NetBSD: netbsd32_netbsd.c,v 1.156 2009/03/16 20:48:13 njoly Exp $ */
/*
* Copyright (c) 1998, 2001, 2008 Matthew R. Green
@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.155 2009/03/04 18:11:24 skrll Exp $");
__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.156 2009/03/16 20:48:13 njoly Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ddb.h"
@ -323,7 +323,7 @@ netbsd32___mknod50(struct lwp *l, const struct netbsd32___mknod50_args *uap, reg
/* {
syscallarg(const netbsd32_charp) path;
syscallarg(mode_t) mode;
syscallarg(dev_t) dev;
syscallarg(netbsd32_dev_t) dev;
} */
return do_sys_mknod(l, SCARG_P32(uap, path), SCARG(uap, mode),

View File

@ -1,4 +1,4 @@
$NetBSD: syscalls.master,v 1.78 2009/02/26 21:08:48 christos Exp $
$NetBSD: syscalls.master,v 1.79 2009/03/16 20:48:13 njoly Exp $
; from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@ -984,6 +984,6 @@
netbsd32_intp status, \
int options, netbsd32_rusagep_t rusage); }
450 STD { int|netbsd32|50|mknod(const netbsd32_charp path, \
mode_t mode, dev_t dev); }
mode_t mode, netbsd32_dev_t dev); }
451 STD { int|netbsd32|50|fhstat(const netbsd32_voidp fhp, \
netbsd32_size_t fh_size, netbsd32_statp_t sb); }