diff options
author | Roland McGrath <roland@gnu.org> | 2005-12-22 05:18:34 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2005-12-22 05:18:34 +0000 |
commit | 0c7c6d531f8514aaee236ab1388ed88c1c31a630 (patch) | |
tree | a049c3500bba177e7567307645d3eb0442fc4bd7 /sysdeps/unix/sysv/linux/x86_64 | |
parent | c72565e5f1124c2dc72573e83406fe999e56091f (diff) | |
download | glibc-0c7c6d531f8514aaee236ab1388ed88c1c31a630.tar.gz glibc-0c7c6d531f8514aaee236ab1388ed88c1c31a630.tar.xz glibc-0c7c6d531f8514aaee236ab1388ed88c1c31a630.zip |
* sysdeps/unix/sysv/linux/i386/ucontext_i.h: File removed.
* sysdeps/unix/sysv/linux/i386/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: File removed. * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h: File removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: File removed. * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: File removed. * sysdeps/unix/sysv/linux/s390/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.h: File removed. * sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h: File removed. * sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: File removed. * sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) = stdlib]: (gen-as-const-headers): Add it. * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise. * sysdeps/unix/sysv/linux/sh/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/Makefile: Likewise. * sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise. * stdlib/tst-ucontext-off.c: File removed. * stdlib/Makefile (tests): Remove it. * scripts/gen-as-const.awk: Support generating a test program. * Makerules [gen-as-const-headers] (tests): Add test-as-const. [gen-as-const-headers] ($(objpfx)test-as-const.c): New target.
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/Makefile | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/ucontext_i.h | 69 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym | 34 |
3 files changed, 38 insertions, 69 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/Makefile b/sysdeps/unix/sysv/linux/x86_64/Makefile index 627275db09..0f20367236 100644 --- a/sysdeps/unix/sysv/linux/x86_64/Makefile +++ b/sysdeps/unix/sysv/linux/x86_64/Makefile @@ -9,3 +9,7 @@ endif ifeq ($(subdir),stdlib) sysdep_routines += __start_context endif + +ifeq ($(subdir),stdlib) +gen-as-const-headers += ucontext_i.sym +endif diff --git a/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h b/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h deleted file mode 100644 index e5099084cf..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Offsets and other constants needed in the *context() function - implementation for Linux/x86-64. - 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define SIG_BLOCK 0 -#define SIG_SETMASK 2 - -/* Since we cannot include a header to define _NSIG/8, we define it - here. */ -#define _NSIG8 8 - -/* Offsets of the fields in the ucontext_t structure. */ -#define oRBP 120 -#define oRSP 160 -#define oRBX 128 -#define oR8 40 -#define oR9 48 -#define oR12 72 -#define oR13 80 -#define oR14 88 -#define oR15 96 -#define oRDI 104 -#define oRSI 112 -#define oRDX 136 -#define oRAX 144 -#define oRCX 152 -#define oRIP 168 -#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); diff --git a/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym b/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym new file mode 100644 index 0000000000..b3cfe9aa4c --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym @@ -0,0 +1,34 @@ +#include <stddef.h> +#include <signal.h> +#include <sys/ucontext.h> + +-- + +SIG_BLOCK +SIG_SETMASK + +_NSIG8 (_NSIG / 8) + +#define ucontext(member) offsetof (ucontext_t, member) +#define mcontext(member) ucontext (uc_mcontext.member) +#define mreg(reg) mcontext (gregs[REG_##reg]) + +oRBP mreg (RBP) +oRSP mreg (RSP) +oRBX mreg (RBX) +oR8 mreg (R8) +oR9 mreg (R9) +oR12 mreg (R12) +oR13 mreg (R13) +oR14 mreg (R14) +oR15 mreg (R15) +oRDI mreg (RDI) +oRSI mreg (RSI) +oRDX mreg (RDX) +oRAX mreg (RAX) +oRCX mreg (RCX) +oRIP mreg (RIP) +oFPREGS mcontext (fpregs) +oSIGMASK ucontext (uc_sigmask) +oFPREGSMEM ucontext (__fpregs_mem) +oMXCSR ucontext (__fpregs_mem.mxcsr) |