diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-05-16 12:52:45 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-05-16 12:52:45 -0700 |
commit | d5e051198503e74256b72fee7b93e681f1de6b57 (patch) | |
tree | 10a14baafa13f30aa21f995b16acd50a7368af4d | |
parent | f62ee380a1007441e4600f837b9a40ec8c43ba2d (diff) | |
download | glibc-d5e051198503e74256b72fee7b93e681f1de6b57.tar.gz glibc-d5e051198503e74256b72fee7b93e681f1de6b57.tar.xz glibc-d5e051198503e74256b72fee7b93e681f1de6b57.zip |
Add x32 support to sys/ucontext.h
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h | 13 |
2 files changed, 15 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index 8d4506a579..738be2d85a 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/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. diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h b/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h index a397620589..7a3938cbcd 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h @@ -1,4 +1,4 @@ -/* 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 @@ -20,16 +20,15 @@ #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 @@ -127,7 +126,7 @@ typedef struct 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. */ @@ -141,7 +140,7 @@ typedef struct ucontext struct _libc_fpstate __fpregs_mem; } ucontext_t; -#else /* __WORDSIZE == 32 */ +#else /* !__x86_64__ */ /* Type for general register. */ typedef int greg_t; @@ -242,6 +241,6 @@ typedef struct ucontext struct _libc_fpstate __fpregs_mem; } ucontext_t; -#endif /* __WORDSIZE == 32 */ +#endif /* !__x86_64__ */ #endif /* sys/ucontext.h */ |