Cannot even run a hello world newlib elf binary!
Last instructions before failing
...
S 000063b4: d6519dd4 l.sw -27180(r17),r19 [000095d4] = 00008800 flag: 1
S 000063b8: 1a200001 l.movhi r17,0x1 r17 = 00010000 flag: 1
S 000063bc: d6519dd0 l.sw -27184(r17),r19 [000095d0] = 00008800 flag: 1
S 000063c0: 85c10000 l.lwz r14,0x0(r1) r14 = 00000000 flag: 1
S 000063c4: 86010004 l.lwz r16,0x4(r1) r16 = 00000000 flag: 1
S 000063c8: 86410008 l.lwz r18,0x8(r1) r18 = 00000000 flag: 1
S 000063cc: 8681000c l.lwz r20,0xc(r1) r20 = 00000000 flag: 1
S 000063d0: 86c10010 l.lwz r22,0x10(r1) r22 = 00000000 flag: 1
S 000063d4: 87010014 l.lwz r24,0x14(r1) r24 = 00000000 flag: 1
S 000063d8: 87410018 l.lwz r26,0x18(r1) r26 = 00000000 flag: 1
S 000063dc: 8781001c l.lwz r28,0x1c(r1) r28 = 00000000 flag: 1
S 000063e0: 87c10020 l.lwz r30,0x20(r1) r30 = 00000000 flag: 1
S 000063e4: 85210024 l.lwz r9,0x24(r1) r9 = 000020bc flag: 1
S 000063e8: 44004800 l.jr r9 flag: 1
S 000063ec: 9c210028 l.addi r1,r1,0x28 r1 = 007fe000 flag: 1
S 000020bc: 040000a9 l.jal 0xa9 flag: 1
S 000020c0: 15000000 l.nop 0 flag: 1
S 00002360: 9c21fff0 l.addi r1,r1,-16 r1 = 007fdff0 flag: 1
S 00002364: d4018000 l.sw 0x0(r1),r16 [007fdff0] = 00000000 flag: 1
S 00002368: d401a008 l.sw 0x8(r1),r20 [007fdff8] = 00000000 flag: 1
S 0000236c: 1a000001 l.movhi r16,0x1 r16 = 00010000 flag: 1
S 00002370: 1a800001 l.movhi r20,0x1 r20 = 00010000 flag: 1
S 00002374: 9e1087e8 l.addi r16,r16,-30744 r16 = 000087e8 flag: 1
S 00002378: 9e9487e8 l.addi r20,r20,-30744 r20 = 000087e8 flag: 1
S 0000237c: aa200002 l.ori r17,r0,0x2 r17 = 00000002 flag: 1
S 00002380: e2948002 l.sub r20,r20,r16 r20 = 00000000 flag: 1
S 00002384: e2948888 l.sra r20,r20,r17 r20 = 00000000 flag: 1
S 00002388: 1a200000 l.movhi r17,0 r17 = 00000000 flag: 1
S 0000238c: d4019004 l.sw 0x4(r1),r18 [007fdff4] = 00000000 flag: 1
S 00002390: e4148800 l.sfeq r20,r17 flag: 1
S 00002394: 10000009 l.bf 0x9 flag: 1
S 00002398: d401480c l.sw 0xc(r1),r9 [007fdffc] = 000020c4 flag: 1
S 000023b8: 1a000001 l.movhi r16,0x1 r16 = 00010000 flag: 1
S 000023bc: 1a800001 l.movhi r20,0x1 r20 = 00010000 flag: 1
S 000023c0: 9e1087e8 l.addi r16,r16,-30744 r16 = 000087e8 flag: 1
S 000023c4: 9e9487ec l.addi r20,r20,-30740 r20 = 000087ec flag: 1
S 000023c8: aa200002 l.ori r17,r0,0x2 r17 = 00000002 flag: 1
S 000023cc: e2948002 l.sub r20,r20,r16 r20 = 00000004 flag: 1
S 000023d0: e2948888 l.sra r20,r20,r17 r20 = 00000001 flag: 1
S 000023d4: 1a200000 l.movhi r17,0 r17 = 00000000 flag: 1
S 000023d8: e4148800 l.sfeq r20,r17 flag: 0
S 000023dc: 10000008 l.bf 0x8 flag: 0
S 000023e0: 1a400000 l.movhi r18,0 r18 = 00000000 flag: 0
S 000023e4: 86300000 l.lwz r17,0x0(r16) r17 = 00000000 flag: 0
S 000023e8: 48008800 l.jalr r17 flag: 0
S 000023ec: 9e520001 l.addi r18,r18,0x1 r18 = 00000001 flag: 0
Instruction address translation failed: no trace available
S 00000004: 00000000 l.j 0x0 flag: 0
Instruction address translation failed: no trace available
S 00000004: 00000000 l.j 0x0 flag: 0
Instruction address translation failed: no trace available
S 00000004: 00000000 l.j 0x0 flag: 0
Regs:
INTERNAL SIMULATOR ERROR:
no translation for currently executed instruction
(executed) [cycle 440900001, #440899279]
00000004: 00000000 l.j 0x0 (next insn) (delay insn)
GPR00: 00000000 GPR01: 007fdff0 GPR02: 007fe000 GPR03: 0000903c
GPR04: 00000000 GPR05: 00000424 GPR06: 00000000 GPR07: 00000000
GPR08: 00000000 GPR09: 000023f0 GPR10: 00000000 GPR11: 0000903c
GPR12: 00000000 GPR13: 00000000 GPR14: 00000000 GPR15: 00000000
GPR16: 000087e8 GPR17: 00000000 GPR18: 00000001 GPR19: 00008800
GPR20: 00000001 GPR21: 000093f8 GPR22: 00000000 GPR23: 00009390
GPR24: 00000000 GPR25: 00009328 GPR26: 00000000 GPR27: 00000000
GPR28: 00000000 GPR29: 00000000 GPR30: 00000000 GPR31: 00000000 flag: 0
Dump of code around error:
1122 23b0: 13 ff ff fc l.bf 23a0 <__libc_init_array+0x40>
1123 23b4: 9e 10 00 04 l.addi r16,r16,4
1124 23b8: 1a 00 00 01 l.movhi r16,0x1
1125 23bc: 1a 80 00 01 l.movhi r20,0x1
1126 23c0: 9e 10 87 e8 l.addi r16,r16,-30744
1127 23c4: 9e 94 87 ec l.addi r20,r20,-30740
1128 23c8: aa 20 00 02 l.ori r17,r0,0x2
1129 23cc: e2 94 80 02 l.sub r20,r20,r16
1130 23d0: e2 94 88 88 l.sra r20,r20,r17
1131 23d4: 1a 20 00 00 l.movhi r17,0x0
1132 23d8: e4 14 88 00 l.sfeq r20,r17
1133 23dc: 10 00 00 08 l.bf 23fc <__libc_init_array+0x9c>
1134 23e0: 1a 40 00 00 l.movhi r18,0x0
1135 23e4: 86 30 00 00 l.lwz r17,0(r16)
1136 23e8: 48 00 88 00 l.jalr r17 <--- jumps to null!
1137 23ec: 9e 52 00 01 l.addi r18,r18,1
1138 23f0: e4 34 90 00 l.sfne r20,r18
1139 23f4: 13 ff ff fc l.bf 23e4 <__libc_init_array+0x84>
1140 23f8: 9e 10 00 04 l.addi r16,r16,4
1141 23fc: 86 01 00 00 l.lwz r16,0(r1)
1142 2400: 86 41 00 04 l.lwz r18,4(r1)
1143 2404: 86 81 00 08 l.lwz r20,8(r1)
1144 2408: 85 21 00 0c l.lwz r9,12(r1)
1145 240c: 44 00 48 00 l.jr r9
1146 2410: 9c 21 00 10 l.addi r1,r1,16
Function C:
/* Iterate over all the init routines. */
void
__libc_init_array (void)
{
size_t count;
size_t i;
count = __preinit_array_end - __preinit_array_start;
for (i = 0; i < count; i++)
__preinit_array_start[i] ();
_init ();
count = __init_array_end - __init_array_start;
for (i = 0; i < count; i++)
__init_array_start[i] ();
}
Init array elements:
Should not be null!
Should go to 2220: