Add support for AT_HWCAP2 auxv entry
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Thu, 30 Jan 2014 18:12:35 +0000 (19:12 +0100)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Thu, 30 Jan 2014 18:12:35 +0000 (19:12 +0100)
Recent ppc64 Linux kernels provide a new auxv entry AT_HWCAP2,
which is currently not recognized by GDB, causing every use of
"info auxv" to show an error.

This commit adds the AT_HWCAP2 define to include/elf/common.h
and handles it in GDB.

include/elf/ChangeLog:

* common.h (AT_HWCAP2): Define.

gdb/ChangeLog:

* auxv.c (fprint_target_auxv): Handle AT_HWCAP2.

gdb/ChangeLog
gdb/auxv.c
include/elf/ChangeLog
include/elf/common.h

index e461875..d124c7b 100644 (file)
@@ -1,3 +1,7 @@
+2014-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * auxv.c (fprint_target_auxv): Handle AT_HWCAP2.
+
 2014-01-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * sparc64-linux-tdep.c (sparc64_linux_step_trap): Get PC from
index dacad10..dd13237 100644 (file)
@@ -442,6 +442,7 @@ fprint_target_auxv (struct ui_file *file, struct target_ops *ops)
          TAG (AT_IGNOREPPC, _("Entry should be ignored"), dec);
          TAG (AT_BASE_PLATFORM, _("String identifying base platform"), str);
          TAG (AT_RANDOM, _("Address of 16 random bytes"), hex);
+         TAG (AT_HWCAP2, _("Extension of AT_HWCAP"), hex);
          TAG (AT_EXECFN, _("File name of executable"), str);
          TAG (AT_SECURE, _("Boolean, was exec setuid-like?"), dec);
          TAG (AT_SYSINFO, _("Special system info/entry points"), hex);
index 8910d42..b9127b4 100644 (file)
@@ -1,3 +1,7 @@
+2014-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * common.h (AT_HWCAP2): Define.
+
 2013-12-13  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
            Wei-Cheng Wang  <cole945@gmail.com>
 
index cd3bcdd..2e3e43a 100644 (file)
 #define AT_BASE_PLATFORM 24            /* String identifying real platform,
                                           may differ from AT_PLATFORM.  */
 #define AT_RANDOM      25              /* Address of 16 random bytes.  */
+#define AT_HWCAP2      26              /* Extension of AT_HWCAP.  */
 #define AT_EXECFN      31              /* Filename of executable.  */
 /* Pointer to the global system page used for system calls and other
    nice things.  */