Repository navigation
Conversation
519d23f to
267d1d2
Compare
|
[AUTOMATED] The N32 repro works, and so do microMIPS, ELF32 O64, EABI32 and R6 1. Two kinds of O32 image that main decompiles no longer load. printf 'int neg(int a) { return a < 0; }\nvoid __start(void) { for (;;); }\n' > t.c
F='-O1 -nostdlib -static -fno-pic -mno-abicalls'
mipsel-linux-gnu-gcc -EB -mabi=32 -march=mips32r6 $F -o r6.elf t.c # FP ABI FPXX, CPR1 size 32
mipsel-linux-gnu-gcc -EB -mabi=32 -march=mips32r2 -mfp64 -mhard-float $F -o fp64.elf t.c
kuna decompile r6.elf neg
kuna decompile fp64.elf negBoth fail with
2. The wide-register O32 models drop every integer argument at call sites. printf 'int __attribute__((noinline)) add2(int a, int b) { return a + b; }\nint call(void) { return add2(4, 5) + 1; }\nvoid __start(void) { for (;;); }\n' > c.c
mipsel-linux-gnu-gcc -EB -mabi=32 -march=mips64r2 -fno-inline -O1 -nostdlib -static -fno-pic -mno-abicalls -o c.elf c.c
kuna decompile-all c.elf --target MIPS:BE:64:64-32addr:o32main prints
The new stage and CLI tests check callee inputs and call results, but not caller-side arguments. 3. Overlap with #1394. #1394 adds the identical |
267d1d2 to
1c07d18
Compare
|
Thanks, all three reproduce here.
|
1c07d18 to
9dbe3cd
Compare
An ELF32 N32 image fails automatic loading even though its decoder and compiler model are bundled.
Fix
Tests
Loader and CLI cases in both byte orders cover selection, overrides, segment-only metadata, mixed modes, FPR widths and aggregate register/stack placement. Stage cases pin O32 word-slot reads and big-endian one-byte aggregates; each fails without its correction.