While working with some automation on top of Avatar2, capstone produced the name 'ip' for the register 'r12'. When querying Avatar2 for 'ip' it fails with the KeyError below.
As far as I can tell, this dictionary is populated (partially) by a request from gdb, which does not have the 'ip' naming. For now I will replace 'ip' with 'r12' in my code, but this may be worth supporting in Avatar2.
File "/home/valuta/PycharmProjects/d4a-beta/a2h/instructions.py", line 13, in load_reg_value
return target.read_register(reg_name)
File "/home/valuta/PycharmProjects/avatar2fork/avatar2/avatar2/watchmen.py", line 78, in watchtrigger
ret = func(self, *args, **kwargs)
File "/home/valuta/PycharmProjects/avatar2fork/avatar2/avatar2/targets/target.py", line 408, in read_register
return self.protocols.registers.read_register(register)
File "/home/valuta/PycharmProjects/avatar2fork/avatar2/avatar2/protocols/gdb.py", line 697, in read_register
self._origin.regs._get_nr_from_name(reg)
File "/home/valuta/PycharmProjects/avatar2fork/avatar2/avatar2/targets/target.py", line 127, in _get_nr_from_name
return self.__dict__[reg_name]
KeyError: 'ip'
While working with some automation on top of Avatar2, capstone produced the name 'ip' for the register 'r12'. When querying Avatar2 for 'ip' it fails with the KeyError below.
As far as I can tell, this dictionary is populated (partially) by a request from gdb, which does not have the 'ip' naming. For now I will replace 'ip' with 'r12' in my code, but this may be worth supporting in Avatar2.