Add new NT_PPC_* available since Linux 4.8
authorGustavo Romero <gromero@linux.vnet.ibm.com>
Mon, 14 Aug 2017 14:48:04 +0000 (10:48 -0400)
committerAlan Modra <amodra@gmail.com>
Tue, 15 Aug 2017 22:15:28 +0000 (07:45 +0930)
Add new note types available since Linux 4.8 to elf/common.h and
make the 'readelf' tool aware of it.

include/
* elf/common.h (NT_PPC_TAR): New macro.
(NT_PPC_PPR): Likewise.
(NT_PPC_DSCR): Likewise.
(NT_PPC_EBB): Likewise.
(NT_PPC_PMU): Likewise.
(NT_PPC_TM_CGPR): Likewise.
(NT_PPC_TM_CFPR): Likewise.
(NT_PPC_TM_CVMX): Likewise.
(NT_PPC_TM_CVSX): Likewise.
(NT_PPC_TM_SPR): Likewise.
(NT_PPC_TM_CTAR): Likewise.
(NT_PPC_TM_CPPR): Likewise.
(NT_PPC_TM_CDSCR): Likewise.
binutils/
* readelf.c (get_note_type): Handle PPC note types available
since Linux 4.8.

binutils/ChangeLog
binutils/readelf.c
include/ChangeLog
include/elf/common.h

index 1208754d59371b2caf84fe4f478003bf163824d2..1e37ac6df7fc42267a4c05caed58337870e12306 100644 (file)
@@ -1,3 +1,8 @@
+2017-08-14  Gustavo Romero  <gromero@linux.vnet.ibm.com>
+
+       * readelf.c (get_note_type): Handle PPC note types available
+       since Linux 4.8.
+
 2017-08-12  Alan Modra  <amodra@gmail.com>
 
        * readelf.c (process_note): Qualify NT_GNU_BUILD_ATTRIBUTE notes
index 0fc656258360c7b4bcd4173ef56c8eb5be31a094..4bd68f28814c6bf8d063a9819f34b2d6a3ab2a3f 100644 (file)
@@ -16137,6 +16137,32 @@ get_note_type (unsigned e_type)
        return _("NT_PPC_VMX (ppc Altivec registers)");
       case NT_PPC_VSX:
        return _("NT_PPC_VSX (ppc VSX registers)");
+      case NT_PPC_TAR:
+       return _("NT_PPC_TAR (ppc TAR register)");
+      case NT_PPC_PPR:
+       return _("NT_PPC_PPR (ppc PPR register)");
+      case NT_PPC_DSCR:
+       return _("NT_PPC_DSCR (ppc DSCR register)");
+      case NT_PPC_EBB:
+       return _("NT_PPC_EBB (ppc EBB registers)");
+      case NT_PPC_PMU:
+       return _("NT_PPC_PMU (ppc PMU registers)");
+      case NT_PPC_TM_CGPR:
+       return _("NT_PPC_TM_CGPR (ppc checkpointed GPR registers)");
+      case NT_PPC_TM_CFPR:
+       return _("NT_PPC_TM_CFPR (ppc checkpointed floating point registers)");
+      case NT_PPC_TM_CVMX:
+       return _("NT_PPC_TM_CVMX (ppc checkpointed Altivec registers)");
+      case NT_PPC_TM_CVSX:
+       return _("NT_PPC_TM_VSX (ppc checkpointed VSX registers)");
+      case NT_PPC_TM_SPR:
+       return _("NT_PPC_TM_SPR (ppc TM special purpose registers)");
+      case NT_PPC_TM_CTAR:
+       return _("NT_PPC_TM_CTAR (ppc checkpointed TAR register)");
+      case NT_PPC_TM_CPPR:
+       return _("NT_PPC_TM_CPPR (ppc checkpointed PPR register)");
+      case NT_PPC_TM_CDSCR:
+       return _("NT_PPC_TM_CDSCR (ppc checkpointed DSCR register)");
       case NT_386_TLS:
        return _("NT_386_TLS (x86 TLS information)");
       case NT_386_IOPERM:
index 332ae9356c35728d11fb034634ec715d18ddd015..fcf8466c44a6ca250dbb4c360ffabc176a8e401b 100644 (file)
@@ -1,3 +1,19 @@
+2017-08-14  Gustavo Romero  <gromero@linux.vnet.ibm.com>
+
+       * elf/common.h (NT_PPC_TAR): New macro.
+       (NT_PPC_PPR): Likewise.
+       (NT_PPC_DSCR): Likewise.
+       (NT_PPC_EBB): Likewise.
+       (NT_PPC_PMU): Likewise.
+       (NT_PPC_TM_CGPR): Likewise.
+       (NT_PPC_TM_CFPR): Likewise.
+       (NT_PPC_TM_CVMX): Likewise.
+       (NT_PPC_TM_CVSX): Likewise.
+       (NT_PPC_TM_SPR): Likewise.
+       (NT_PPC_TM_CTAR): Likewise.
+       (NT_PPC_TM_CPPR): Likewise.
+       (NT_PPC_TM_CDSCR): Likewise.
+
 2017-08-06  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/21903:
index 3a144f03bc459e7c854c1f0d02b8fb411713f05e..d08731cca1c75864154fd37682a8e70a2445806c 100644 (file)
                                        /*   note name must be "LINUX".  */
 #define NT_PPC_VSX     0x102           /* PowerPC VSX registers */
                                        /*   note name must be "LINUX".  */
+#define NT_PPC_TAR     0x103           /* PowerPC Target Address Register */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_PPR     0x104           /* PowerPC Program Priority Register */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_DSCR    0x105           /* PowerPC Data Stream Control Register */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_EBB     0x106           /* PowerPC Event Based Branch Registers */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_PMU     0x107           /* PowerPC Performance Monitor Registers */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_CGPR 0x108           /* PowerPC TM checkpointed GPR Registers */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_CFPR 0x109           /* PowerPC TM checkpointed FPR Registers */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_CVMX 0x10a           /* PowerPC TM checkpointed VMX Registers */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_CVSX 0x10b           /* PowerPC TM checkpointed VSX Registers */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_SPR  0x10c           /* PowerPC TM Special Purpose Registers */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_CTAR 0x10d           /* PowerPC TM checkpointed TAR */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_CPPR 0x10e           /* PowerPC TM checkpointed PPR */
+                                       /*   note name must be "LINUX".  */
+#define NT_PPC_TM_CDSCR        0x10f           /* PowerPC TM checkpointed Data SCR */
+                                       /*   note name must be "LINUX".  */
 #define NT_386_TLS     0x200           /* x86 TLS information */
                                        /*   note name must be "LINUX".  */
 #define NT_386_IOPERM  0x201           /* x86 io permissions */