Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 209121aefb2c2ac3b51e0a919f422d635d4ae60c
      
https://github.com/dyninst/dyninst/commit/209121aefb2c2ac3b51e0a919f422d635d4ae60c
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M common/src/registers/MachRegister.C

  Log Message:
  -----------
  Fix MachRegister bool checks (#1613)

The logic between the getRegisterX and isRegisterX members diverged over time. 
This implements the isRegisterX in terms of the getRegisterX while preserving 
extra checks where necessary.

* Write 'isPC' in terms of 'getPC'

* Add missing architectures in getFramePointer

* Don't assert in getFramePointer

* Write isFramePointer in terms of getFramePointer

This also adds correct detection of frame pointers on PPC.

* Add missing arch in getStackPointer

* Don't assert in getStackPointer

* Reorder checks in getStackPointer

For consistency

* Write isStackPointer in terms of getStackPointer

This also now includes StackTop.

* isFramePointer ws

* isPC ws

* isStackPointer typo

* Don't assert in getSyscallNumberReg

* Add missing arch in getSyscallNumberReg

* Write isSyscallNumberReg in terms of getSyscallNumberReg

The original implementation in 7b8d777ce from 2013 used o{r,e}ax for
x86, but was changed to use {r,e}ax by 23a5a76d2 in 2015. Neither
the SystemV ABI nor Intel Dev Guide refer to o*ax, so I think this
check is now correct.

* Don't assert in getSyscallReturnValueReg

* Add missing arches in getSyscallReturnValueReg

* Write isSyscallReturnValueReg in terms of getSyscallReturnValueReg

These two had become completely unsynchronized. There is a reg for
aarch64 and both PPC registers were wrong in the bool check.

* Reorder checks in getZeroFlag

For consistency

* Don't assert in getZeroFlag

* Add missing arch in getZeroFlag

* Write isZeroFlag in terms of getZeroFlag


_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to