aarch64: Add an aarch64_nat_target mixin class.
authorJohn Baldwin <jhb@FreeBSD.org>
Tue, 22 Mar 2022 19:05:43 +0000 (12:05 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Tue, 22 Mar 2022 19:05:43 +0000 (12:05 -0700)
commit1570c37c340bb9df2db2c30b437d6c30e1d75459
treebb521df0001a1d2e73327b8ca7f88f61f8711edf
parent4bd817e71eefd659f51ec75bfb13109c486e8311
aarch64: Add an aarch64_nat_target mixin class.

This class includes platform-independent target methods for hardware
breakpoints and watchpoints using routines from
nat/aarch64-hw-point.c.

stopped_data_address is not platform-independent since the FAR
register holding the address for a breakpoint hit must be fetched in a
platform-specific manner.  However, aarch64_stopped_data_address is
provided as a helper routine which performs platform-independent
validation given the value of the FAR register.

For tracking the per-process debug register mirror state, use an
unordered_map indexed by pid as recently adopted in x86-nat.c rather
than a manual linked-list.
gdb/aarch64-linux-nat.c
gdb/aarch64-nat.c [new file with mode: 0644]
gdb/aarch64-nat.h [new file with mode: 0644]
gdb/configure.nat