aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
Diffstat (limited to 'ports')
-rw-r--r--ports/ChangeLog.alpha5
-rw-r--r--ports/ChangeLog.arm5
-rw-r--r--ports/ChangeLog.mips5
-rw-r--r--ports/ChangeLog.powerpc5
-rw-r--r--ports/sysdeps/alpha/dl-procinfo.h2
-rw-r--r--ports/sysdeps/mips/dl-procinfo.h2
-rw-r--r--ports/sysdeps/powerpc/dl-procinfo.h30
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h6
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)