aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2015-02-20 10:39:53 +0100
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2015-02-20 10:39:53 +0100
commit4ef9f41a9538c9c7e4e540277e437b137cb64c4c (patch)
treeb339e21e87f344be927981f9f144c90bd6593ad9 /include
parentdc049bf460bb1243aaaa48745bb8df64bbb3e1cd (diff)
downloadfsf-binutils-gdb-4ef9f41a9538c9c7e4e540277e437b137cb64c4c.zip
fsf-binutils-gdb-4ef9f41a9538c9c7e4e540277e437b137cb64c4c.tar.gz
fsf-binutils-gdb-4ef9f41a9538c9c7e4e540277e437b137cb64c4c.tar.bz2
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.
Diffstat (limited to 'include')
-rw-r--r--include/elf/ChangeLog5
-rw-r--r--include/elf/common.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 99bc4ff..2dc5625 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * common.h (NT_S390_VXRS_LOW): New macro.
+ (NT_S390_VXRS_HIGH): Likewise.
+
2015-01-28 James Bowman <james.bowman@ftdichip.com>
* common.h (EM_FT32): Define.
diff --git a/include/elf/common.h b/include/elf/common.h
index ae7b5f81..70778bf 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -557,6 +557,10 @@
/* note name must be "LINUX". */
#define NT_S390_TDB 0x308 /* S390 transaction diagnostic block */
/* note name must be "LINUX". */
+#define NT_S390_VXRS_LOW 0x309 /* S390 vector registers 0-15 upper half */
+ /* note name must be "LINUX". */
+#define NT_S390_VXRS_HIGH 0x30a /* S390 vector registers 16-31 */
+ /* note name must be "LINUX". */
#define NT_ARM_VFP 0x400 /* ARM VFP registers */
/* The following definitions should really use NT_AARCH_..., but defined
this way for compatibility with Linux. */