about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h')
-rw-r--r--sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h149
1 files changed, 149 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h b/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h
new file mode 100644
index 0000000000..88f774f0ad
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h
@@ -0,0 +1,149 @@
+/* Offsets and other constants needed in the *context() function
+   implementation.
+   Copyright (C) 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
+
+/* Offsets of the fields in the ucontext_t structure.  */
+#define oLINK		4
+#define oSS_SP		8
+#define oSS_SIZE	16
+#define oR0		24
+#define oR1		28
+#define oR2		32
+#define oR3		36
+#define oR4		40
+#define oR5		44
+#define oR6		48
+#define oR7		52
+#define oR8		56
+#define oR9		60
+#define oR10		64
+#define oR11		68
+#define oR12		72
+#define oR13		76
+#define oR14		80
+#define oR15		84
+#define oPC		88
+#define oPR		92
+#define oSR		96
+#define oGBR		100
+#define oMACH		104
+#define oMACL		108
+#define oFR0		112
+#define oFR1		116
+#define oFR2		120
+#define oFR3		124
+#define oFR4		128
+#define oFR5		132
+#define oFR6		136
+#define oFR7		140
+#define oFR8		144
+#define oFR9		148
+#define oFR10		152
+#define oFR11		156
+#define oFR12		160
+#define oFR13		164
+#define oFR14		168
+#define oFR15		172
+#define oXFR0		176
+#define oXFR1		180
+#define oXFR2		184
+#define oXFR3		188
+#define oXFR4		192
+#define oXFR5		196
+#define oXFR6		200
+#define oXFR7		204
+#define oXFR8		208
+#define oXFR9		212
+#define oXFR10		216
+#define oXFR11		220
+#define oXFR12		224
+#define oXFR13		228
+#define oXFR14		232
+#define oXFR15		236
+#define oFPSCR		240
+#define oFPUL		244
+#define oOWNEDFP	248
+#define oSIGMASK	252
+
+/* 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[R0], oR0);			\
+  TEST (uc_mcontext.gregs[R1], oR1);			\
+  TEST (uc_mcontext.gregs[R2], oR2);			\
+  TEST (uc_mcontext.gregs[R3], oR3);			\
+  TEST (uc_mcontext.gregs[R4], oR4);			\
+  TEST (uc_mcontext.gregs[R5], oR5);			\
+  TEST (uc_mcontext.gregs[R6], oR6);			\
+  TEST (uc_mcontext.gregs[R7], oR7);			\
+  TEST (uc_mcontext.gregs[R8], oR8);			\
+  TEST (uc_mcontext.gregs[R9], oR9);			\
+  TEST (uc_mcontext.gregs[R10], oR10);			\
+  TEST (uc_mcontext.gregs[R11], oR11);			\
+  TEST (uc_mcontext.gregs[R12], oR12);			\
+  TEST (uc_mcontext.gregs[R13], oR13);			\
+  TEST (uc_mcontext.gregs[R14], oR14);			\
+  TEST (uc_mcontext.gregs[R15], oR15);			\
+  TEST (uc_mcontext.pc, oPC);				\
+  TEST (uc_mcontext.pr, oPR);				\
+  TEST (uc_mcontext.sr, oSR);				\
+  TEST (uc_mcontext.gbr, oGBR);				\
+  TEST (uc_mcontext.mach, oMACH);			\
+  TEST (uc_mcontext.macl, oMACL);			\
+  TEST (uc_mcontext.fpregs[0], oFR0);			\
+  TEST (uc_mcontext.fpregs[1], oFR1);			\
+  TEST (uc_mcontext.fpregs[2], oFR2);			\
+  TEST (uc_mcontext.fpregs[3], oFR3);			\
+  TEST (uc_mcontext.fpregs[4], oFR4);			\
+  TEST (uc_mcontext.fpregs[5], oFR5);			\
+  TEST (uc_mcontext.fpregs[6], oFR6);			\
+  TEST (uc_mcontext.fpregs[7], oFR7);			\
+  TEST (uc_mcontext.fpregs[8], oFR8);			\
+  TEST (uc_mcontext.fpregs[9], oFR9);			\
+  TEST (uc_mcontext.fpregs[10], oFR10);			\
+  TEST (uc_mcontext.fpregs[11], oFR11);			\
+  TEST (uc_mcontext.fpregs[12], oFR12);			\
+  TEST (uc_mcontext.fpregs[13], oFR13);			\
+  TEST (uc_mcontext.fpregs[14], oFR14);			\
+  TEST (uc_mcontext.fpregs[15], oFR15);			\
+  TEST (uc_mcontext.xfpregs[0], oXFR0);			\
+  TEST (uc_mcontext.xfpregs[1], oXFR1);			\
+  TEST (uc_mcontext.xfpregs[2], oXFR2);			\
+  TEST (uc_mcontext.xfpregs[3], oXFR3);			\
+  TEST (uc_mcontext.xfpregs[4], oXFR4);			\
+  TEST (uc_mcontext.xfpregs[5], oXFR5);			\
+  TEST (uc_mcontext.xfpregs[6], oXFR6);			\
+  TEST (uc_mcontext.xfpregs[7], oXFR7);			\
+  TEST (uc_mcontext.xfpregs[8], oXFR8);			\
+  TEST (uc_mcontext.xfpregs[9], oXFR9);			\
+  TEST (uc_mcontext.xfpregs[10], oXFR10);		\
+  TEST (uc_mcontext.xfpregs[11], oXFR11);		\
+  TEST (uc_mcontext.xfpregs[12], oXFR12);		\
+  TEST (uc_mcontext.xfpregs[13], oXFR13);		\
+  TEST (uc_mcontext.xfpregs[14], oXFR14);		\
+  TEST (uc_mcontext.xfpregs[15], oXFR15);		\
+  TEST (uc_mcontext.fpscr, oFPSCR);			\
+  TEST (uc_mcontext.fpul, oFPUL);			\
+  TEST (uc_mcontext.ownedfp, oOWNEDFP);			\
+  TEST (uc_sigmask, oSIGMASK);