This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-870-g89cd956


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  89cd956937f46e8f4a0374994965f991642dd408 (commit)
       via  1ae8bfe07c1ab2444cc1d186321ff1431a1b9f96 (commit)
      from  8fbec010989a242f6eb17be837255502c459977d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=89cd956937f46e8f4a0374994965f991642dd408

commit 89cd956937f46e8f4a0374994965f991642dd408
Author: Ryan S. Arnold <rsa@linux.vnet.ibm.com>
Date:   Fri Jun 28 16:52:49 2013 -0500

    PowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8.

diff --git a/ChangeLog b/ChangeLog
index 1ee4457..c5551b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2013-06-28  Ryan S. Arnold  <rsa@linux.vnet.ibm.com>
 
+	* sysdeps/powerpc/Makefile: Add comment about generating an offset to
+	rtld_global._dl_hwcap2.
+	* sysdeps/powerpc/bits/hwcap.h: Added PPC_FEATURE2_* definitions for
+	POWER8.
+	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Extend for
+	POWER8 feature descriptions defined in _dl_hwcap2.
+	* sysdeps/powerpc/dl-procinfo.h (_dl_procinfo): Implement AT_HWCAP2
+	string handling for POWER8 feature bits.
+	(_DL_HWCAP_COUNT): Increment to 64 to cover AT_HWCAP2 bits.
+	(_DL_HWCAP_LAST): New definition for position of last AT_HWCAP bit in
+	_dl_powerpc_cap_flags.
+	(_DL_HWCAP2_LAST): New definition for last usable bit of AT_HWCAP2.
+	* sysdeps/powerpc/rtld-global-offsets.sym
+	(RTLD_GLOBAL_RO_DL_HWCAP2_OFFSET): New offset macro to locate
+	_dl_hwcap2 in the rtld_global_ro structure.
+
+2013-06-28  Ryan S. Arnold  <rsa@linux.vnet.ibm.com>
+
 	* elf/dl-support.c (_dl_hwcap2): Add a new hwcap field for more
 	hardware capabilities in support of AT_HWCAP2.
 	(_dl_aux_init): Read AT_HWCAP2 into GLRO(dl_hwcap2).
diff --git a/sysdeps/powerpc/Makefile b/sysdeps/powerpc/Makefile
index 7442b67..f75e625 100644
--- a/sysdeps/powerpc/Makefile
+++ b/sysdeps/powerpc/Makefile
@@ -17,7 +17,7 @@ endif
 endif
 
 ifeq ($(subdir),csu)
-# get offset to rtld_global._dl_hwcap
+# get offset to rtld_global._dl_hwcap and rtld_global._dl_hwcap2
 gen-as-const-headers += rtld-global-offsets.sym
 # get offset to __locale_struct.__ctype_tolower
 gen-as-const-headers += locale-defines.sym
diff --git a/sysdeps/powerpc/bits/hwcap.h b/sysdeps/powerpc/bits/hwcap.h
index 783138a..0c02fc6 100644
--- a/sysdeps/powerpc/bits/hwcap.h
+++ b/sysdeps/powerpc/bits/hwcap.h
@@ -1,4 +1,4 @@
-/* Defines for bits in AT_HWCAP.
+/* Defines for bits in AT_HWCAP and AT_HWCAP2.
    Copyright (C) 2012-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -20,9 +20,9 @@
 # error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
 #endif
 
-/*
- * The following must match the kernels asm/cputable.h.
- */
+/* The bit numbers must match those in the kernel's asm/cputable.h.  */
+
+/* Feature definitions in AT_HWCAP.  */
 #define PPC_FEATURE_32		    0x80000000 /* 32-bit mode. */
 #define PPC_FEATURE_64		    0x40000000 /* 64-bit mode. */
 #define PPC_FEATURE_601_INSTR	    0x20000000 /* 601 chip, Old POWER ISA.  */
@@ -39,8 +39,9 @@
 #define PPC_FEATURE_POWER5	    0x00040000 /* POWER5 ISA 2.02 */
 #define PPC_FEATURE_POWER5_PLUS	    0x00020000 /* POWER5+ ISA 2.03 */
 #define PPC_FEATURE_CELL_BE	    0x00010000 /* CELL Broadband Engine */
