[Lldb-commits] [PATCH] D25947: Merge Linux and FreeBSD arm64 register contexts

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Tue Oct 25 09:20:18 PDT 2016


labath created this revision.
labath added reviewers: emaste, clayborg.
labath added subscribers: lldb-commits, dmikulin.
Herald added subscribers: modocache, mgorny, beanz, rengolin, aemerson.

This is a test-the-water change about possibilities of reducing duplication in
the register context definitions.

I've named the new class RegisterInfoPOSIX, as RegisterContextPOSIX was already
taken :(.  The two files were identical except for a fix by Tamas in https://reviews.llvm.org/D12636,
which was applied to the Linux version only, which fixed a discrepancy between
the definitions of fpsr and fpcr on one hand, and all other floating point
register definitions on the other.

Linux test suite still passes after this change. For freebsd, make the floating
point register behavior consistent, but I don't know whether it will be
consistently fixed, or consistently broken. By eyeballing the code, I have a
feeling that a similar fix to https://reviews.llvm.org/D12636 will be required in
RegisterContextPOSIXProcessMonitor_arm64::ReadRegister, but I can't be sure as I
have no way to test it (the assert in that function should fire upon accessing
the registers if it is wrong though).


https://reviews.llvm.org/D25947

Files:
  source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
  source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
  source/Plugins/Process/Utility/CMakeLists.txt
  source/Plugins/Process/Utility/RegisterContextFreeBSD_arm64.cpp
  source/Plugins/Process/Utility/RegisterContextFreeBSD_arm64.h
  source/Plugins/Process/Utility/RegisterContextLinux_arm64.cpp
  source/Plugins/Process/Utility/RegisterContextLinux_arm64.h
  source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
  source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
  source/Plugins/Process/elf-core/ThreadElfCore.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25947.75717.patch
Type: text/x-patch
Size: 17498 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20161025/0dc80da9/attachment-0001.bin>


More information about the lldb-commits mailing list