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);
|