Repository navigation
v3.2.2
This version mostly consists of fixes to issues that were present in both the C and Rust versions of eambfc, which where caught with improvements to testing in the Rust version.
Fixes
- the
arm64backend now properly encodes register-to-registermovinstructions- in the context of
eambfc, what should have beenmov dst, srcwas being encoded as (orr dst, x15, src), which has the same effect so long as thex15register was set to zero, which it always was when testing, both with QEMU and on bare metal. It now encodes tomov dst, src, which is technically an extended mnemonic fororr dst, xzr, src.
- in the context of
- The
x86_64backend now properly uses the full 64 bits of the address register when zeroing out a tape cell - this would only be a problem if the memory address was higher than the 32-bit integer limit, which is unlikely, given thateambfcdoes not produce position-independent code. - Encoding of immediate values larger than the 32-bit integer limit is fixed for the
s390xbackend
The internal structure is now slightly cleaner, to make it easier to address such bugs in the future, should they be found