[all-commits] [llvm/llvm-project] 4d635b: Add SBValue::GetValueAsAddress API for removing no...

Jason Molenda via All-commits all-commits at lists.llvm.org
Thu Mar 2 13:32:52 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d635be2dbadc77522eddc9668697385a3b9f8b4
      https://github.com/llvm/llvm-project/commit/4d635be2dbadc77522eddc9668697385a3b9f8b4
  Author: Jason Molenda <jason at molenda.com>
  Date:   2023-03-02 (Thu, 02 Mar 2023)

  Changed paths:
    M lldb/bindings/interface/SBValueDocstrings.i
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    A lldb/test/API/api/clear-sbvalue-nonadressable-bits/Makefile
    A lldb/test/API/api/clear-sbvalue-nonadressable-bits/TestClearSBValueNonAddressableBits.py
    A lldb/test/API/api/clear-sbvalue-nonadressable-bits/main.c

  Log Message:
  -----------
  Add SBValue::GetValueAsAddress API for removing non-addressing metadata

On target where metadata is stored in bits that aren't used for
virtual addressing -- AArch64 Top Byte Ignore and pointer authentication
are two examples -- an SBValue object representing a pointer will
return the address with metadata for SBValue::GetValueAsUnsigned.
Users may want to get the virtual address without the metadata;
this new method gives them a way to do this.

Differential Revision: https://reviews.llvm.org/D142792




More information about the All-commits mailing list