summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h
blob: 88f774f0ad1b996c8ba8123e308c9f6cc352a270 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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);