-#define PPC_FEATURE_BOOKE	    0x00008000
-#define PPC_FEATURE_SMT		    0x00004000 /* Simultaneous Multi-Threading */
+#define PPC_FEATURE_BOOKE	    0x00008000 /* ISA Category Embedded */
+#define PPC_FEATURE_SMT		    0x00004000 /* Simultaneous
+						  Multi-Threading */
 #define PPC_FEATURE_ICACHE_SNOOP    0x00002000
 #define PPC_FEATURE_ARCH_2_05	    0x00001000 /* ISA 2.05 */
 #define PPC_FEATURE_PA6T	    0x00000800 /* PA Semi 6T Core */
@@ -51,3 +52,13 @@
 #define PPC_FEATURE_PSERIES_PERFMON_COMPAT  0x00000040
 #define PPC_FEATURE_TRUE_LE	    0x00000002
 #define PPC_FEATURE_PPC_LE	    0x00000001
+
+/* Feature definitions in AT_HWCAP2.  */
+#define PPC_FEATURE2_ARCH_2_07     0x80000000 /* ISA 2.07 */
+#define PPC_FEATURE2_HAS_HTM       0x40000000 /* Hardware Transactional
+						 Memory */
+#define PPC_FEATURE2_HAS_DSCR      0x20000000 /* Data Stream Control
+						 Register */
+#define PPC_FEATURE2_HAS_EBB       0x10000000 /* Event Base Branching */
+#define PPC_FEATURE2_HAS_ISEL      0x08000000 /* Integer Select */
+#define PPC_FEATURE2_HAS_TAR       0x04000000 /* Target Address Register */
diff --git a/sysdeps/powerpc/dl-procinfo.c b/sysdeps/powerpc/dl-procinfo.c
index 9654984..2984af1 100644
--- a/sysdeps/powerpc/dl-procinfo.c
+++ b/sysdeps/powerpc/dl-procinfo.c
@@ -45,7 +45,7 @@
 #if !defined PROCINFO_DECL && defined SHARED
   ._dl_powerpc_cap_flags
 #else
-PROCINFO_CLASS const char _dl_powerpc_cap_flags[25][10]
+PROCINFO_CLASS const char _dl_powerpc_cap_flags[57][10]
 #endif
 #ifndef PROCINFO_DECL
 = {
@@ -56,6 +56,14 @@ PROCINFO_CLASS const char _dl_powerpc_cap_flags[25][10]
     "notb", "efpdouble", "efpsingle", "spe",
     "ucache", "4xxmac", "mmu", "fpu",
     "altivec", "ppc601", "ppc64", "ppc32",
+    "", "", "", "",
+    "", "", "", "",
+    "", "", "", "",
+    "", "", "", "",
+    "", "", "", "",
+    "", "", "", "",
+    "", "", "tar", "isel",
+    "ebb", "dscr", "htm", "arch_2_07",
   }
 #endif
 #if !defined SHARED || defined PROCINFO_DECL
diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h
index 9531a2a..e7eeed9 100644
--- a/sysdeps/powerpc/dl-procinfo.h
+++ b/sysdeps/powerpc/dl-procinfo.h
@@ -20,11 +20,21 @@
 #define _DL_PROCINFO_H 1
 
 #include <ldsodefs.h>
-#include <sysdep.h>	/* This defines the PPC_FEATURE_* macros.  */
+#include <sysdep.h>	/* This defines the PPC_FEATURE[2]_* macros.  */
 
 /* There are 25 bits used, but they are bits 7..31.  */
 #define _DL_HWCAP_FIRST		7
-#define _DL_HWCAP_COUNT		32
+
+/* The total number of available bits (including those prior to
+   _DL_HWCAP_FIRST).  Some of these bits might not be used.  */
+#define _DL_HWCAP_COUNT		64
+
+/* Features started at bit 31 and decremented as new features were added.  */
+#define _DL_HWCAP_LAST		31
+
+/* AT_HWCAP2 features started at bit 31 and decremented as new features were
+   added.  HWCAP2 feature bits start at bit 0.  */
+#define _DL_HWCAP2_LAST		31
 
 /* These bits influence library search.  */
 #define HWCAP_IMPORTANT		(PPC_FEATURE_HAS_ALTIVEC \
