S390: Support new vector register sections
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Fri, 20 Feb 2015 09:39:53 +0000 (10:39 +0100)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 20 Feb 2015 09:39:53 +0000 (10:39 +0100)
commit4ef9f41a9538c9c7e4e540277e437b137cb64c4c
treeb339e21e87f344be927981f9f144c90bd6593ad9
parentdc049bf460bb1243aaaa48745bb8df64bbb3e1cd
S390: Support new vector register sections

The IBM z13 has new 128-bit wide vector registers v0-v31, where v0-v15
include the existing 64-bit wide floating point registers.  The Linux
kernel presents the vector registers as two additional register sets,
one for the right halves of v0-v15 and another one for the full
registers v16-v31.  Thus a new core file may contain two new register
note sections, and this patch adds support to binutils for them.

bfd/
* elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
(elfcore_write_s390_vxrs_high): Likewise.
* elf.c (elfcore_grok_s390_vxrs_low): New function.
(elfcore_grok_s390_vxrs_high): New function.
(elfcore_grok_note): Call them.
(elfcore_write_s390_vxrs_low): New function.
(elfcore_write_s390_vxrs_high): New function.
(elfcore_write_register_note): Call them.

binutils/
* readelf.c (get_note_type): Add NT_S390_VXRS_LOW and
NT_S390_VXRS_HIGH.

include/elf/
* common.h (NT_S390_VXRS_LOW): New macro.
(NT_S390_VXRS_HIGH): Likewise.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf.c
binutils/ChangeLog
binutils/readelf.c
include/elf/ChangeLog
include/elf/common.h