2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Don't
+ include <bits/wordsize.h>. Check __x86_64__ instead of
+ __WORDSIZE.
+ (greg_t): Use "__extension__ long long int" if __x86_64__ is
+ defined.
+ (mcontext_t): Replace "unsigned long" with "unsigned long long".
+
+2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/unix/sysv/linux/x86_64/sys/user.h: Don't
include <bits/wordsize.h>. Check __x86_64__ instead of
__WORDSIZE.
-/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2001-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
#include <features.h>
#include <signal.h>
-#include <bits/wordsize.h>
/* We need the signal context definitions even if they are not used
included in <signal.h>. */
#include <bits/sigcontext.h>
-#if __WORDSIZE == 64
+#ifdef __x86_64__
/* Type for general register. */
-typedef long int greg_t;
+__extension__ typedef long long int greg_t;
/* Number of general registers. */
#define NGREG 23
gregset_t gregs;
/* Note that fpregs is a pointer. */
fpregset_t fpregs;
- unsigned long __reserved1 [8];
+ __extension__ unsigned long long __reserved1 [8];
} mcontext_t;
/* Userlevel context. */
struct _libc_fpstate __fpregs_mem;
} ucontext_t;
-#else /* __WORDSIZE == 32 */
+#else /* !__x86_64__ */
/* Type for general register. */
typedef int greg_t;
struct _libc_fpstate __fpregs_mem;
} ucontext_t;
-#endif /* __WORDSIZE == 32 */
+#endif /* !__x86_64__ */
#endif /* sys/ucontext.h */