@@ -161,18 +171,33 @@ static inline int
 __attribute__ ((unused))
 _dl_procinfo (unsigned int type, unsigned long int word)
 {
-  /* Fallback to unknown output mechanism.  */
-  if (type == AT_HWCAP2)
-    return -1;
-
-  _dl_printf ("AT_HWCAP:       ");
-
-  for (int i = _DL_HWCAP_FIRST; i < _DL_HWCAP_COUNT; ++i)
-    if (word & (1 << i))
-      _dl_printf (" %s", _dl_hwcap_string (i));
-
-  _dl_printf ("\n");
-
+  switch(type)
+    {
+    case AT_HWCAP:
+      _dl_printf ("AT_HWCAP:       ");
+
+      for (int i = _DL_HWCAP_FIRST; i <= _DL_HWCAP_LAST; ++i)
+       if (word & (1 << i))
+         _dl_printf (" %s", _dl_hwcap_string (i));
+      break;
+    case AT_HWCAP2:
+      {
+       unsigned int offset = _DL_HWCAP_LAST + 1;
+
+       _dl_printf ("AT_HWCAP2:      ");
+
+        /* We have to go through them all because the kernel added the
+          AT_HWCAP2 features starting with the high bits.  */
+       for (int i = 0; i <= _DL_HWCAP2_LAST; ++i)
+         if (word & (1 << i))
+           _dl_printf (" %s", _dl_hwcap_string (offset + i));
+       break;
+      }
+    default:
+      /* This should not happen.  */
+      return -1;
+    }
+   _dl_printf ("\n");
   return 0;
 }
 #endif
diff --git a/sysdeps/powerpc/rtld-global-offsets.sym b/sysdeps/powerpc/rtld-global-offsets.sym
index ff4e97f..f5ea5a1 100644
--- a/sysdeps/powerpc/rtld-global-offsets.sym
+++ b/sysdeps/powerpc/rtld-global-offsets.sym
@@ -5,3 +5,4 @@
 #define rtld_global_ro_offsetof(mem) offsetof (struct rtld_global_ro, mem)
 
 RTLD_GLOBAL_RO_DL_HWCAP_OFFSET	rtld_global_ro_offsetof (_dl_hwcap)
+RTLD_GLOBAL_RO_DL_HWCAP2_OFFSET	rtld_global_ro_offsetof (_dl_hwcap2)

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1ae8bfe07c1ab2444cc1d186321ff1431a1b9f96

commit 1ae8bfe07c1ab2444cc1d186321ff1431a1b9f96
Author: Ryan S. Arnold <rsa@linux.vnet.ibm.com>
Date:   Fri Jun 28 16:50:48 2013 -0500

    Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.

diff --git a/ChangeLog b/ChangeLog
index f3da517..1ee4457 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2013-06-28  Ryan S. Arnold  <rsa@linux.vnet.ibm.com>
+
+	* elf/dl-support.c (_dl_hwcap2): Add a new hwcap field for more
+	hardware capabilities in support of AT_HWCAP2.
+	(_dl_aux_init): Read AT_HWCAP2 into GLRO(dl_hwcap2).
+	* elf/dl-sysdep.c (_dl_sysdep_start): Read AT_HWCAP2 into
+	GLRO(dl_hwcap2).
+	(_dl_show_auxv): Add support for calling _dl_procinfo to display
+	AT_HWCAP2.  If a platform doesn't chose to handle displaying AT_HWCAP2
+	explicitly the unknown a_type display mechanism is used.
+	* misc/getauxval.c (__getauxval): Return GLRO(dl_hwcap2) on AT_HWCAP2.
+	* sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_hwcap2 as a new
+	struct member.
+	* sysdeps/generic/dl-procinfo.h (_dl_procinfo): Add TYPE parameter
+	to macro prototype for AT_HWCAP2 support.
+	* sysdeps/i386/dl-procinfo.h: Likewise.
+	* sysdeps/s390/dl-procinfo.h: Likewise.
+	* sysdeps/powerpc/dl-procinfo.h (_dl_procinfo): Add TYPE parameter to
+	macro prototype for AT_HWCAP2 support.  Make WORD unsigned long int
+	rather than signed int.  Stub in handler for TYPE == AT_HWCAP2 to
+	return -1 for unknown a_type display fallback.
+	* sysdeps/sparc/dl-procinfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/dl-procinfo.h: Likewise.
+
 2013-06-28  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Shift by page_shift
diff --git a/elf/dl-support.c b/elf/dl-support.c
index 76752f3..5a082fe 100644
--- a/elf/dl-support.c
+++ b/elf/dl-support.c
@@ -165,6 +165,7 @@ ElfW(auxv_t) *_dl_auxv;
 const ElfW(Phdr) *_dl_phdr;
 size_t _dl_phnum;
 uint64_t _dl_hwcap __attribute__ ((nocommon));
+uint64_t _dl_hwcap2 __attribute__ ((nocommon));
 
 /* This is not initialized to HWCAP_IMPORTANT, matching the definition
    of _dl_important_hwcaps, below, where no hwcap strings are ever
@@ -249,6 +250,9 @@ _dl_aux_init (ElfW(auxv_t) *av)
       case AT_HWCAP:
 	GLRO(dl_hwcap) = (unsigned long int) av->a_un.a_val;
 	break;
+      case AT_HWCAP2:
+	GLRO(dl_hwcap2) = (unsigned long int) av->a_un.a_val;
+	break;
 #ifdef NEED_DL_SYSINFO
       case AT_SYSINFO:
 	GL(dl_sysinfo) = av->a_un.a_val;
diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c
index 52de23f..08c74ef 100644
--- a/elf/dl-sysdep.c
+++ b/elf/dl-sysdep.c
@@ -156,6 +156,9 @@ _dl_sysdep_start (void **start_argptr,
       case AT_HWCAP:
 	GLRO(dl_hwcap) = (unsigned long int) av->a_un.a_val;
 	break;
+      case AT_HWCAP2:
+	GLRO(dl_hwcap2) = (unsigned long int) av->a_un.a_val;
+	break;
       case AT_CLKTCK:
 	GLRO(dl_clktck) = av->a_un.a_val;
 	break;
@@ -303,6 +306,7 @@ _dl_show_auxv (void)
 	  [AT_SYSINFO - 2] =		{ "SYSINFO:      0x", hex },
 	  [AT_SYSINFO_EHDR - 2] =	{ "SYSINFO_EHDR: 0x", hex },
 	  [AT_RANDOM - 2] =		{ "RANDOM:       0x", hex },
+	  [AT_HWCAP2 - 2] =		{ "HWCAP2:       0x", hex },
 	};
       unsigned int idx = (unsigned int) (av->a_type - 2);
 
@@ -314,10 +318,10 @@ _dl_show_auxv (void)
       assert (AT_NULL == 0);
       assert (AT_IGNORE == 1);
 
-      if (av->a_type == AT_HWCAP)
+      if (av->a_type == AT_HWCAP || av->a_type == AT_HWCAP2)
 	{
-	  /* This is handled special.  */
-	  if (_dl_procinfo (av->a_un.a_val) == 0)
+	  /* These are handled in a special way per platform.  */
+	  if (_dl_procinfo (av->a_type, av->a_un.a_val) == 0)
 	    continue;
 	}
 
diff --git a/misc/getauxval.c b/misc/getauxval.c
index 4321e37..e0317fd 100644
--- a/misc/getauxval.c
+++ b/misc/getauxval.c
@@ -26,6 +26,8 @@ __getauxval (unsigned long int type)
 
   if (type == AT_HWCAP)
     return GLRO(dl_hwcap);
+  else if (type == AT_HWCAP2)
+    return GLRO(dl_hwcap2);
 
   for (p = GLRO(dl_auxv); p->a_type != AT_NULL; p++)
     if (p->a_type == type)
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index 59e78d1..1ccae37 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,3 +1,8 @@
+2013-06-28  Ryan S. Arnold  <rsa@linux.vnet.ibm.com>
+
+	* sysdeps/alpha/dl-procinfo.h (_dl_procinfo): Add TYPE parameter
+	to macro prototype for AT_HWCAP2 support.
+
 2013-06-24  Richard Henderson  <rth@redhat.com>
 
 	[BZ #15666]
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 2c07021..6cc665c 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,10 @@
+2013-06-28  Ryan S. Arnold  <rsa@linux.vnet.ibm.com>
+
+	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_dl_procinfo): Add
+	TYPE parameter to macro prototype for AT_HWCAP2 support.  Make WORD
+	unsigned long int rather than signed int.  Stub in handler for TYPE ==
+	AT_HWCAP2 to return -1 for unknown a_type display fallback.
+
 2013-06-18  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/arm/arm-mcount.S: Comment typo fix.
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index 00542f5..1f69593 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,8 @@
+2013-06-28  Ryan S. Arnold  <rsa@linux.vnet.ibm.com>
+
+	* sysdeps/mips/dl-procinfo.h (_dl_procinfo): Add TYPE parameter
+	to macro prototype for AT_HWCAP2 support.
+
 2013-06-27  Maciej W. Rozycki  <macro@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/mips/dl-static.c: Do not include
