about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-03-20 08:57:27 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-27 07:30:57 -0700
commit583e98e694712679fd6d9cc686b25435f9dea07b (patch)
treecf2b2b989ca236ca0e3005d92e746f07a0407989
parent7430340bb04b575b9dfede6b475a8bfb70b4be59 (diff)
downloadglibc-583e98e694712679fd6d9cc686b25435f9dea07b.tar.gz
glibc-583e98e694712679fd6d9cc686b25435f9dea07b.tar.xz
glibc-583e98e694712679fd6d9cc686b25435f9dea07b.zip
Use long long int on __jmp_buf only for x32
2012-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/bits/setjmp.h: Include <bits/wordsize.h>.
	(__jmp_buf): Use long long int for x32.
-rw-r--r--ChangeLog.x325
-rw-r--r--sysdeps/x86_64/bits/setjmp.h6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 92fec41a03..e6aaf5ece9 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,3 +1,8 @@
+2012-03-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/x86_64/bits/setjmp.h: Include <bits/wordsize.h>.
+	(__jmp_buf): Use long long int for x32.
+
 2012-03-19  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/i386/bits/byteswap.h: Include <features.h>.
diff --git a/sysdeps/x86_64/bits/setjmp.h b/sysdeps/x86_64/bits/setjmp.h
index 72cfd65fed..3f6f2fedb8 100644
--- a/sysdeps/x86_64/bits/setjmp.h
+++ b/sysdeps/x86_64/bits/setjmp.h
@@ -24,9 +24,13 @@
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
+#include <bits/wordsize.h>
+
 #ifndef _ASM
 
-# if __x86_64__
+# if __WORDSIZE == 64
+typedef long int __jmp_buf[8];
+# elif defined  __x86_64__
 typedef long long int __jmp_buf[8];
 # else
 typedef int __jmp_buf[6];