summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86_64
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-12-27 14:48:14 +0000
committerJakub Jelinek <jakub@redhat.com>2005-12-27 14:48:14 +0000
commit64cd3e83c9993f3c1a3c24ea3030a22ccf35e12d (patch)
tree8808fad08bb8677b0e0d2158c65096eae5484767 /sysdeps/unix/sysv/linux/x86_64
parente3173d2c996d8e30dfe44e9bf530881da6df6aaa (diff)
Updated to fedora-glibc-20051227T1426
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/ucontext_i.h69
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym34
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)