This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 0/7] Arm: Use feature target descriptions
- From: Alan Hayward <Alan dot Hayward at arm dot com>
- To: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Cc: nd <nd at arm dot com>, Alan Hayward <Alan dot Hayward at arm dot com>
- Date: Fri, 5 Jul 2019 09:45:32 +0000
- Subject: [PATCH 0/7] Arm: Use feature target descriptions
- Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan dot Hayward at arm dot com;
This set of patches is a result of me trying to figure out exactly what
is supported for Arm. It moves Arm over to using feature target descriptions,
simplifying the confusion of xml files in the features/arm/ directory.
In addition it helps to further separate out AArch32.
There are zero functional changes made by this series. The intention is
that all Arm target descriptions are identical before and after the series.
All quirks that might seem odd (for example, the Arm with NEON creates a
vfp3 feature and then a blank neon feature) have been preserved. One of the
patches adds tests to prove the new target descriptions are identical. The
final patch then removes these tests (as they block the removal of the xml
files).
One of the patches breaks the AArch64 gdbserver build, but it is fixed in
the following patch. Preventing this would have meant including additional
unused functionality, and then removing again.
Code has been tested with AArch32, Armv7, and X86 target-all builds. I don't
have every Arm target to test this on, but the xml tests should alleviate any
issue.
Alan Hayward (7):
Arm: Minor style cleanups
Arm: Create feature files for Arm target descriptions
Arm: Add read_description read funcs and use in GDB
Arm: Use feature target descriptions
Arm: Add xml unit tests
Arm: Use read_description funcs in gdbserver
Arm: Remove unused feature files and tests
gdb/Makefile.in | 5 +
gdb/aarch32-tdep.c | 33 +++++
gdb/aarch32-tdep.h | 25 ++++
gdb/aarch64-linux-nat.c | 6 +-
gdb/arch/aarch32.c | 43 +++++++
gdb/arch/aarch32.h | 27 ++++
gdb/arch/arm.c | 84 +++++++++++++
gdb/arch/arm.h | 27 ++++
gdb/arm-fbsd-tdep.c | 11 +-
gdb/arm-linux-nat.c | 30 ++---
gdb/arm-linux-tdep.c | 11 +-
gdb/arm-tdep.c | 51 ++++----
gdb/arm-tdep.h | 8 +-
gdb/configure.tgt | 8 +-
gdb/features/Makefile | 30 ++---
gdb/features/arm/arm-core.c | 31 +++++
gdb/features/arm/arm-fpa.c | 23 ++++
gdb/features/arm/arm-m-profile-with-fpa.c | 39 ++++++
...-layout.xml => arm-m-profile-with-fpa.xml} | 13 +-
gdb/features/arm/arm-m-profile.c | 31 +++++
gdb/features/arm/arm-vfpv2.c | 30 +++++
gdb/features/arm/arm-vfpv3.c | 46 +++++++
gdb/features/arm/arm-with-iwmmxt.c | 83 -------------
gdb/features/arm/arm-with-iwmmxt.xml | 13 --
gdb/features/arm/arm-with-m-fpa-layout.c | 46 -------
gdb/features/arm/arm-with-m-vfp-d16.c | 56 ---------
gdb/features/arm/arm-with-m-vfp-d16.xml | 14 ---
gdb/features/arm/arm-with-m.c | 37 ------
gdb/features/arm/arm-with-m.xml | 12 --
gdb/features/arm/arm-with-neon.c | 74 -----------
gdb/features/arm/arm-with-neon.xml | 14 ---
gdb/features/arm/arm-with-vfpv2.c | 56 ---------
gdb/features/arm/arm-with-vfpv2.xml | 13 --
gdb/features/arm/arm-with-vfpv3.c | 72 -----------
gdb/features/arm/arm-with-vfpv3.xml | 13 --
gdb/features/arm/xscale-iwmmxt.c | 57 +++++++++
gdb/gdbserver/configure.srv | 22 ++--
gdb/gdbserver/linux-aarch32-low.c | 2 -
gdb/gdbserver/linux-aarch32-low.h | 2 -
gdb/gdbserver/linux-aarch32-tdesc.c | 46 +++++++
gdb/gdbserver/linux-aarch32-tdesc.h | 29 +++++
gdb/gdbserver/linux-aarch64-low.c | 3 +-
gdb/gdbserver/linux-arm-low.c | 115 ++++++++----------
gdb/gdbserver/linux-arm-tdesc.c | 62 ++++++++++
gdb/gdbserver/linux-arm-tdesc.h | 29 +++++
gdb/target-descriptions.c | 3 +-
46 files changed, 810 insertions(+), 675 deletions(-)
create mode 100644 gdb/aarch32-tdep.c
create mode 100644 gdb/aarch32-tdep.h
create mode 100644 gdb/arch/aarch32.c
create mode 100644 gdb/arch/aarch32.h
create mode 100644 gdb/features/arm/arm-core.c
create mode 100644 gdb/features/arm/arm-fpa.c
create mode 100644 gdb/features/arm/arm-m-profile-with-fpa.c
rename gdb/features/arm/{arm-with-m-fpa-layout.xml => arm-m-profile-with-fpa.xml} (78%)
create mode 100644 gdb/features/arm/arm-m-profile.c
create mode 100644 gdb/features/arm/arm-vfpv2.c
create mode 100644 gdb/features/arm/arm-vfpv3.c
delete mode 100644 gdb/features/arm/arm-with-iwmmxt.c
delete mode 100644 gdb/features/arm/arm-with-iwmmxt.xml
delete mode 100644 gdb/features/arm/arm-with-m-fpa-layout.c
delete mode 100644 gdb/features/arm/arm-with-m-vfp-d16.c
delete mode 100644 gdb/features/arm/arm-with-m-vfp-d16.xml
delete mode 100644 gdb/features/arm/arm-with-m.c
delete mode 100644 gdb/features/arm/arm-with-m.xml
delete mode 100644 gdb/features/arm/arm-with-neon.c
delete mode 100644 gdb/features/arm/arm-with-neon.xml
delete mode 100644 gdb/features/arm/arm-with-vfpv2.c
delete mode 100644 gdb/features/arm/arm-with-vfpv2.xml
delete mode 100644 gdb/features/arm/arm-with-vfpv3.c
delete mode 100644 gdb/features/arm/arm-with-vfpv3.xml
create mode 100644 gdb/features/arm/xscale-iwmmxt.c
create mode 100644 gdb/gdbserver/linux-aarch32-tdesc.c
create mode 100644 gdb/gdbserver/linux-aarch32-tdesc.h
create mode 100644 gdb/gdbserver/linux-arm-tdesc.c
create mode 100644 gdb/gdbserver/linux-arm-tdesc.h
--
2.20.1 (Apple Git-117)