diff options
Diffstat (limited to 'ports')
-rw-r--r-- | ports/ChangeLog.alpha | 5 | ||||
-rw-r--r-- | ports/ChangeLog.arm | 5 | ||||
-rw-r--r-- | ports/ChangeLog.mips | 5 | ||||
-rw-r--r-- | ports/ChangeLog.powerpc | 5 | ||||
-rw-r--r-- | ports/sysdeps/alpha/dl-procinfo.h | 2 | ||||
-rw-r--r-- | ports/sysdeps/mips/dl-procinfo.h | 2 | ||||
-rw-r--r-- | ports/sysdeps/powerpc/dl-procinfo.h | 30 | ||||
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h | 6 |
8 files changed, 53 insertions, 7 deletions
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha index 9a77d276ab..91ec847e68 100644 --- a/ports/ChangeLog.alpha +++ b/ports/ChangeLog.alpha @@ -1,3 +1,8 @@ +2013-05-03 Ryan S. Arnold <rsa@linux.vnet.ibm.com> + + * sysdeps/alpha/dl-procinfo.h (_dl_procinfo): Add 'type' parameter for + AT_HWCAP2 support. + 2013-03-06 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/alpha/bits/mman.h (MAP_HUGE_MASK) diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 9bd3aad07e..fb43486661 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,3 +1,8 @@ +2013-05-03 Ryan S. Arnold <rsa@linux.vnet.ibm.com> + + * sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_dl_procinfo): Add + nop support for AT_HWCAP2. + 2013-04-19 Roland McGrath <roland@hack.frob.com> * sysdeps/arm/sysdep.h diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips index b221512655..2c96a3d795 100644 --- a/ports/ChangeLog.mips +++ b/ports/ChangeLog.mips @@ -1,3 +1,8 @@ +2013-05-03 Ryan S. Arnold <rsa@linux.vnet.ibm.com> + + * sysdeps/mips/dl-procinfo.h (_dl_procinfo): Add 'type' parameter for + AT_HWCAP2 support. + 2013-04-02 Thomas Schwinge <thomas@codesourcery.com> * sysdeps/mips/math_private.h: New file. diff --git a/ports/ChangeLog.powerpc b/ports/ChangeLog.powerpc index 2ba8e3754f..c787da6df0 100644 --- a/ports/ChangeLog.powerpc +++ b/ports/ChangeLog.powerpc @@ -1,3 +1,8 @@ +2013-05-03 Ryan S. Arnold <rsa@linux.vnet.ibm.com> + + * sysdeps/powerpc/dl-procinfo.h (_dl_procinfo): Add support for + displaying AT_HWCAP2 strings. + 2013-02-28 Joseph Myers <joseph@codesourcery.com> [BZ #13550] diff --git a/ports/sysdeps/alpha/dl-procinfo.h b/ports/sysdeps/alpha/dl-procinfo.h index 523d966761..0344dbc968 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 5cc9a44446..e96550c402 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/powerpc/dl-procinfo.h b/ports/sysdeps/powerpc/dl-procinfo.h index b45465c3dd..a9d98d34ef 100644 --- a/ports/sysdeps/powerpc/dl-procinfo.h +++ b/ports/sysdeps/powerpc/dl-procinfo.h @@ -19,6 +19,7 @@ #ifndef _DL_PROCINFO_H #define _DL_PROCINFO_H 1 +#include <stdint.h> #include <ldsodefs.h> #include <sysdep.h> /* This defines the PPC_FEATURE_* macros. */ @@ -153,19 +154,40 @@ _dl_string_platform (const char *str) } #ifdef IS_IN_rtld + static inline int __attribute__ ((unused)) -_dl_procinfo (int word) +_dl_procinfo (unsigned int type, int word) { - _dl_printf ("AT_HWCAP: "); + unsigned int first, count, str_offset; - for (int i = _DL_HWCAP_FIRST; i < _DL_HWCAP_COUNT; ++i) + switch(type) + { + case AT_HWCAP: + _dl_printf ("AT_HWCAP: "); + first = _DL_HWCAP_FIRST; + count = MIN(_DL_HWCAP_COUNT,_DL_HWCAP2_FIRST); + str_offset = 0; + break; + case AT_HWCAP2: + _dl_printf ("AT_HWCAP2: "); + first = 0; + count = _DL_HWCAP_COUNT - _DL_HWCAP2_FIRST; + str_offset = _DL_HWCAP2_FIRST; + break; + default: + /* This should not happen. */ + return -1; + } + + for (int i = first; i < count; ++i) if (word & (1 << i)) - _dl_printf (" %s", _dl_hwcap_string (i)); + _dl_printf (" %s", _dl_hwcap_string (str_offset + i)); _dl_printf ("\n"); return 0; + } #endif diff --git a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h index 161e86c796..1f3a8ceb50 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, int word) { int i; + /* Unused for now. */ + if (type == AT_HWCAP2) + return 0; + _dl_printf ("AT_HWCAP: "); for (i = 0; i < _DL_HWCAP_COUNT; ++i) |