Add x32 support to x86_64/bits/msq.h
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 16 May 2012 18:45:19 +0000 (11:45 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 16 May 2012 18:45:19 +0000 (11:45 -0700)
ChangeLog
sysdeps/unix/sysv/linux/x86_64/bits/msq.h

index f395055..2c13f35 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * sysdeps/unix/sysv/linux/x86_64/bits/msq.h: Don't include
+       <bits/wordsize.h>.
+       (msgqnum_t): Use __syscall_ulong_t.
+       (msglen_t): Likewise.
+       (msqid_ds): Check __x86_64__ instead of __WORDSIZE.  Use
+       __syscall_ulong_t.
+
+2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
+
        * sysdeps/unix/sysv/linux/x86_64/bits/a.out.h: Don't include
        <bits/wordsize.h>.  Check __x86_64__ instead of __WORDSIZE.
 
index 8389107..7f23500 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,6 @@
 #endif
 
 #include <bits/types.h>
-#include <bits/wordsize.h>
 
 /* Define options for message queue functions.  */
 #define MSG_NOERROR    010000  /* no error if message is too big */
@@ -29,8 +28,8 @@
 #endif
 
 /* Types used in the structure definition.  */
-typedef unsigned long int msgqnum_t;
-typedef unsigned long int msglen_t;
+typedef __syscall_ulong_t msgqnum_t;
+typedef __syscall_ulong_t msglen_t;
 
 /* Structure of record for one message inside the kernel.
    The type `struct msg' is opaque.  */
@@ -38,24 +37,24 @@ struct msqid_ds
 {
   struct ipc_perm msg_perm;    /* structure describing operation permission */
   __time_t msg_stime;          /* time of last msgsnd command */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
   unsigned long int __unused1;
 #endif
   __time_t msg_rtime;          /* time of last msgrcv command */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
   unsigned long int __unused2;
 #endif
   __time_t msg_ctime;          /* time of last change */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
   unsigned long int __unused3;
 #endif
-  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
   msgqnum_t msg_qnum;          /* number of messages currently on queue */
   msglen_t msg_qbytes;         /* max number of bytes allowed on queue */
   __pid_t msg_lspid;           /* pid of last msgsnd() */
   __pid_t msg_lrpid;           /* pid of last msgrcv() */
-  unsigned long int __unused4;
-  unsigned long int __unused5;
+  __syscall_ulong_t __unused4;
+  __syscall_ulong_t __unused5;
 };
 
 #ifdef __USE_MISC