|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
ae8a6602 |
| 25-Jul-2022 |
David Spickett <[email protected]> |
[lldb][ARM/AArch64] Use sys/uio.h instead of socket.h in native register context
We only want iovec and uio.h is just that without a lot of other stuff. Saves me wondering why this code might want t
[lldb][ARM/AArch64] Use sys/uio.h instead of socket.h in native register context
We only want iovec and uio.h is just that without a lot of other stuff. Saves me wondering why this code might want to open sockets.
https://pubs.opengroup.org/onlinepubs/007904975/basedefs/sys/uio.h.html
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
b7bf5a7a |
| 05-Apr-2022 |
Benjamin Kramer <[email protected]> |
[lldb] Add missing const to NativeRegisterContextLinux_arm
|
| #
c2f64601 |
| 05-Apr-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Update the NativeRegisterContext to take a WritableMemoryBuffer
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
8901f8be |
| 09-Sep-2021 |
Muhammad Omair Javaid <[email protected]> |
AArch64 SVE restore SVE registers after expression
This patch fixes register save/restore on expression call to also include SVE registers.
This will fix expression calls like:
re re p1
<Register
AArch64 SVE restore SVE registers after expression
This patch fixes register save/restore on expression call to also include SVE registers.
This will fix expression calls like:
re re p1
<Register Value P1 before expression>
p <var-name or function call>
re re p1
<Register Value P1 after expression>
In above example register P1 should remain the same before and after the expression evaluation.
Reviewed By: DavidSpickett
Differential Revision: https://reviews.llvm.org/D108739
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2 |
|
| #
d7e2e979 |
| 24-Aug-2021 |
Muhammad Omair Javaid <[email protected]> |
[LLDB] Remove typos from NativeRegisterContextLinux_arm*
This patch removed some typos from NativeRegisterContextLinux_arm and NativeRegisterContextLinux_arm64. Some of the log/error messages were b
[LLDB] Remove typos from NativeRegisterContextLinux_arm*
This patch removed some typos from NativeRegisterContextLinux_arm and NativeRegisterContextLinux_arm64. Some of the log/error messages were being reported as x86_64.
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
5e6aabd4 |
| 12-Jul-2021 |
Muhammad Omair Javaid <[email protected]> |
Support AArch64/Linux watchpoint on tagged addresses
AArch64 architecture support virtual addresses with some of the top bits ignored. These ignored bits can host memory tags or bit masks that can s
Support AArch64/Linux watchpoint on tagged addresses
AArch64 architecture support virtual addresses with some of the top bits ignored. These ignored bits can host memory tags or bit masks that can serve to check for authentication of address integrity. We need to clear away the top ignored bits from watchpoint address to reliably hit and set watchpoints on addresses containing tags or masks in their top bits.
This patch adds support to watch tagged addresses on AArch64/Linux.
Reviewed By: DavidSpickett
Differential Revision: https://reviews.llvm.org/D101361
show more ...
|
| #
05915400 |
| 29-Jun-2021 |
Caroline Tice <[email protected]> |
[lldb] Replace SVE_PT* macros in NativeRegisterContextLinux_arm64.{cpp,h} with their equivalent defintions in LinuxPTraceDefines_arm64sve.h
Commit 090306fc80dbf (August 2020) changed most of the arm
[lldb] Replace SVE_PT* macros in NativeRegisterContextLinux_arm64.{cpp,h} with their equivalent defintions in LinuxPTraceDefines_arm64sve.h
Commit 090306fc80dbf (August 2020) changed most of the arm64 SVE_PT* macros, but apparently did not make the changes in the NativeRegisterContextLinux_arm64.* files (or those files were pulled over from someplace else after that commit). This change replaces the macros NativeRegisterContextLinux_arm64.cpp with the replacement definitions in LinuxPTraceDefines_arm64sve.h. It also includes LinuxPTraceDefines_arm64sve.h in NativeRegisterContextLinux_arm64.h.
Differential Revision: https://reviews.llvm.org/D104826
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
da2e614f |
| 19-Feb-2021 |
David Spickett <[email protected]> |
[lldb][AArch64] Add memory tag reading to lldb-server
This adds memory tag reading using the new "qMemTags" packet and ptrace on AArch64 Linux.
This new packet is following the one used by GDB. (ht
[lldb][AArch64] Add memory tag reading to lldb-server
This adds memory tag reading using the new "qMemTags" packet and ptrace on AArch64 Linux.
This new packet is following the one used by GDB. (https://sourceware.org/gdb/current/onlinedocs/gdb/General-Query-Packets.html)
On AArch64 Linux we use ptrace's PEEKMTETAGS to read tags and we assume that lldb has already checked that the memory region actually has tagging enabled.
We do not assume that lldb has expanded the requested range to granules and expand it again to be sure. (although lldb will be sending aligned ranges because it happens to need them client side anyway) Also we don't assume untagged addresses. So for AArch64 we'll remove the top byte before using them. (the top byte includes MTE and other non address data)
To do the ptrace read NativeProcessLinux will ask the native register context for a memory tag manager based on the type in the packet. This also gives you the ptrace numbers you need. (it's called a register context but it also has non register data, so it saves adding another per platform sub class)
The only supported platform for this is AArch64 Linux and the only supported tag type is MTE allocation tags. Anything else will error.
Ptrace can return a partial result but for lldb-server we will be treating that as an error. To succeed we need to get all the tags we expect.
(Note that the protocol leaves room for logical tags to be read via qMemTags but this is not going to be implemented for lldb at this time.)
Reviewed By: omjavaid
Differential Revision: https://reviews.llvm.org/D95601
show more ...
|
| #
88a5b35d |
| 31-Mar-2021 |
Muhammad Omair Javaid <[email protected]> |
Revert "Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers""
This reverts commit 71b648f7158c7a0b4918eaa3e94d307e4bbfce97.
There was a typo in the last commit which was causing
Revert "Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers""
This reverts commit 71b648f7158c7a0b4918eaa3e94d307e4bbfce97.
There was a typo in the last commit which was causing LLDB AArch64 Linux buildbot testsuite failures. Now fixed in current version.
show more ...
|
| #
e1d4fb1e |
| 01-Apr-2021 |
Pavel Labath <[email protected]> |
[lldb] Fix build errors from 3bea7306e8
The addition of the dummy constructors requires matching changes in os- and arch-specific files, which I forgot about.
|
| #
71b648f7 |
| 31-Mar-2021 |
Muhammad Omair Javaid <[email protected]> |
Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers"
This reverts commit 1164b4e2957290e814c3dd781a68e504dd39148e.
Reason: LLDB AArch64 Linux buildbot failure
|
| #
1164b4e2 |
| 30-Mar-2021 |
Muhammad Omair Javaid <[email protected]> |
[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers
This patch adds two new dynamic register sets for AArch64 MTE and Pointer Authentication features. These register sets are dynamic and
[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers
This patch adds two new dynamic register sets for AArch64 MTE and Pointer Authentication features. These register sets are dynamic and will only be available if underlying hardware support either of these features. LLDB will pull in Aux vector information and create register infos based on that information.
A follow up patch will add a test case to test these feature registers.
Reviewed By: labath, DavidSpickett
Differential Revision: https://reviews.llvm.org/D96460
show more ...
|
| #
d6d3d21c |
| 30-Mar-2021 |
Muhammad Omair Javaid <[email protected]> |
[LLDB] Add support for Arm64/Linux dynamic register sets
This is patch adds support for adding dynamic register sets for AArch64 dynamic features in LLDB. AArch64 has optional features like SVE, Poi
[LLDB] Add support for Arm64/Linux dynamic register sets
This is patch adds support for adding dynamic register sets for AArch64 dynamic features in LLDB. AArch64 has optional features like SVE, Pointer Authentication and MTE which means LLDB needs to decide at run time which registers it needs to pull in for the current executable based on underlying support for a certain feature.
This patch makes necessary adjustments to make way for dynamic register infos and dynamic register sets.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D96458
show more ...
|
| #
d1486e65 |
| 30-Mar-2021 |
Pavel Labath <[email protected]> |
[lldb] Change CreateHostNativeRegisterContextLinux argument type
to NativeThreadLinux. This avoid casts down the line.
|
| #
771c4c9c |
| 09-Feb-2021 |
Michał Górny <[email protected]> |
[lldb] [Process/FreeBSD] Introduce aarch64 hw break/watchpoint support
Split out the common base of Linux hardware breakpoint/watchpoint support for AArch64 into a Utility class, and use it to imple
[lldb] [Process/FreeBSD] Introduce aarch64 hw break/watchpoint support
Split out the common base of Linux hardware breakpoint/watchpoint support for AArch64 into a Utility class, and use it to implement the matching support on FreeBSD.
Differential Revision: https://reviews.llvm.org/D96548
show more ...
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
| #
e448ad78 |
| 19-Jan-2021 |
Muhammad Omair Javaid <[email protected]> |
[LLDB] Add support to resize SVE registers at run-time
This patch builds on previously submitted SVE patches regarding expedited register set and per thread register infos. (D82853 D82855 and D82857
[LLDB] Add support to resize SVE registers at run-time
This patch builds on previously submitted SVE patches regarding expedited register set and per thread register infos. (D82853 D82855 and D82857)
We need to resize SVE register based on value received in expedited list. Also we need to resize SVE registers when we write vg register using register write vg command. The resize will result in a updated offset for all of fpr and sve register set. This offset will be configured in native register context by RegisterInfoInterface and will also be be updated on client side in GDBRemoteRegisterContext.
A follow up patch will provide a API test to verify this change.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D82863
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
26b8ea2e |
| 01-Dec-2020 |
Muhammad Omair Javaid <[email protected]> |
RegisterInfoPOSIX_arm64 remove unused bytes from g/G packet
This came up while putting together our new strategy to create g/G packets in compliance with GDB RSP protocol where register offsets are
RegisterInfoPOSIX_arm64 remove unused bytes from g/G packet
This came up while putting together our new strategy to create g/G packets in compliance with GDB RSP protocol where register offsets are calculated in increasing order of register numbers without any unused spacing.
RegisterInfoPOSIX_arm64::GPR size was being calculated after alignment correction to 8 bytes which meant there was a 4 bytes unused space between last gpr (cpsr) and first vector register V. We have put LLVM_PACKED_START decorator on RegisterInfoPOSIX_arm64::GPR to make sure single byte alignment is enforced. Moreover we are now doing to use arm64 user_pt_regs struct defined in ptrace.h for accessing ptrace user registers.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D92063
show more ...
|
| #
4e8aeb97 |
| 26-Nov-2020 |
Muhammad Omair Javaid <[email protected]> |
Send SVE vg register in custom expedited registerset
This patch ovverides GetExpeditedRegisterSet for NativeRegisterContextLinux_arm64 to send vector granule register in expedited register set if SV
Send SVE vg register in custom expedited registerset
This patch ovverides GetExpeditedRegisterSet for NativeRegisterContextLinux_arm64 to send vector granule register in expedited register set if SVE mode is selected.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D82855
show more ...
|
|
Revision tags: llvmorg-11.0.1-rc1 |
|
| #
661e4040 |
| 17-Nov-2020 |
Muhammad Omair Javaid <[email protected]> |
[LLDB] Fix SVE reginfo for sequential offset in g packet
This moves in the direction of our effort to synchronize register descriptions between LLDB and GDB xml description. We want to able to send
[LLDB] Fix SVE reginfo for sequential offset in g packet
This moves in the direction of our effort to synchronize register descriptions between LLDB and GDB xml description. We want to able to send registers in a way that their offset fields can be re-constructed based on register sizes in the increasing order of register number.
In context to Arm64 SVE, FPCR and FPSR are same registers in FPU regset and SVE regset. Previously FPSR/FPCR offset was set at the end of SVE data because Linux ptrace data placed FPCR and FPSR at the end of SVE register set.
Considering interoperability with other stubs like QEMU and that g packets should generate register data in increasing order of register numbers. We have to move FPCR/FPSR offset up to its original location according to register numbering scheme of ARM64 registers with SVE registers included.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D90741
show more ...
|
| #
f5ca2756 |
| 25-Oct-2020 |
Michał Górny <[email protected]> |
[lldb] [Process/Linux] Reuse NativeRegisterContextWatchpoint_x86
Differential Revision: https://reviews.llvm.org/D90119
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
4283320b |
| 24-Aug-2020 |
Muhammad Omair Javaid <[email protected]> |
[LLDB] Fix SVE offset calculation in NativeRegisterContextLinux_arm64
There was typo left from changes in CalculateSVEOffset where we moved FPSR/FPCR offset calculation into WriteRegister and ReadRe
[LLDB] Fix SVE offset calculation in NativeRegisterContextLinux_arm64
There was typo left from changes in CalculateSVEOffset where we moved FPSR/FPCR offset calculation into WriteRegister and ReadRegister.
Differential Revision: https://reviews.llvm.org/D79699
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
567ba6c4 |
| 19-Aug-2020 |
Muhammad Omair Javaid <[email protected]> |
[LLDB] Add ptrace register access for AArch64 SVE registers
This patch adds NativeRegisterContext_arm64 ptrace routines to access AArch64 SVE register set. This patch also adds a test-case to test A
[LLDB] Add ptrace register access for AArch64 SVE registers
This patch adds NativeRegisterContext_arm64 ptrace routines to access AArch64 SVE register set. This patch also adds a test-case to test AArch64 SVE register access and dynamic size configuration capability.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D79699
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4 |
|
| #
7fa7b81b |
| 07-Jul-2020 |
Muhammad Omair Javaid <[email protected]> |
Combine multiple defs of arm64 register sets
Summary: This patch aims to combine similar arm64 register set definitions defined in NativeRegisterContextLinux_arm64 and RegisterContextPOSIX_arm64. I
Combine multiple defs of arm64 register sets
Summary: This patch aims to combine similar arm64 register set definitions defined in NativeRegisterContextLinux_arm64 and RegisterContextPOSIX_arm64. I have implemented a register set interface out of RegisterInfoInterface class and moved arm64 register sets into RegisterInfosPOSIX_arm64 which is similar to Utility/RegisterContextLinux_* implemented by various other targets. This will help in managing register sets of new ARM64 architecture features in one place.
Built and tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabihf targets.
Reviewers: labath
Reviewed By: labath
Subscribers: mhorne, emaste, kristof.beyls, atanasyan, danielkiss, lldb-commits
Differential Revision: https://reviews.llvm.org/D80105
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1 |
|
| #
e9264b74 |
| 06-Apr-2020 |
Kazuaki Ishizaki <[email protected]> |
[lldb] NFC: Fix trivial typo in comments, documents, and messages
Differential Revision: https://reviews.llvm.org/D77460
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
| #
80814287 |
| 24-Jan-2020 |
Raphael Isemann <[email protected]> |
[lldb][NFC] Fix all formatting errors in .cpp file headers
Summary: A *.cpp file header in LLDB (and in LLDB) should like this: ``` //===-- TestUtilities.cpp ----------------------------------------
[lldb][NFC] Fix all formatting errors in .cpp file headers
Summary: A *.cpp file header in LLDB (and in LLDB) should like this: ``` //===-- TestUtilities.cpp -------------------------------------------------===// ``` However in LLDB most of our source files have arbitrary changes to this format and these changes are spreading through LLDB as folks usually just use the existing source files as templates for their new files (most notably the unnecessary editor language indicator `-*- C++ -*-` is spreading and in every review someone is pointing out that this is wrong, resulting in people pointing out that this is done in the same way in other files).
This patch removes most of these inconsistencies including the editor language indicators, all the different missing/additional '-' characters, files that center the file name, missing trailing `===//` (mostly caused by clang-format breaking the line).
Reviewers: aprantl, espindola, jfb, shafik, JDevlieghere
Reviewed By: JDevlieghere
Subscribers: dexonsmith, wuzish, emaste, sdardis, nemanjai, kbarton, MaskRay, atanasyan, arphaman, jfb, abidh, jsji, JDevlieghere, usaxena95, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D73258
show more ...
|