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