Bug#534126: please update arm hwcaps
Package: eglibc
Version: 2.9-17
Severity: normal
User: debian-arm@lists.debian.org
Usertags: eabi
The following two patches from ubuntu would be important to get to
debian too. NEON hwcap needs 2.6.30, but vfp is already usable. These
are needed to ship for example neon/vfp optimized versions of ffmpeg.
diff -urN old/eglibc-2.9/debian/patches/arm/local-hwcap-updates.diff eglibc-2.9/debian/patches/arm/local-hwcap-updates.diff
--- old/eglibc-2.9/debian/patches/arm/local-hwcap-updates.diff 1970-01-01 00:00:00.000000000 +0000
+++ eglibc-2.9/debian/patches/arm/local-hwcap-updates.diff 2009-06-19 18:08:10.000000000 +0000
@@ -0,0 +1,47 @@
+Add support for some recent ARM hwcaps additions.
+---
+ ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c | 4 ++--
+ ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h | 2 +-
+ ports/sysdeps/unix/sysv/linux/arm/sysdep.h | 3 +++
+ 3 files changed, 6 insertions(+), 3 deletions(-)
+
+--- a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
++++ b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
+@@ -47,12 +47,12 @@
+ #if !defined PROCINFO_DECL && defined SHARED
+ ._dl_arm_cap_flags
+ #else
+-PROCINFO_CLASS const char _dl_arm_cap_flags[10][10]
++PROCINFO_CLASS const char _dl_arm_cap_flags[13][10]
+ #endif
+ #ifndef PROCINFO_DECL
+ = {
+ "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp",
+- "java", "iwmmxt",
++ "java", "iwmmxt", "crunch", "thumbee", "neon",
+ }
+ #endif
+ #if !defined SHARED || defined PROCINFO_DECL
+--- a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
++++ b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
+@@ -24,7 +24,7 @@
+ #include <ldsodefs.h>
+ #include <sysdep.h>
+
+-#define _DL_HWCAP_COUNT 10
++#define _DL_HWCAP_COUNT 13
+
+ /* The kernel provides platform data but it is not interesting. */
+ #define _DL_HWCAP_PLATFORM 0
+--- a/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
++++ b/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
+@@ -48,6 +48,9 @@
+ #define HWCAP_ARM_EDSP 128
+ #define HWCAP_ARM_JAVA 256
+ #define HWCAP_ARM_IWMMXT 512
++#define HWCAP_ARM_CRUNCH 1024
++#define HWCAP_ARM_THUMBEE 2048
++#define HWCAP_ARM_NEON 4096
+
+ #ifdef __ASSEMBLER__
+
diff -urN old/eglibc-2.9/debian/patches/arm/local-no-hwcap.diff eglibc-2.9/debian/patches/arm/local-no-hwcap.diff
--- old/eglibc-2.9/debian/patches/arm/local-no-hwcap.diff 2009-06-20 14:59:32.000000000 +0000
+++ eglibc-2.9/debian/patches/arm/local-no-hwcap.diff 2009-06-19 18:08:21.000000000 +0000
@@ -11,7 +11,7 @@
};
-#define HWCAP_IMPORTANT (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT)
-+#define HWCAP_IMPORTANT HWCAP_ARM_FAST_MULT
++#define HWCAP_IMPORTANT (HWCAP_ARM_VFP | HWCAP_ARM_NEON)
static inline int
__attribute__ ((unused))
diff -urN old/eglibc-2.9/debian/patches/series eglibc-2.9/debian/patches/series
--- old/eglibc-2.9/debian/patches/series 2009-06-20 14:59:32.000000000 +0000
+++ eglibc-2.9/debian/patches/series 2009-06-19 18:16:06.000000000 +0000
@@ -61,6 +61,7 @@
arm/local-ioperm.diff
arm/local-lowlevellock.diff
arm/local-no-hwcap.diff
+arm/local-hwcap-updates.diff
arm/submitted-setjmp.diff
arm/submitted-fpu_control_h.diff
Reply to: