Blob Blame History Raw
commit 718ee4dc9b09491707420ae403ad1ce8dfdb61b2
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Thu Jan 30 19:12:35 2014 +0100

    Add support for AT_HWCAP2 auxv entry
    
    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.

### a/gdb/ChangeLog
### b/gdb/ChangeLog
## -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
--- a/gdb/auxv.c
+++ b/gdb/auxv.c
@@ -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);
### a/include/elf/ChangeLog
### b/include/elf/ChangeLog
## -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>
 
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -959,6 +959,7 @@
 #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.  */