diff --git a/ports/sysdeps/alpha/dl-procinfo.h b/ports/sysdeps/alpha/dl-procinfo.h
index 523d966..0344dbc 100644
--- a/ports/sysdeps/alpha/dl-procinfo.h
+++ b/ports/sysdeps/alpha/dl-procinfo.h
@@ -51,7 +51,7 @@ _dl_string_platform (const char *str)
 };
 
 /* We cannot provide a general printing function.  */
-#define _dl_procinfo(word) -1
+#define _dl_procinfo(type, word) -1
 
 /* There are no hardware capabilities defined.  */
 #define _dl_hwcap_string(idx) ""
diff --git a/ports/sysdeps/mips/dl-procinfo.h b/ports/sysdeps/mips/dl-procinfo.h
index 5cc9a44..e96550c 100644
--- a/ports/sysdeps/mips/dl-procinfo.h
+++ b/ports/sysdeps/mips/dl-procinfo.h
@@ -51,7 +51,7 @@ _dl_string_platform (const char *str)
 };
 
 /* We cannot provide a general printing function.  */
-#define _dl_procinfo(word) -1
+#define _dl_procinfo(type, word) -1
 
 /* There are no hardware capabilities defined.  */
 #define _dl_hwcap_string(idx) ""
diff --git a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
index 161e86c..251653a 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
@@ -31,10 +31,14 @@
 
 static inline int
 __attribute__ ((unused))
