15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "unwind_i.h"
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)static const char *regname[] =
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  {
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "eax", "edx", "ecx", "ebx", "esi", "edi", "ebp", "esp", "eip",
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "eflags", "trapno",
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "st0", "st1", "st2", "st3", "st4", "st5", "st6", "st7",
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "fcw", "fsw", "ftw", "fop", "fcs", "fip", "fea", "fds",
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "xmm0_lo", "xmm0_hi", "xmm1_lo", "xmm1_hi",
1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    "xmm2_lo", "xmm2_hi", "xmm3_lo", "xmm3_hi",
1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    "xmm4_lo", "xmm4_hi", "xmm5_lo", "xmm5_hi",
1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    "xmm6_lo", "xmm6_hi", "xmm7_lo", "xmm7_hi",
1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    "mxcsr",
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "gs", "fs", "es", "ds", "ss", "cs",
157d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    "tss", "ldt",
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "cfi",
1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7",
183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  };
193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)PROTECTED const char *
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)unw_regname (unw_regnum_t reg)
223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles){
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (reg < (unw_regnum_t) ARRAY_SIZE (regname))
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return regname[reg];
253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  else
263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)    return "???";
273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)}
283551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)