[all-commits] [llvm/llvm-project] 9a12b0: [lldb] Add SBProcess methods for get/set/use addre...

Jason Molenda via All-commits all-commits at lists.llvm.org
Thu Feb 29 17:02:54 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9a12b0a60084b2b92f728e1bddec884a47458459
      https://github.com/llvm/llvm-project/commit/9a12b0a60084b2b92f728e1bddec884a47458459
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/Utility/AddressableBits.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/API/SBProcess.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/AddressableBits.cpp
    A lldb/test/API/python_api/process/address-masks/Makefile
    A lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
    A lldb/test/API/python_api/process/address-masks/main.c

  Log Message:
  -----------
  [lldb] Add SBProcess methods for get/set/use address masks (#83095)

I'm reviving a patch from phabracator, https://reviews.llvm.org/D155905
which was approved but I wasn't thrilled with all the API I was adding
to SBProcess for all of the address mask types / memory regions. In this
update, I added enums to control type address mask type (code, data,
any) and address space specifiers (low, high, all) with defaulted
arguments for the most common case.

This patch is also fixing a bug in the "addressable bits to address
mask" calculation I added in AddressableBits::SetProcessMasks. If lldb
were told that 64 bits are valid for addressing, this method would
overflow the calculation and set an invalid mask. Added tests to check
this specific bug while I was adding these APIs.

rdar://123530562



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list