about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-10-14 17:20:58 +0000
committerUlrich Drepper <drepper@redhat.com>2005-10-14 17:20:58 +0000
commit3394d6320b96592d5a718100856e106736c8fcf1 (patch)
treeda4cce44bf218a94411012e17a319c5cead7f50f /sysdeps/unix
parentce982312e888ff1fd9b869240951805d281f7517 (diff)
downloadglibc-3394d6320b96592d5a718100856e106736c8fcf1.tar.gz
glibc-3394d6320b96592d5a718100856e106736c8fcf1.tar.xz
glibc-3394d6320b96592d5a718100856e106736c8fcf1.zip
[BZ #1468]
	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: Fix values for
	oFPREGS, oSIGMASK, oFPREGSMEM, and oMXCSR.
	Patch by Nicholas Miell <nmiell@comcast.net>.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/i386/ucontext_i.h22
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/ucontext_i.h32
2 files changed, 48 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/ucontext_i.h b/sysdeps/unix/sysv/linux/i386/ucontext_i.h
index d6efca41b1..c6319f2391 100644
--- a/sysdeps/unix/sysv/linux/i386/ucontext_i.h
+++ b/sysdeps/unix/sysv/linux/i386/ucontext_i.h
@@ -1,6 +1,6 @@
 /* Offsets and other constants needed in the *context() function
    implementation.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005 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
@@ -39,3 +39,23 @@
 #define oFPREGS		96
 #define oSIGMASK	108
 #define oFPREGSMEM	236
+
+/* Tests run in stdlib/tst-ucontext-off.  */
+#define TESTS \
+  TEST (uc_link, oLINK);				\
+  TEST (uc_stack.ss_sp, oSS_SP);			\
+  TEST (uc_stack.ss_size, oSS_SIZE);			\
+  TEST (uc_mcontext.gregs[REG_GS], oGS);		\
+  TEST (uc_mcontext.gregs[REG_FS], oFS);		\
+  TEST (uc_mcontext.gregs[REG_EDI], oEDI);		\
+  TEST (uc_mcontext.gregs[REG_ESI], oESI);		\
+  TEST (uc_mcontext.gregs[REG_EBP], oEBP);		\
+  TEST (uc_mcontext.gregs[REG_ESP], oESP);		\
+  TEST (uc_mcontext.gregs[REG_EBX], oEBX);		\
+  TEST (uc_mcontext.gregs[REG_EDX], oEDX);		\
+  TEST (uc_mcontext.gregs[REG_ECX], oECX);		\
+  TEST (uc_mcontext.gregs[REG_EAX], oEAX);		\
+  TEST (uc_mcontext.gregs[REG_EIP], oEIP);		\
+  TEST (uc_mcontext.fpregs, oFPREGS);			\
+  TEST (uc_sigmask, oSIGMASK);				\
+  TEST (__fpregs_mem, oFPREGSMEM);
diff --git a/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h b/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h
index 5451a308ee..e5099084cf 100644
--- a/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h
+++ b/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h
@@ -1,6 +1,6 @@
 /* Offsets and other constants needed in the *context() function
    implementation for Linux/x86-64.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005 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
@@ -41,7 +41,29 @@
 #define oRAX		144
 #define oRCX		152
 #define oRIP		168
-#define oFPREGS		208
-#define oSIGMASK	280
-#define oFPREGSMEM	408
-#define oMXCSR		432
+#define oFPREGS		224
+#define oSIGMASK	296
+#define oFPREGSMEM	424
+#define oMXCSR		448
+
+/* Tests run in stdlib/tst-ucontext-off.  */
+#define TESTS \
+  TEST (uc_mcontext.gregs[REG_RBP], oRBP);				\
+  TEST (uc_mcontext.gregs[REG_RSP], oRSP);				\
+  TEST (uc_mcontext.gregs[REG_RBX], oRBX);				\
+  TEST (uc_mcontext.gregs[REG_R8], oR8);				\
+  TEST (uc_mcontext.gregs[REG_R9], oR9);				\
+  TEST (uc_mcontext.gregs[REG_R12], oR12);				\
+  TEST (uc_mcontext.gregs[REG_R13], oR13);				\
+  TEST (uc_mcontext.gregs[REG_R14], oR14);				\
+  TEST (uc_mcontext.gregs[REG_R15], oR15);				\
+  TEST (uc_mcontext.gregs[REG_RDI], oRDI);				\
+  TEST (uc_mcontext.gregs[REG_RSI], oRSI);				\
+  TEST (uc_mcontext.gregs[REG_RDX], oRDX);				\
+  TEST (uc_mcontext.gregs[REG_RAX], oRAX);				\
+  TEST (uc_mcontext.gregs[REG_RCX], oRCX);				\
+  TEST (uc_mcontext.gregs[REG_RIP], oRIP);				\
+  TEST (uc_mcontext.fpregs, oFPREGS);					\
+  TEST (uc_sigmask, oSIGMASK);						\
+  TEST (__fpregs_mem, oFPREGSMEM);					\
+  TEST (__fpregs_mem.mxcsr, oMXCSR);