aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-16 11:48:54 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-16 11:48:54 -0700
commit5762f7aeff67505c9f939f47ef7df18d813f4c04 (patch)
treea26a1fec88e997288b60c7910af2ed744281f1d2
parenta26b68566485e96ef8f8bdc71d229d4c6d709ad5 (diff)
downloadglibc-5762f7aeff67505c9f939f47ef7df18d813f4c04.zip
glibc-5762f7aeff67505c9f939f47ef7df18d813f4c04.tar.gz
glibc-5762f7aeff67505c9f939f47ef7df18d813f4c04.tar.bz2
Add x32 support to x86_64/bits/shm.h
-rw-r--r--ChangeLog9
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/shm.h43
2 files changed, 30 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index efdbdd5..28ca2d1 100644
--- 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/shm.h (shmatt_t): Use
+ __syscall_ulong_t.
+ (shmid_ds): Add __unused1 and __unused2 only if __x86_64__ isn't
+ defined. Use __syscall_ulong_t.
+ (shminfo): Use __syscall_ulong_t.
+ (shm_info): Likewise.
+
+2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/unix/sysv/linux/x86_64/bits/sem.h (semid_ds): Use
__syscall_ulong_t.
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/shm.h b/sysdeps/unix/sysv/linux/x86_64/bits/shm.h
index d95d544..cba25ed 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/shm.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/shm.h
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 2000, 2002, 2004, 2009
- 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
@@ -44,7 +43,7 @@ extern int __getpagesize (void) __THROW __attribute__ ((__const__));
/* Type to count number of attaches. */
-typedef unsigned long int shmatt_t;
+typedef __syscall_ulong_t shmatt_t;
/* Data structure describing a shared memory segment. */
struct shmid_ds
@@ -52,22 +51,22 @@ struct shmid_ds
struct ipc_perm shm_perm; /* operation permission struct */
size_t shm_segsz; /* size of segment in bytes */
__time_t shm_atime; /* time of last shmat() */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused1;
#endif
__time_t shm_dtime; /* time of last shmdt() */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused2;
#endif
__time_t shm_ctime; /* time of last change by shmctl() */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused3;
#endif
__pid_t shm_cpid; /* pid of creator */
__pid_t shm_lpid; /* pid of last shmop */
shmatt_t shm_nattch; /* number of current attaches */
- unsigned long int __unused4;
- unsigned long int __unused5;
+ __syscall_ulong_t __unused4;
+ __syscall_ulong_t __unused5;
};
#ifdef __USE_MISC
@@ -84,25 +83,25 @@ struct shmid_ds
struct shminfo
{
- unsigned long int shmmax;
- unsigned long int shmmin;
- unsigned long int shmmni;
- unsigned long int shmseg;
- unsigned long int shmall;
- unsigned long int __unused1;
- unsigned long int __unused2;
- unsigned long int __unused3;
- unsigned long int __unused4;
+ __syscall_ulong_t shmmax;
+ __syscall_ulong_t shmmin;
+ __syscall_ulong_t shmmni;
+ __syscall_ulong_t shmseg;
+ __syscall_ulong_t shmall;
+ __syscall_ulong_t __unused1;
+ __syscall_ulong_t __unused2;
+ __syscall_ulong_t __unused3;
+ __syscall_ulong_t __unused4;
};
struct shm_info
{
int used_ids;
- unsigned long int shm_tot; /* total allocated shm */
- unsigned long int shm_rss; /* total resident shm */
- unsigned long int shm_swp; /* total swapped shm */
- unsigned long int swap_attempts;
- unsigned long int swap_successes;
+ __syscall_ulong_t shm_tot; /* total allocated shm */
+ __syscall_ulong_t shm_rss; /* total resident shm */
+ __syscall_ulong_t shm_swp; /* total swapped shm */
+ __syscall_ulong_t swap_attempts;
+ __syscall_ulong_t swap_successes;
};
#endif /* __USE_MISC */