[PATCH v2 00/10] gdb/gdbserver support for aarch64 SVE

Alan Hayward
2018-06-06T15:16:57Z

This new set of patches builds on the previous set.

Patches 1-5 are new versions of previous patches (now split into smaller
parts). They (hopefully) address all the review comments from the initial set.

Part 6 adds dwarf support for sve.
Parts 7-9 add gdbserver support for sve.
Parts 10 stops core file errors on sve.

Given there are no working SVE systems available today, this was manually
tested on an Aarch64 SVE emulator running Ubuntu. In addition I've run make
check on X86 and Aarch64 builds for both unix and native-gdbserver.

Latest docs for SVE are here:
https://developer.arm.com/docs/ddi0584/latest/arm-architecture-reference-manual-supplement-the-scalable-vector-extension-sve-for-armv8-a

GNU cauldron talk giving a summary of SVE changes for Linux and GDB (regcache
changes are out of date):
https://slideslive.com/38902367/supporting-variable-register-sizes-for-the-arm-scalable-vector-extension-sve-in-gdb

Summary of how to program with SVE:
http://developer.arm.com/hpc/a-sneak-peek-into-sve-and-vla-programming

Alan Hayward (10):
Aarch64 SVE pseudo register support
Add Aarch64 SVE Linux headers
Add reg_buffer_common
Add regcache raw_compare method
Ptrace support for Aarch64 SVE
Add Aarch64 SVE dwarf regnums
Increase gdbsever PBUFSIZ
Enable Aarch64 SVE for gdbserver
Ptrace support for AArch64 SVE gdbsever
Remove reg2 section from Aarch64 SVE cores

gdb/aarch64-linux-nat.c | 54 +++++-
gdb/aarch64-linux-tdep.c | 7 +-
gdb/aarch64-tdep.c | 145 +++++++++++---
gdb/aarch64-tdep.h | 5 +
gdb/arch/aarch64.h | 5 +-
gdb/common/common-regcache.h | 9 +
gdb/gdbserver/Makefile.in | 1 +
gdb/gdbserver/linux-aarch64-ipa.c | 9 +-
gdb/gdbserver/linux-aarch64-low.c | 68 ++++++-
gdb/gdbserver/linux-aarch64-tdesc-selftest.c | 2 +-
gdb/gdbserver/linux-aarch64-tdesc.c | 30 ++-
gdb/gdbserver/linux-aarch64-tdesc.h | 2 +-
gdb/gdbserver/regcache.c | 57 ++++--
gdb/gdbserver/regcache.h | 23 ++-
gdb/gdbserver/server.h | 2 +-
gdb/nat/aarch64-linux-ptrace.h | 150 +++++++++++++++
gdb/nat/aarch64-linux-sigcontext.h | 129 +++++++++++++
gdb/nat/aarch64-sve-linux-ptrace.c | 271 ++++++++++++++++++++++++++-
gdb/nat/aarch64-sve-linux-ptrace.h | 53 +++---
gdb/regcache.c | 15 ++
gdb/regcache.h | 30 ++-
21 files changed, 963 insertions(+), 104 deletions(-)
create mode 100644 gdb/nat/aarch64-linux-ptrace.h
create mode 100644 gdb/nat/aarch64-linux-sigcontext.h

--
2.15.1 (Apple Git-101)