-_dl_procinfo (int word)
+_dl_procinfo (unsigned int type, unsigned long int word)
 {
   int i;
 
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
   _dl_printf ("AT_HWCAP:   ");
 
   for (i = 0; i < _DL_HWCAP_COUNT; ++i)
diff --git a/sysdeps/generic/dl-procinfo.h b/sysdeps/generic/dl-procinfo.h
index 90c87d9..a184a59 100644
--- a/sysdeps/generic/dl-procinfo.h
+++ b/sysdeps/generic/dl-procinfo.h
@@ -21,7 +21,7 @@
 #define _DL_PROCINFO_H	1
 
 /* We cannot provide a general printing function.  */
-#define _dl_procinfo(word) -1
+#define _dl_procinfo(type, word) -1
 
 /* There are no hardware capabilities defined.  */
 #define _dl_hwcap_string(idx) ""
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index cb17204..e7b0516 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -554,6 +554,10 @@ struct rtld_global_ro
   EXTERN struct link_map *_dl_sysinfo_map;
 #endif
 
+  /* Mask for more hardware capabilities that are available on some
+     platforms.  */
+  EXTERN uint64_t _dl_hwcap2;
+
 #ifdef SHARED
   /* We add a function table to _rtld_global which is then used to
      call the function instead of going through the PLT.  The result
diff --git a/sysdeps/i386/dl-procinfo.h b/sysdeps/i386/dl-procinfo.h
index 883fa7f..233a325 100644
--- a/sysdeps/i386/dl-procinfo.h
+++ b/sysdeps/i386/dl-procinfo.h
@@ -61,7 +61,7 @@ enum
 };
 
 /* We cannot provide a general printing function.  */
-#define _dl_procinfo(word) -1
+#define _dl_procinfo(type, word) -1
 
 static inline const char *
 __attribute__ ((unused))
diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h
index 1c978ba..9531a2a 100644
--- a/sysdeps/powerpc/dl-procinfo.h
+++ b/sysdeps/powerpc/dl-procinfo.h
@@ -159,8 +159,12 @@ _dl_string_platform (const char *str)
 #ifdef IS_IN_rtld
 static inline int
 __attribute__ ((unused))
-_dl_procinfo (int word)
+_dl_procinfo (unsigned int type, unsigned long int word)
 {
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
   _dl_printf ("AT_HWCAP:       ");
 
   for (int i = _DL_HWCAP_FIRST; i < _DL_HWCAP_COUNT; ++i)
diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h
index 717f6f9..45e27f1 100644
--- a/sysdeps/s390/dl-procinfo.h
+++ b/sysdeps/s390/dl-procinfo.h
@@ -56,7 +56,7 @@ enum
 			  | HWCAP_S390_EIMM | HWCAP_S390_DFP)
 
 /* We cannot provide a general printing function.  */
-#define _dl_procinfo(word) -1
+#define _dl_procinfo(type, word) -1
 
 static inline const char *
 __attribute__ ((unused))
diff --git a/sysdeps/sparc/dl-procinfo.h b/sysdeps/sparc/dl-procinfo.h
index a18b099..71b279a 100644
--- a/sysdeps/sparc/dl-procinfo.h
+++ b/sysdeps/sparc/dl-procinfo.h
@@ -27,10 +27,14 @@
 
 static inline int
 __attribute__ ((unused))
-_dl_procinfo (int word)
+_dl_procinfo (unsigned int type, unsigned long int word)
 {
   int i;
 
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
   _dl_printf ("AT_HWCAP:   ");
 
   for (i = 0; i < _DL_HWCAP_COUNT; ++i)
diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
index a82f8f5..10f1c00 100644
--- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
@@ -24,12 +24,16 @@
 #undef _dl_procinfo
 static inline int
 __attribute__ ((unused))
-_dl_procinfo (int word)
+_dl_procinfo (unsigned int type, unsigned long int word)
 {
   /* This table should match the information from arch/i386/kernel/setup.c
      in the kernel sources.  */
   int i;
 
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
   _dl_printf ("AT_HWCAP:   ");
 
   for (i = 0; i < _DL_HWCAP_COUNT; ++i)
diff --git a/sysdeps/unix/sysv/linux/s390/dl-procinfo.h b/sysdeps/unix/sysv/linux/s390/dl-procinfo.h
index 5ca4b76..3312304 100644
--- a/sysdeps/unix/sysv/linux/s390/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/s390/dl-procinfo.h
@@ -24,12 +24,16 @@
 #undef _dl_procinfo
 static inline int
 __attribute__ ((unused))
-_dl_procinfo (int word)
+_dl_procinfo (unsigned int type, unsigned long int word)
 {
   /* This table should match the information from arch/s390/kernel/setup.c
      in the kernel sources.  */
   int i;
 
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
   _dl_printf ("AT_HWCAP:   ");
 
   for (i = 0; i < _DL_HWCAP_COUNT; ++i)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                       |   43 +++++++++++++++++++
 elf/dl-support.c                                |    4 ++
 elf/dl-sysdep.c                                 |   10 +++-
 misc/getauxval.c                                |    2 +
 ports/ChangeLog.alpha                           |    5 ++
 ports/ChangeLog.arm                             |    7 +++
 ports/ChangeLog.mips                            |    5 ++
 ports/sysdeps/alpha/dl-procinfo.h               |    2 +-
 ports/sysdeps/mips/dl-procinfo.h                |    2 +-
 ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h |    6 ++-
 sysdeps/generic/dl-procinfo.h                   |    2 +-
 sysdeps/generic/ldsodefs.h                      |    4 ++
 sysdeps/i386/dl-procinfo.h                      |    2 +-
 sysdeps/powerpc/Makefile                        |    2 +-
 sysdeps/powerpc/bits/hwcap.h                    |   23 ++++++++---
 sysdeps/powerpc/dl-procinfo.c                   |   10 ++++-
 sysdeps/powerpc/dl-procinfo.h                   |   51 ++++++++++++++++++-----
 sysdeps/powerpc/rtld-global-offsets.sym         |    1 +
 sysdeps/s390/dl-procinfo.h                      |    2 +-
 sysdeps/sparc/dl-procinfo.h                     |    6 ++-
 sysdeps/unix/sysv/linux/i386/dl-procinfo.h      |    6 ++-
 sysdeps/unix/sysv/linux/s390/dl-procinfo.h      |    6 ++-
 22 files changed, 170 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]