gdbserver: Add GNU/Linux support for ARC
authorAnton Kolesov <Anton.Kolesov@synopsys.com>
Wed, 6 Jul 2016 17:30:29 +0000 (20:30 +0300)
committerShahab Vahedi <shahab@synopsys.com>
Wed, 7 Oct 2020 15:46:23 +0000 (17:46 +0200)
commit6d2d7c5668f99d1fe9a8da643a43c824b104b337
treec4679196ec31a8674c6ca02ae217daca086c1b0e
parente4bd363f994cf12017cb17dddeb2bc35698ee349
gdbserver: Add GNU/Linux support for ARC

This gdbserver implementation supports ARC ABI v3 and v4 (older ARC ABI
versions are not supported by other modern GNU tools or Linux itself).
Gdbserver supports inspection of ARC HS registers R30, R58 and R59 - feature
that has been added to Linux 4.12.  Whether gdbserver build will actually
support this feature depends on the version of Linux headers used to build
the server.

v2 [1]:
- Use "this->read_memory ()" instead of "the_target->read_memory ()".
- Remove the unnecessary "arch-arc.o:" target from the "Makefile.in".
- Got rid of "ntohs()" function and added lots of comments about
  endianness.
- Clarify why "pc" value is read from and saved to different fields
  in user regs struct.
- In function "is_reg_name_available_p()", use a range-based iterator
  to loop over the registers.
- Removed mentioning of issue number that was not related to sourceware.
- A few typo's fixed.

[1] Remarks
https://sourceware.org/pipermail/gdb-patches/2020-September/171911.html
https://sourceware.org/pipermail/gdb-patches/2020-September/171919.html

gdbserver/ChangeLog:

* configure.srv: Support ARC architecture.
* Makefile.in: Add linux-arc-low.cc and arch/arc.o.
* linux-arc-low.cc: New file.
gdbserver/ChangeLog
gdbserver/Makefile.in
gdbserver/configure.srv
gdbserver/linux-arc-low.cc [new file with mode: 0644]