13842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz#include "unwind_i.h"
23842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
33842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitzstatic const char *regname[] =
43842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz  {
53842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 0.  */
63842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
73842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 8.  */
83842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r8",  "r9",  "r10", "fp",  "ip",  "sp",  "lr",  "pc",
93842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 16.  Obsolete FPA names.  */
103842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "f0",  "f1",  "f2",  "f3",  "f4",  "f5",  "f6",  "f7",
113842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 24.  */
123842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
133842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 32.  */
143842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
153842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 40.  */
163842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
173842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 48.  */
183842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
193842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 56.  */
203842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
213842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 64.  */
223842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "s0",  "s1",  "s2",  "s3",  "s4",  "s5",  "s6",  "s7",
233842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 72.  */
243842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "s8",  "s9",  "s10", "s11", "s12", "s13", "s14", "s15",
253842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 80.  */
263842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23",
273842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 88.  */
283842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "s24", "s25", "s26", "s27", "s28", "s29", "s30", "s31",
293842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 96.  */
303842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "f0",  "f1",  "f2",  "f3",  "f4",  "f5",  "f6",  "f7",
313842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 104.  */
323842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "wCGR0", "wCGR1", "wCGR2", "wCGR3", "wCGR4", "wCGR5", "wCGR6", "wCGR7",
333842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 112.  */
343842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "wR0", "wR1", "wR2", "wR3", "wR4", "wR5", "wR6", "wR7",
353842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 128.  */
363842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "spsr", "spsr_fiq", "spsr_irq", "spsr_abt", "spsr_und", "spsr_svc", 0, 0,
373842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 136.  */
383842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
393842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 144.  */
403842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r8_usr", "r9_usr", "r10_usr", "r11_usr", "r12_usr", "r13_usr", "r14_usr",
413842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 151.  */
423842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r8_fiq", "r9_fiq", "r10_fiq", "r11_fiq", "r12_fiq", "r13_fiq", "r14_fiq",
433842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 158.  */
443842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r13_irq", "r14_irq",
453842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 160.  */
463842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r13_abt", "r14_abt",
473842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 162.  */
483842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r13_und", "r14_und",
493842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 164.  */
503842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "r13_svc", "r14_svc", 0, 0,
513842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 168.  */
523842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
533842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 176.  */
543842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
553842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 184.  */
563842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
573842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 192.  */
583842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "wC0", "wC1", "wC2", "wC3", "wC4", "wC5", "wC6", "wC7",
593842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 200.  */
603842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
613842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 208.  */
623842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
633842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 216.  */
643842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
653842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 224.  */
663842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
673842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 232.  */
683842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
693842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 240.  */
703842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
713842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 248.  */
723842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    0, 0, 0, 0, 0, 0, 0, 0,
733842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 256.  */
743842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "d0",  "d1",  "d2",  "d3",  "d4",  "d5",  "d6",  "d7",
753842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 264.  */
763842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "d8",  "d9",  "d10", "d11", "d12", "d13", "d14", "d15",
773842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 272.  */
783842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23",
793842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    /* 280.  */
803842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31",
813842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz  };
823842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
833842dac7333e42aa44531eda34ba55200b99ccf8Daniel JacobowitzPROTECTED const char *
843842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitzunw_regname (unw_regnum_t reg)
853842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz{
863842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz  if (reg < (unw_regnum_t) ARRAY_SIZE (regname))
873842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    return regname[reg];
883842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz  else
893842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz    return "???";
903842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz}
91