1
0
mirror of https://github.com/angr/pyvex synced 2026-06-21 13:47:01 +00:00
Files
angr-pyvex/tests/test_mips32_postprocess.py
Audrey Dutcher 0f32e9dbb7 Remove archinfo dependency (#308)
* plugins 2: no more plugins

* homebrew arches

* lint

* I think this is related to thumb mode?

* Remove archinfo from tests

* Remove archinfo from setup.cfg

* Fix fuzzing

* Fix ARM32 -> ARM

* Fix missing closing brace in PyvexArch.__repr__

* Get register offsets directly from vex_ffi

* Fix test cases failures related to little endian instructions

* Resore riscv64le

* Also in __init__.py

* Add subregister map

* Fix another test

* Don't treat rMSR r value as a vex offset, treat it as a register

* Fix remaining failing test cases

* Add some backwards compatibility for register indicies

* Revert _lookup_register to original behaviour

* Fix arch name

* Fix registers with vex_name

* Fix LDM instruction using register numbers

---------

Co-authored-by: Kevin Phoenix <kevin@kphoenix.us>
2023-12-01 17:16:52 -07:00

22 lines
638 B
Python

import pyvex
def test_mips32_unconditional_jumps():
# 0040000c: 10000002 ; <input:28> beq $zero, $zero, LABEL_ELSE_IF
# 00400010: 00000000 ; <input:31> sll $zero, $zero, 0
# 00400014: 08100012 ; <input:34> j LABEL_DONE
# 00400018: <LABEL_ELSE_IF> ; <input:37> LABEL_ELSE_IF:
irsb = pyvex.IRSB(
data=(b"\x10\x00\x00\x02" b"\x00\x00\x00\x00"),
mem_addr=0x40000C,
arch=pyvex.ARCH_MIPS32_BE,
num_inst=2,
opt_level=0,
)
assert type(irsb.next) is pyvex.expr.Const
assert irsb.next.con.value == 0x400018
if __name__ == "__main__":
test_mips32_unconditional_jumps()