diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-10-14 17:20:58 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-10-14 17:20:58 +0000 |
commit | 3394d6320b96592d5a718100856e106736c8fcf1 (patch) | |
tree | da4cce44bf218a94411012e17a319c5cead7f50f /sysdeps/unix | |
parent | ce982312e888ff1fd9b869240951805d281f7517 (diff) | |
download | glibc-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.h | 22 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/ucontext_i.h | 32 |
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); |