12 Commits
Author SHA1 Message Date
pancake 725363c4de Support delay slots like radare2 does
- Take the branch set by SETJT and SETD after its delay slot executes
- Make the delayed branch state conditional under symbolic conditions
  so the pc forks after the slot
- Check returns and automerge jumps after their delay slot
- Add a mips test for calls, branches and returns with delay slots
2026-11-06 18:56:00 +01:00
Lennard Hofmann ff5a0a6a8d examples: add statically-linked (#24)
The example demonstrates how to use libc function emulation, which can
make a huge difference in runtime for a stripped binary that statically
links against glibc. The test binary links against musl for size reasons.

The source code of tests/statically-linked is

    int main(int argc, char **argv) {
        if (strcmp(argv[1], "s3cret_p4s$w0rd"))
            puts("wrong");
    }

It was compiled with `musl-gcc -static -Os -s`.
2024-05-16 13:29:19 -04:00
aemmitt 294f2ad321 clear upper 32 bits of 64bit regs, fix parity flag, add longdiv/mod, many other changes 2022-06-09 23:36:42 -04:00
aemmitt 3931d19a10 add aei3 binary for example 2021-09-28 09:14:58 -04:00
aemmitt 1a6d76a9b0 many changing including fixed multithread, load libs, some api changes 2021-09-26 22:23:19 -04:00
aemmitt a2774eafd5 add atoi, itoa, make looper faster, fix conditional 2021-09-20 18:45:30 -04:00
aemmitt b5790c754b add fileread so the pipeline stops failin 2021-09-14 09:40:00 -04:00
aemmitt da2ef26565 add babyre example, change jump / fails to i64 as they can be negative 2021-09-09 12:56:04 -04:00
aemmitt b2c667f48b appease the tyrant clippy, use mem::take instead of clone 2021-08-04 12:42:54 -04:00
aemmitt 5f83258043 add state merging, options, inumerable other changes that should have been more commits 2021-06-27 23:28:49 -04:00
aemmitt-ns 12e9e9ada4 add bad fs implementation and other libc improvements 2021-05-28 15:43:41 -04:00
aemmitt-ns d06a294f68 add test binaries and some bad heap funcs 2021-05-14 19:48:27 -04:00