You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
The c1_c0_2 register in arm raises an Invalid argument (UC_ERR_ARG) error when writing to it. This was tested with qiling version 1.4.6 and unicorn version 2.1.1
Sample Code
Run the example hello_arm_linux_debug.py or the following code:
This will call the enable_vfp function from QlArchARM which will attempt to write to c1_c0_2 and raise the error.
Screenshots
Additional context
This is caused because of this unicorn commit which changed the default return value of reg_write function from UC_ERR_OK to UC_ERR_ARG.
Furthermore, the switch case handling register UC_ARM_REG_C1_C0_2 in the reg_write function is commented out as shown here which causes the function to return the default return value.
and the register UC_ARM_REG_C1_C0_2 is commented as depreciated and should be replaced with UC_ARM_REG_CP_REGhere.
The text was updated successfully, but these errors were encountered:
Unicorn upgrade to version 2.1.1 broke Qiling which has not adapted yet, however that is to be resolved soon. Currently there are three options to work around this:
Wait for Qiling to catch up with latest Unicorn changes
Describe the bug
The
c1_c0_2
register in arm raises anInvalid argument (UC_ERR_ARG)
error when writing to it.This was tested with qiling version 1.4.6 and unicorn version 2.1.1
Sample Code
Run the example
hello_arm_linux_debug.py
or the following code:This will call the
enable_vfp
function fromQlArchARM
which will attempt to write toc1_c0_2
and raise the error.Screenshots
Additional context
This is caused because of this unicorn commit which changed the default return value of
reg_write
function fromUC_ERR_OK
toUC_ERR_ARG
.Furthermore, the switch case handling register
UC_ARM_REG_C1_C0_2
in thereg_write
function is commented out as shown here which causes the function to return the default return value.and the register
UC_ARM_REG_C1_C0_2
is commented as depreciated and should be replaced withUC_ARM_REG_CP_REG
here.The text was updated successfully, but these errors were encountered: