[Lldb-commits] [PATCH] D130985: [lldb] Fix TestDeletedExecutable on linux

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Aug 2 05:05:59 PDT 2022


labath created this revision.
labath added a reviewer: DavidSpickett.
Herald added subscribers: JDevlieghere, kbarton, nemanjai.
Herald added a project: All.
labath requested review of this revision.
Herald added a project: LLDB.

Currently, lldb-server was opening the executable file to determine the
process architecture (to differentiate between 32 and 64 bit
architecture flavours). This isn't a particularly trustworthy source of
information (the file could have been changed since the process was
started) and it is not always available (file could be deleted or
otherwise inaccessible).

Unfortunately, ptrace does not give us a direct API to access the
process architecture, but we can still infer it via some of its
responses -- given that the general purpose register set of 64-bit
applications is larger [citation needed] than the GPR set of 32-bit
ones, we can just ask for the application GPR set and check its size.

This is what this patch does.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D130985

Files:
  lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_ppc64le.cpp
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
  lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
  lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h
  lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
  lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h
  lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
  lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
  lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130985.449266.patch
Type: text/x-patch
Size: 14676 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220802/0bc244aa/attachment-0001.bin>


More information about the lldb-commits mailing list