This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/7] Arm: Use feature target descriptions


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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]