aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
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
parentce982312e888ff1fd9b869240951805d281f7517 (diff)
downloadglibc-3394d6320b96592d5a718100856e106736c8fcf1.zip
glibc-3394d6320b96592d5a718100856e106736c8fcf1.tar.gz
glibc-3394d6320b96592d5a718100856e106736c8fcf1.tar.bz2
[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')
-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 d6efca4..c6319f2 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 5451a30..e509908 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);