]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
arc: Add support for ARC HS extra registers in core files
authorAnton Kolesov <Anton.Kolesov@synopsys.com>
Mon, 15 May 2017 13:17:29 +0000 (16:17 +0300)
committerClaudiu Zissulescu <claziss@gmail.com>
Thu, 23 Apr 2020 08:09:09 +0000 (11:09 +0300)
commit2745674244d6aecddcf636475034bdb9c0a6b4a0
tree9dccc5b7f4444f1971361691119062f69c24c57c
parent96038148d0e9f7dc89284310d065e27a3fa375f2
arc: Add support for ARC HS extra registers in core files

When a coredump is generated, there are a few registers in
ARC HS that are put under a special section, namely ".reg-v2".
It is for backward compatibility reasons with older tools that
we have decided not to extend the generic ".reg" section.

This patch makes it possible to display the information better
regarding that section.  Compare the output of "readelf" without
and with these changes:

$ readelf -n core     # without the patch
  ...
  LINUX    0x0000000c  Unknown note type: (0x00000600)
   description data: 78 08 00 00 2f 6c 64 2d 75 43 6c 69

$ readelf -n core     # with the patch
  ...
  LINUX    0x0000000c  NT_ARC_V2 (ARC HS accumulator/extra registers)
   description data: 78 08 00 00 2f 6c 64 2d 75 43 6c 69

In another commit (soon to be submitted), GDB will makes use of these
changes to parse the extra section and its registers.

bfd/ChangeLog
2020-03-26  Anton Kolesov  <anton.kolesov@synopsys.com>

* elf-bfd.h (elfcore_write_arc_v2): Add prototype.
* elf.c (elfcore_grok_arc_v2): New function.
(elfcore_grok_note): Call the new function to handle the corresponding
note.
(elfcore_write_arc_v2): New function.
(elfcore_write_register_note): Call the new function to handle the
corresponding pseudo-sections.

binutils/ChangeLog
2020-03-26  Anton Kolesov  <anton.kolesov@synopsys.com>

* readelf.c (get_note_type): Handle NT_ARC_V2.

include/elf/ChangeLog
2020-03-26  Anton Kolesov  <anton.kolesov@synopsys.com>

* common.h (NT_ARC_V2): New macro definitions.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf.c
binutils/ChangeLog
binutils/readelf.c
include/ChangeLog
include/elf/common.h