[all-commits] [llvm/llvm-project] 90d9f8: Add Fix*Address methods to Process, call into ABI

Jason Molenda via All-commits all-commits at lists.llvm.org
Wed Jun 14 13:49:42 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 90d9f88f19a128a6bacd7c8db594feb96047cded
      https://github.com/llvm/llvm-project/commit/90d9f88f19a128a6bacd7c8db594feb96047cded
  Author: Jason Molenda <jason at molenda.com>
  Date:   2023-06-14 (Wed, 14 Jun 2023)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  Add Fix*Address methods to Process, call into ABI

We need to clear non-addressable bits from addresses across
the lldb sources.  Currently these need to use an ABI method
to clear those bits from addresses, which you do by taking a
Process, getting the current ABI, then calling the method.

Simplify this by providing methods in Process which call into
the ABI methods themselves.

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


  Commit: 0ce7037b5edd0f1937c9d9572ab12528d26091ed
      https://github.com/llvm/llvm-project/commit/0ce7037b5edd0f1937c9d9572ab12528d26091ed
  Author: Jason Molenda <jason at molenda.com>
  Date:   2023-06-14 (Wed, 14 Jun 2023)

  Changed paths:
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  Clear non-addressable bits from pc/fp/sp in unwinds

Some Darwin corefiles can have the pc/fp/sp/lr in the
live register context signed with pointer authentication;
this patch changes RegisterContextUnwind to strip those
bits off of those values as we try to walk the stack.

Differential Revision: https://reviews.llvm.org/D152861
rdar://109185291


Compare: https://github.com/llvm/llvm-project/compare/5d54213ee557...0ce7037b5edd


More information about the All-commits mailing list