regname.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #include "unwind_i.h"
  2. static const char *regname[] =
  3. {
  4. /* 0. */
  5. "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
  6. /* 8. */
  7. "r8", "r9", "r10", "fp", "ip", "sp", "lr", "pc",
  8. /* 16. Obsolete FPA names. */
  9. "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
  10. /* 24. */
  11. 0, 0, 0, 0, 0, 0, 0, 0,
  12. /* 32. */
  13. 0, 0, 0, 0, 0, 0, 0, 0,
  14. /* 40. */
  15. 0, 0, 0, 0, 0, 0, 0, 0,
  16. /* 48. */
  17. 0, 0, 0, 0, 0, 0, 0, 0,
  18. /* 56. */
  19. 0, 0, 0, 0, 0, 0, 0, 0,
  20. /* 64. */
  21. "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7",
  22. /* 72. */
  23. "s8", "s9", "s10", "s11", "s12", "s13", "s14", "s15",
  24. /* 80. */
  25. "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23",
  26. /* 88. */
  27. "s24", "s25", "s26", "s27", "s28", "s29", "s30", "s31",
  28. /* 96. */
  29. "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
  30. /* 104. */
  31. "wCGR0", "wCGR1", "wCGR2", "wCGR3", "wCGR4", "wCGR5", "wCGR6", "wCGR7",
  32. /* 112. */
  33. "wR0", "wR1", "wR2", "wR3", "wR4", "wR5", "wR6", "wR7",
  34. /* 128. */
  35. "spsr", "spsr_fiq", "spsr_irq", "spsr_abt", "spsr_und", "spsr_svc", 0, 0,
  36. /* 136. */
  37. 0, 0, 0, 0, 0, 0, 0, 0,
  38. /* 144. */
  39. "r8_usr", "r9_usr", "r10_usr", "r11_usr", "r12_usr", "r13_usr", "r14_usr",
  40. /* 151. */
  41. "r8_fiq", "r9_fiq", "r10_fiq", "r11_fiq", "r12_fiq", "r13_fiq", "r14_fiq",
  42. /* 158. */
  43. "r13_irq", "r14_irq",
  44. /* 160. */
  45. "r13_abt", "r14_abt",
  46. /* 162. */
  47. "r13_und", "r14_und",
  48. /* 164. */
  49. "r13_svc", "r14_svc", 0, 0,
  50. /* 168. */
  51. 0, 0, 0, 0, 0, 0, 0, 0,
  52. /* 176. */
  53. 0, 0, 0, 0, 0, 0, 0, 0,
  54. /* 184. */
  55. 0, 0, 0, 0, 0, 0, 0, 0,
  56. /* 192. */
  57. "wC0", "wC1", "wC2", "wC3", "wC4", "wC5", "wC6", "wC7",
  58. /* 200. */
  59. 0, 0, 0, 0, 0, 0, 0, 0,
  60. /* 208. */
  61. 0, 0, 0, 0, 0, 0, 0, 0,
  62. /* 216. */
  63. 0, 0, 0, 0, 0, 0, 0, 0,
  64. /* 224. */
  65. 0, 0, 0, 0, 0, 0, 0, 0,
  66. /* 232. */
  67. 0, 0, 0, 0, 0, 0, 0, 0,
  68. /* 240. */
  69. 0, 0, 0, 0, 0, 0, 0, 0,
  70. /* 248. */
  71. 0, 0, 0, 0, 0, 0, 0, 0,
  72. /* 256. */
  73. "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7",
  74. /* 264. */
  75. "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15",
  76. /* 272. */
  77. "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23",
  78. /* 280. */
  79. "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31",
  80. };
  81. PROTECTED const char *
  82. unw_regname (unw_regnum_t reg)
  83. {
  84. if (reg < (unw_regnum_t) ARRAY_SIZE (regname))
  85. return regname[reg];
  86. else
  87. return "???";
  88. }