_UPT_reg_offset.c revision 3842dac7333e42aa44531eda34ba55200b99ccf8
1/* libunwind - a platform-independent unwind library
2   Copyright (C) 2003-2004 Hewlett-Packard Co
3	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4
5This file is part of libunwind.
6
7Permission is hereby granted, free of charge, to any person obtaining
8a copy of this software and associated documentation files (the
9"Software"), to deal in the Software without restriction, including
10without limitation the rights to use, copy, modify, merge, publish,
11distribute, sublicense, and/or sell copies of the Software, and to
12permit persons to whom the Software is furnished to do so, subject to
13the following conditions:
14
15The above copyright notice and this permission notice shall be
16included in all copies or substantial portions of the Software.
17
18THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
25
26#include "_UPT_internal.h"
27
28#ifdef HAVE_ASM_PTRACE_OFFSETS_H
29# include <asm/ptrace_offsets.h>
30#endif
31
32int _UPT_reg_offset[UNW_REG_LAST + 1] =
33  {
34#ifdef HAVE_ASM_PTRACE_OFFSETS_H
35# ifndef PT_AR_CSD
36#  define PT_AR_CSD	-1	/* this was introduced with rev 2.1 of ia64 */
37# endif
38
39    [UNW_IA64_GR +  0]	= -1,		[UNW_IA64_GR +  1]	= PT_R1,
40    [UNW_IA64_GR +  2]	= PT_R2,	[UNW_IA64_GR +  3]	= PT_R3,
41    [UNW_IA64_GR +  4]	= PT_R4,	[UNW_IA64_GR +  5]	= PT_R5,
42    [UNW_IA64_GR +  6]	= PT_R6,	[UNW_IA64_GR +  7]	= PT_R7,
43    [UNW_IA64_GR +  8]	= PT_R8,	[UNW_IA64_GR +  9]	= PT_R9,
44    [UNW_IA64_GR + 10]	= PT_R10,	[UNW_IA64_GR + 11]	= PT_R11,
45    [UNW_IA64_GR + 12]	= PT_R12,	[UNW_IA64_GR + 13]	= PT_R13,
46    [UNW_IA64_GR + 14]	= PT_R14,	[UNW_IA64_GR + 15]	= PT_R15,
47    [UNW_IA64_GR + 16]	= PT_R16,	[UNW_IA64_GR + 17]	= PT_R17,
48    [UNW_IA64_GR + 18]	= PT_R18,	[UNW_IA64_GR + 19]	= PT_R19,
49    [UNW_IA64_GR + 20]	= PT_R20,	[UNW_IA64_GR + 21]	= PT_R21,
50    [UNW_IA64_GR + 22]	= PT_R22,	[UNW_IA64_GR + 23]	= PT_R23,
51    [UNW_IA64_GR + 24]	= PT_R24,	[UNW_IA64_GR + 25]	= PT_R25,
52    [UNW_IA64_GR + 26]	= PT_R26,	[UNW_IA64_GR + 27]	= PT_R27,
53    [UNW_IA64_GR + 28]	= PT_R28,	[UNW_IA64_GR + 29]	= PT_R29,
54    [UNW_IA64_GR + 30]	= PT_R30,	[UNW_IA64_GR + 31]	= PT_R31,
55
56    [UNW_IA64_NAT+  0]	= -1,		[UNW_IA64_NAT+  1]	= PT_NAT_BITS,
57    [UNW_IA64_NAT+  2]	= PT_NAT_BITS,	[UNW_IA64_NAT+  3]	= PT_NAT_BITS,
58    [UNW_IA64_NAT+  4]	= PT_NAT_BITS,	[UNW_IA64_NAT+  5]	= PT_NAT_BITS,
59    [UNW_IA64_NAT+  6]	= PT_NAT_BITS,	[UNW_IA64_NAT+  7]	= PT_NAT_BITS,
60    [UNW_IA64_NAT+  8]	= PT_NAT_BITS,	[UNW_IA64_NAT+  9]	= PT_NAT_BITS,
61    [UNW_IA64_NAT+ 10]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 11]	= PT_NAT_BITS,
62    [UNW_IA64_NAT+ 12]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 13]	= PT_NAT_BITS,
63    [UNW_IA64_NAT+ 14]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 15]	= PT_NAT_BITS,
64    [UNW_IA64_NAT+ 16]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 17]	= PT_NAT_BITS,
65    [UNW_IA64_NAT+ 18]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 19]	= PT_NAT_BITS,
66    [UNW_IA64_NAT+ 20]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 21]	= PT_NAT_BITS,
67    [UNW_IA64_NAT+ 22]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 23]	= PT_NAT_BITS,
68    [UNW_IA64_NAT+ 24]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 25]	= PT_NAT_BITS,
69    [UNW_IA64_NAT+ 26]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 27]	= PT_NAT_BITS,
70    [UNW_IA64_NAT+ 28]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 29]	= PT_NAT_BITS,
71    [UNW_IA64_NAT+ 30]	= PT_NAT_BITS,	[UNW_IA64_NAT+ 31]	= PT_NAT_BITS,
72
73    [UNW_IA64_FR +  0]	= -1,		[UNW_IA64_FR +  1]	= -1,
74    [UNW_IA64_FR +  2]	= PT_F2,	[UNW_IA64_FR +  3]	= PT_F3,
75    [UNW_IA64_FR +  4]	= PT_F4,	[UNW_IA64_FR +  5]	= PT_F5,
76    [UNW_IA64_FR +  6]	= PT_F6,	[UNW_IA64_FR +  7]	= PT_F7,
77    [UNW_IA64_FR +  8]	= PT_F8,	[UNW_IA64_FR +  9]	= PT_F9,
78    [UNW_IA64_FR + 10]	= PT_F10,	[UNW_IA64_FR + 11]	= PT_F11,
79    [UNW_IA64_FR + 12]	= PT_F12,	[UNW_IA64_FR + 13]	= PT_F13,
80    [UNW_IA64_FR + 14]	= PT_F14,	[UNW_IA64_FR + 15]	= PT_F15,
81    [UNW_IA64_FR + 16]	= PT_F16,	[UNW_IA64_FR + 17]	= PT_F17,
82    [UNW_IA64_FR + 18]	= PT_F18,	[UNW_IA64_FR + 19]	= PT_F19,
83    [UNW_IA64_FR + 20]	= PT_F20,	[UNW_IA64_FR + 21]	= PT_F21,
84    [UNW_IA64_FR + 22]	= PT_F22,	[UNW_IA64_FR + 23]	= PT_F23,
85    [UNW_IA64_FR + 24]	= PT_F24,	[UNW_IA64_FR + 25]	= PT_F25,
86    [UNW_IA64_FR + 26]	= PT_F26,	[UNW_IA64_FR + 27]	= PT_F27,
87    [UNW_IA64_FR + 28]	= PT_F28,	[UNW_IA64_FR + 29]	= PT_F29,
88    [UNW_IA64_FR + 30]	= PT_F30,	[UNW_IA64_FR + 31]	= PT_F31,
89    [UNW_IA64_FR + 32]	= PT_F32,	[UNW_IA64_FR + 33]	= PT_F33,
90    [UNW_IA64_FR + 34]	= PT_F34,	[UNW_IA64_FR + 35]	= PT_F35,
91    [UNW_IA64_FR + 36]	= PT_F36,	[UNW_IA64_FR + 37]	= PT_F37,
92    [UNW_IA64_FR + 38]	= PT_F38,	[UNW_IA64_FR + 39]	= PT_F39,
93    [UNW_IA64_FR + 40]	= PT_F40,	[UNW_IA64_FR + 41]	= PT_F41,
94    [UNW_IA64_FR + 42]	= PT_F42,	[UNW_IA64_FR + 43]	= PT_F43,
95    [UNW_IA64_FR + 44]	= PT_F44,	[UNW_IA64_FR + 45]	= PT_F45,
96    [UNW_IA64_FR + 46]	= PT_F46,	[UNW_IA64_FR + 47]	= PT_F47,
97    [UNW_IA64_FR + 48]	= PT_F48,	[UNW_IA64_FR + 49]	= PT_F49,
98    [UNW_IA64_FR + 50]	= PT_F50,	[UNW_IA64_FR + 51]	= PT_F51,
99    [UNW_IA64_FR + 52]	= PT_F52,	[UNW_IA64_FR + 53]	= PT_F53,
100    [UNW_IA64_FR + 54]	= PT_F54,	[UNW_IA64_FR + 55]	= PT_F55,
101    [UNW_IA64_FR + 56]	= PT_F56,	[UNW_IA64_FR + 57]	= PT_F57,
102    [UNW_IA64_FR + 58]	= PT_F58,	[UNW_IA64_FR + 59]	= PT_F59,
103    [UNW_IA64_FR + 60]	= PT_F60,	[UNW_IA64_FR + 61]	= PT_F61,
104    [UNW_IA64_FR + 62]	= PT_F62,	[UNW_IA64_FR + 63]	= PT_F63,
105    [UNW_IA64_FR + 64]	= PT_F64,	[UNW_IA64_FR + 65]	= PT_F65,
106    [UNW_IA64_FR + 66]	= PT_F66,	[UNW_IA64_FR + 67]	= PT_F67,
107    [UNW_IA64_FR + 68]	= PT_F68,	[UNW_IA64_FR + 69]	= PT_F69,
108    [UNW_IA64_FR + 70]	= PT_F70,	[UNW_IA64_FR + 71]	= PT_F71,
109    [UNW_IA64_FR + 72]	= PT_F72,	[UNW_IA64_FR + 73]	= PT_F73,
110    [UNW_IA64_FR + 74]	= PT_F74,	[UNW_IA64_FR + 75]	= PT_F75,
111    [UNW_IA64_FR + 76]	= PT_F76,	[UNW_IA64_FR + 77]	= PT_F77,
112    [UNW_IA64_FR + 78]	= PT_F78,	[UNW_IA64_FR + 79]	= PT_F79,
113    [UNW_IA64_FR + 80]	= PT_F80,	[UNW_IA64_FR + 81]	= PT_F81,
114    [UNW_IA64_FR + 82]	= PT_F82,	[UNW_IA64_FR + 83]	= PT_F83,
115    [UNW_IA64_FR + 84]	= PT_F84,	[UNW_IA64_FR + 85]	= PT_F85,
116    [UNW_IA64_FR + 86]	= PT_F86,	[UNW_IA64_FR + 87]	= PT_F87,
117    [UNW_IA64_FR + 88]	= PT_F88,	[UNW_IA64_FR + 89]	= PT_F89,
118    [UNW_IA64_FR + 90]	= PT_F90,	[UNW_IA64_FR + 91]	= PT_F91,
119    [UNW_IA64_FR + 92]	= PT_F92,	[UNW_IA64_FR + 93]	= PT_F93,
120    [UNW_IA64_FR + 94]	= PT_F94,	[UNW_IA64_FR + 95]	= PT_F95,
121    [UNW_IA64_FR + 96]	= PT_F96,	[UNW_IA64_FR + 97]	= PT_F97,
122    [UNW_IA64_FR + 98]	= PT_F98,	[UNW_IA64_FR + 99]	= PT_F99,
123    [UNW_IA64_FR +100]	= PT_F100,	[UNW_IA64_FR +101]	= PT_F101,
124    [UNW_IA64_FR +102]	= PT_F102,	[UNW_IA64_FR +103]	= PT_F103,
125    [UNW_IA64_FR +104]	= PT_F104,	[UNW_IA64_FR +105]	= PT_F105,
126    [UNW_IA64_FR +106]	= PT_F106,	[UNW_IA64_FR +107]	= PT_F107,
127    [UNW_IA64_FR +108]	= PT_F108,	[UNW_IA64_FR +109]	= PT_F109,
128    [UNW_IA64_FR +110]	= PT_F110,	[UNW_IA64_FR +111]	= PT_F111,
129    [UNW_IA64_FR +112]	= PT_F112,	[UNW_IA64_FR +113]	= PT_F113,
130    [UNW_IA64_FR +114]	= PT_F114,	[UNW_IA64_FR +115]	= PT_F115,
131    [UNW_IA64_FR +116]	= PT_F116,	[UNW_IA64_FR +117]	= PT_F117,
132    [UNW_IA64_FR +118]	= PT_F118,	[UNW_IA64_FR +119]	= PT_F119,
133    [UNW_IA64_FR +120]	= PT_F120,	[UNW_IA64_FR +121]	= PT_F121,
134    [UNW_IA64_FR +122]	= PT_F122,	[UNW_IA64_FR +123]	= PT_F123,
135    [UNW_IA64_FR +124]	= PT_F124,	[UNW_IA64_FR +125]	= PT_F125,
136    [UNW_IA64_FR +126]	= PT_F126,	[UNW_IA64_FR +127]	= PT_F127,
137
138    [UNW_IA64_AR +  0]	= -1,		[UNW_IA64_AR +  1]	= -1,
139    [UNW_IA64_AR +  2]	= -1,		[UNW_IA64_AR +  3]	= -1,
140    [UNW_IA64_AR +  4]	= -1,		[UNW_IA64_AR +  5]	= -1,
141    [UNW_IA64_AR +  6]	= -1,		[UNW_IA64_AR +  7]	= -1,
142    [UNW_IA64_AR +  8]	= -1,		[UNW_IA64_AR +  9]	= -1,
143    [UNW_IA64_AR + 10]	= -1,		[UNW_IA64_AR + 11]	= -1,
144    [UNW_IA64_AR + 12]	= -1,		[UNW_IA64_AR + 13]	= -1,
145    [UNW_IA64_AR + 14]	= -1,		[UNW_IA64_AR + 15]	= -1,
146    [UNW_IA64_AR + 16]	= PT_AR_RSC,	[UNW_IA64_AR + 17]	= PT_AR_BSP,
147    [UNW_IA64_AR + 18]	= PT_AR_BSPSTORE,[UNW_IA64_AR + 19]	= PT_AR_RNAT,
148    [UNW_IA64_AR + 20]	= -1,		[UNW_IA64_AR + 21]	= -1,
149    [UNW_IA64_AR + 22]	= -1,		[UNW_IA64_AR + 23]	= -1,
150    [UNW_IA64_AR + 24]	= -1,		[UNW_IA64_AR + 25]	= PT_AR_CSD,
151    [UNW_IA64_AR + 26]	= -1,		[UNW_IA64_AR + 27]	= -1,
152    [UNW_IA64_AR + 28]	= -1,		[UNW_IA64_AR + 29]	= -1,
153    [UNW_IA64_AR + 30]	= -1,		[UNW_IA64_AR + 31]	= -1,
154    [UNW_IA64_AR + 32]	= PT_AR_CCV,	[UNW_IA64_AR + 33]	= -1,
155    [UNW_IA64_AR + 34]	= -1,		[UNW_IA64_AR + 35]	= -1,
156    [UNW_IA64_AR + 36]	= PT_AR_UNAT,	[UNW_IA64_AR + 37]	= -1,
157    [UNW_IA64_AR + 38]	= -1,		[UNW_IA64_AR + 39]	= -1,
158    [UNW_IA64_AR + 40]	= PT_AR_FPSR,	[UNW_IA64_AR + 41]	= -1,
159    [UNW_IA64_AR + 42]	= -1,		[UNW_IA64_AR + 43]	= -1,
160    [UNW_IA64_AR + 44]	= -1,		[UNW_IA64_AR + 45]	= -1,
161    [UNW_IA64_AR + 46]	= -1,		[UNW_IA64_AR + 47]	= -1,
162    [UNW_IA64_AR + 48]	= -1,		[UNW_IA64_AR + 49]	= -1,
163    [UNW_IA64_AR + 50]	= -1,		[UNW_IA64_AR + 51]	= -1,
164    [UNW_IA64_AR + 52]	= -1,		[UNW_IA64_AR + 53]	= -1,
165    [UNW_IA64_AR + 54]	= -1,		[UNW_IA64_AR + 55]	= -1,
166    [UNW_IA64_AR + 56]	= -1,		[UNW_IA64_AR + 57]	= -1,
167    [UNW_IA64_AR + 58]	= -1,		[UNW_IA64_AR + 59]	= -1,
168    [UNW_IA64_AR + 60]	= -1,		[UNW_IA64_AR + 61]	= -1,
169    [UNW_IA64_AR + 62]	= -1,		[UNW_IA64_AR + 63]	= -1,
170    [UNW_IA64_AR + 64]	= PT_AR_PFS,	[UNW_IA64_AR + 65]	= PT_AR_LC,
171    [UNW_IA64_AR + 66]	= PT_AR_EC,	[UNW_IA64_AR + 67]	= -1,
172    [UNW_IA64_AR + 68]	= -1,		[UNW_IA64_AR + 69]	= -1,
173    [UNW_IA64_AR + 70]	= -1,		[UNW_IA64_AR + 71]	= -1,
174    [UNW_IA64_AR + 72]	= -1,		[UNW_IA64_AR + 73]	= -1,
175    [UNW_IA64_AR + 74]	= -1,		[UNW_IA64_AR + 75]	= -1,
176    [UNW_IA64_AR + 76]	= -1,		[UNW_IA64_AR + 77]	= -1,
177    [UNW_IA64_AR + 78]	= -1,		[UNW_IA64_AR + 79]	= -1,
178    [UNW_IA64_AR + 80]	= -1,		[UNW_IA64_AR + 81]	= -1,
179    [UNW_IA64_AR + 82]	= -1,		[UNW_IA64_AR + 83]	= -1,
180    [UNW_IA64_AR + 84]	= -1,		[UNW_IA64_AR + 85]	= -1,
181    [UNW_IA64_AR + 86]	= -1,		[UNW_IA64_AR + 87]	= -1,
182    [UNW_IA64_AR + 88]	= -1,		[UNW_IA64_AR + 89]	= -1,
183    [UNW_IA64_AR + 90]	= -1,		[UNW_IA64_AR + 91]	= -1,
184    [UNW_IA64_AR + 92]	= -1,		[UNW_IA64_AR + 93]	= -1,
185    [UNW_IA64_AR + 94]	= -1,		[UNW_IA64_AR + 95]	= -1,
186    [UNW_IA64_AR + 96]	= -1,		[UNW_IA64_AR + 97]	= -1,
187    [UNW_IA64_AR + 98]	= -1,		[UNW_IA64_AR + 99]	= -1,
188    [UNW_IA64_AR +100]	= -1,		[UNW_IA64_AR +101]	= -1,
189    [UNW_IA64_AR +102]	= -1,		[UNW_IA64_AR +103]	= -1,
190    [UNW_IA64_AR +104]	= -1,		[UNW_IA64_AR +105]	= -1,
191    [UNW_IA64_AR +106]	= -1,		[UNW_IA64_AR +107]	= -1,
192    [UNW_IA64_AR +108]	= -1,		[UNW_IA64_AR +109]	= -1,
193    [UNW_IA64_AR +110]	= -1,		[UNW_IA64_AR +111]	= -1,
194    [UNW_IA64_AR +112]	= -1,		[UNW_IA64_AR +113]	= -1,
195    [UNW_IA64_AR +114]	= -1,		[UNW_IA64_AR +115]	= -1,
196    [UNW_IA64_AR +116]	= -1,		[UNW_IA64_AR +117]	= -1,
197    [UNW_IA64_AR +118]	= -1,		[UNW_IA64_AR +119]	= -1,
198    [UNW_IA64_AR +120]	= -1,		[UNW_IA64_AR +121]	= -1,
199    [UNW_IA64_AR +122]	= -1,		[UNW_IA64_AR +123]	= -1,
200    [UNW_IA64_AR +124]	= -1,		[UNW_IA64_AR +125]	= -1,
201    [UNW_IA64_AR +126]	= -1,		[UNW_IA64_AR +127]	= -1,
202
203    [UNW_IA64_BR +  0]	= PT_B0,	[UNW_IA64_BR +  1]	= PT_B1,
204    [UNW_IA64_BR +  2]	= PT_B2,	[UNW_IA64_BR +  3]	= PT_B3,
205    [UNW_IA64_BR +  4]	= PT_B4,	[UNW_IA64_BR +  5]	= PT_B5,
206    [UNW_IA64_BR +  6]	= PT_B6,	[UNW_IA64_BR +  7]	= PT_B7,
207
208    [UNW_IA64_PR]	= PT_PR,
209    [UNW_IA64_CFM]	= PT_CFM,
210    [UNW_IA64_IP]	= PT_CR_IIP
211#elif defined(HAVE_TTRACE)
212# warning No support for ttrace() yet.
213#elif defined(UNW_TARGET_HPPA)
214    [UNW_HPPA_GR +  0]	= 0x000,	[UNW_HPPA_GR +  1]	= 0x004,
215    [UNW_HPPA_GR +  2]	= 0x008,	[UNW_HPPA_GR +  3]	= 0x00c,
216    [UNW_HPPA_GR +  4]	= 0x010,	[UNW_HPPA_GR +  5]	= 0x014,
217    [UNW_HPPA_GR +  6]	= 0x018,	[UNW_HPPA_GR +  7]	= 0x01c,
218    [UNW_HPPA_GR +  8]	= 0x020,	[UNW_HPPA_GR +  9]	= 0x024,
219    [UNW_HPPA_GR + 10]	= 0x028,	[UNW_HPPA_GR + 11]	= 0x02c,
220    [UNW_HPPA_GR + 12]	= 0x030,	[UNW_HPPA_GR + 13]	= 0x034,
221    [UNW_HPPA_GR + 14]	= 0x038,	[UNW_HPPA_GR + 15]	= 0x03c,
222    [UNW_HPPA_GR + 16]	= 0x040,	[UNW_HPPA_GR + 17]	= 0x044,
223    [UNW_HPPA_GR + 18]	= 0x048,	[UNW_HPPA_GR + 19]	= 0x04c,
224    [UNW_HPPA_GR + 20]	= 0x050,	[UNW_HPPA_GR + 21]	= 0x054,
225    [UNW_HPPA_GR + 22]	= 0x058,	[UNW_HPPA_GR + 23]	= 0x05c,
226    [UNW_HPPA_GR + 24]	= 0x060,	[UNW_HPPA_GR + 25]	= 0x064,
227    [UNW_HPPA_GR + 26]	= 0x068,	[UNW_HPPA_GR + 27]	= 0x06c,
228    [UNW_HPPA_GR + 28]	= 0x070,	[UNW_HPPA_GR + 29]	= 0x074,
229    [UNW_HPPA_GR + 30]	= 0x078,	[UNW_HPPA_GR + 31]	= 0x07c,
230
231    [UNW_HPPA_FR +  0]	= 0x080,	[UNW_HPPA_FR +  1]	= 0x088,
232    [UNW_HPPA_FR +  2]	= 0x090,	[UNW_HPPA_FR +  3]	= 0x098,
233    [UNW_HPPA_FR +  4]	= 0x0a0,	[UNW_HPPA_FR +  5]	= 0x0a8,
234    [UNW_HPPA_FR +  6]	= 0x0b0,	[UNW_HPPA_FR +  7]	= 0x0b8,
235    [UNW_HPPA_FR +  8]	= 0x0c0,	[UNW_HPPA_FR +  9]	= 0x0c8,
236    [UNW_HPPA_FR + 10]	= 0x0d0,	[UNW_HPPA_FR + 11]	= 0x0d8,
237    [UNW_HPPA_FR + 12]	= 0x0e0,	[UNW_HPPA_FR + 13]	= 0x0e8,
238    [UNW_HPPA_FR + 14]	= 0x0f0,	[UNW_HPPA_FR + 15]	= 0x0f8,
239    [UNW_HPPA_FR + 16]	= 0x100,	[UNW_HPPA_FR + 17]	= 0x108,
240    [UNW_HPPA_FR + 18]	= 0x110,	[UNW_HPPA_FR + 19]	= 0x118,
241    [UNW_HPPA_FR + 20]	= 0x120,	[UNW_HPPA_FR + 21]	= 0x128,
242    [UNW_HPPA_FR + 22]	= 0x130,	[UNW_HPPA_FR + 23]	= 0x138,
243    [UNW_HPPA_FR + 24]	= 0x140,	[UNW_HPPA_FR + 25]	= 0x148,
244    [UNW_HPPA_FR + 26]	= 0x150,	[UNW_HPPA_FR + 27]	= 0x158,
245    [UNW_HPPA_FR + 28]	= 0x160,	[UNW_HPPA_FR + 29]	= 0x168,
246    [UNW_HPPA_FR + 30]	= 0x170,	[UNW_HPPA_FR + 31]	= 0x178,
247
248    [UNW_HPPA_IP]	= 0x1a8		/* IAOQ[0] */
249#elif defined(UNW_TARGET_X86)
250    [UNW_X86_EAX]	= 0x18,
251    [UNW_X86_EBX]	= 0x00,
252    [UNW_X86_ECX]	= 0x04,
253    [UNW_X86_EDX]	= 0x08,
254    [UNW_X86_ESI]	= 0x0c,
255    [UNW_X86_EDI]	= 0x10,
256    [UNW_X86_EBP]	= 0x14,
257    [UNW_X86_EIP]	= 0x30,
258    [UNW_X86_ESP]	= 0x3c
259/*  CS			= 0x34, */
260/*  DS			= 0x1c, */
261/*  ES			= 0x20, */
262/*  FS			= 0x24, */
263/*  GS			= 0x28, */
264/*  ORIG_EAX		= 0x2c, */
265/*  EFLAGS		= 0x38, */
266/*  SS			= 0x40 */
267#elif defined(UNW_TARGET_X86_64)
268    [UNW_X86_64_RAX]	= 0x50,
269    [UNW_X86_64_RDX]	= 0x60,
270    [UNW_X86_64_RCX]	= 0x58,
271    [UNW_X86_64_RBX]	= 0x28,
272    [UNW_X86_64_RSI]	= 0x68,
273    [UNW_X86_64_RDI]	= 0x70,
274    [UNW_X86_64_RBP]	= 0x20,
275    [UNW_X86_64_RSP]	= 0x98,
276    [UNW_X86_64_R8]	= 0x48,
277    [UNW_X86_64_R9]	= 0x40,
278    [UNW_X86_64_R10]	= 0x38,
279    [UNW_X86_64_R11]	= 0x30,
280    [UNW_X86_64_R12]	= 0x18,
281    [UNW_X86_64_R13]	= 0x10,
282    [UNW_X86_64_R14]	= 0x08,
283    [UNW_X86_64_R15]	= 0x00,
284    [UNW_X86_64_RIP]	= 0x80
285//  [UNW_X86_64_CS]	= 0x88,
286//  [UNW_X86_64_EFLAGS]	= 0x90,
287//  [UNW_X86_64_RSP]	= 0x98,
288//  [UNW_X86_64_SS]	= 0xa0
289#elif defined(UNW_TARGET_PPC32)
290#elif defined(UNW_TARGET_PPC64)
291#elif defined(UNW_TARGET_ARM)
292#elif defined(UNW_TARGET_MIPS)
293#else
294# error Fix me.
295#endif
296  };
297