[Lldb-commits] [PATCH] D105178: [lldb][AArch64] Annotate synchronous tag faults

David Spickett via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jun 30 03:05:27 PDT 2021


DavidSpickett created this revision.
Herald added subscribers: danielkiss, kristof.beyls.
DavidSpickett requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

In the latest Linux kernels synchronous tag faults
include the tag bits in their address.

Programs must enable the tagged address ABI to
receive these signals and are also opting into the
presence of these tag bits.
(asynchronous faults have no address)

Add logical and allocation tags to the description
of synchronous tag faults.

Process 1626 stopped

- thread #1, name = 'a.out', stop reason = signal SIGSEGV: sync tag check fault (fault address: 0x900fffff7ff9010 logical tag: 0x9 allocation tag: 0x0)

This extends the existing description and will
show as much as it can on the rare occasion something
fails.

This change supports AArch64 MTE only but other
architectures could be added by extending the
switch at the start of AnnotateSyncTagCheckFault.
The rest of the function is generic code.

Tests have been added for synchronous and asynchronous
MTE faults.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D105178

Files:
  lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
  lldb/source/Plugins/Process/Linux/NativeThreadLinux.h
  lldb/test/API/linux/aarch64/mte_tag_faults/Makefile
  lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py
  lldb/test/API/linux/aarch64/mte_tag_faults/main.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105178.355488.patch
Type: text/x-patch
Size: 7436 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210630/62ce16b1/attachment.bin>


More information about the lldb-commits mailing list