* [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures
@ 2016-09-11 15:49 André Hentschel
2016-09-11 15:49 ` [Buildroot] [PATCH 2/2] openal: Use upstream patch to detect run-time NEON support André Hentschel
2016-09-11 20:47 ` [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: André Hentschel @ 2016-09-11 15:49 UTC (permalink / raw)
To: buildroot
Signed-off-by: Andr? Hentschel <nerv@dawncrow.de>
---
.../0002-Build-NEON-code-with-mfpu-neon.patch | 26 ++++++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 package/openal/0002-Build-NEON-code-with-mfpu-neon.patch
diff --git a/package/openal/0002-Build-NEON-code-with-mfpu-neon.patch b/package/openal/0002-Build-NEON-code-with-mfpu-neon.patch
new file mode 100644
index 0000000..0801fba
--- /dev/null
+++ b/package/openal/0002-Build-NEON-code-with-mfpu-neon.patch
@@ -0,0 +1,26 @@
+upstream commit 27916ce3db023454a0295ee63ea196fbc246674c
+Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue Sep 6 22:19:14 2016 +0200
+
+ Build NEON code with -mfpu=neon
+
+ The ARM-specific NEON code needs to be built with -mfpu=neon to avoid
+ build failures when a difference FPU is used by default by the
+ compiler.
+
+ Fixes issue #54.
+
+ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d8f1515..d92bbb7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -763,6 +763,7 @@ IF(HAVE_ARM_NEON_H)
+ SET(HAVE_NEON 1)
+ SET(ALC_OBJS ${ALC_OBJS} Alc/mixer_neon.c)
+ SET(CPU_EXTS "${CPU_EXTS}, Neon")
++ SET_SOURCE_FILES_PROPERTIES(Alc/mixer_neon.c PROPERTIES COMPILE_FLAGS -mfpu=neon)
+ ENDIF()
+ ENDIF()
+ IF(ALSOFT_REQUIRE_NEON AND NOT HAVE_NEON)
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Buildroot] [PATCH 2/2] openal: Use upstream patch to detect run-time NEON support
2016-09-11 15:49 [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures André Hentschel
@ 2016-09-11 15:49 ` André Hentschel
2016-09-11 20:48 ` Thomas Petazzoni
2016-09-11 20:47 ` [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures Thomas Petazzoni
1 sibling, 1 reply; 4+ messages in thread
From: André Hentschel @ 2016-09-11 15:49 UTC (permalink / raw)
To: buildroot
Signed-off-by: Andr? Hentschel <nerv@dawncrow.de>
---
.../0003-Check-for-run-time-NEON-support.patch | 63 ++++++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 package/openal/0003-Check-for-run-time-NEON-support.patch
diff --git a/package/openal/0003-Check-for-run-time-NEON-support.patch b/package/openal/0003-Check-for-run-time-NEON-support.patch
new file mode 100644
index 0000000..abef66a
--- /dev/null
+++ b/package/openal/0003-Check-for-run-time-NEON-support.patch
@@ -0,0 +1,63 @@
+upstream commit a52cfc804813aef8e4b304e20cf843fa6907af6c
+together with the fix from commit c3c283a0b5d0130afafaa2a5b6ce6fbc30b6e6a1
+Author: Chris Robinson <chris.kcat@gmail.com>
+Date: Wed Sep 7 09:57:40 2016 -0700
+
+ Check for run-time NEON support by reading /proc/cpuinfo
+
+ Less than ideal since documentations warn it may not list 'neon' even if it's
+ really supported. However, the "proper" APIs to check for NEON extensions don't
+ seem to exist in my toolchain.
+
+diff --git a/Alc/helpers.c b/Alc/helpers.c
+index 9b6c789..4ffda46 100644
+--- a/Alc/helpers.c
++++ b/Alc/helpers.c
+@@ -32,6 +32,7 @@
+ #include <time.h>
+ #include <errno.h>
+ #include <stdarg.h>
++#include <ctype.h>
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+ #endif
+@@ -227,8 +227,37 @@ void FillCPUCaps(ALuint capfilter)
+ #endif
+ #endif
+ #ifdef HAVE_NEON
+- /* Assume Neon support if compiled with it */
+- caps |= CPU_CAP_NEON;
++ FILE *file = fopen("/proc/cpuinfo", "rt");
++ if(!file)
++ ERR("Failed to open /proc/cpuinfo, cannot check for NEON support\n");
++ else
++ {
++ char buf[256];
++ while(fgets(buf, sizeof(buf), file) != NULL)
++ {
++ char *str;
++
++ if(strncmp(buf, "Features\t:", 10) != 0)
++ continue;
++
++ TRACE("Got features string:%s\n", buf+10);
++
++ str = buf;
++ while((str=strstr(str, "neon")) != NULL)
++ {
++ if(isspace(*(str-1)) && (str[4] == 0 || isspace(str[4])))
++ {
++ caps |= CPU_CAP_NEON;
++ break;
++ }
++ str++;
++ }
++ break;
++ }
++
++ fclose(file);
++ file = NULL;
++ }
+ #endif
+
+ TRACE("Extensions:%s%s%s%s%s%s\n",
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures
2016-09-11 15:49 [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures André Hentschel
2016-09-11 15:49 ` [Buildroot] [PATCH 2/2] openal: Use upstream patch to detect run-time NEON support André Hentschel
@ 2016-09-11 20:47 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-09-11 20:47 UTC (permalink / raw)
To: buildroot
Hello,
On Sun, 11 Sep 2016 17:49:00 +0200, Andr? Hentschel wrote:
> Signed-off-by: Andr? Hentschel <nerv@dawncrow.de>
> ---
> .../0002-Build-NEON-code-with-mfpu-neon.patch | 26 ++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
> create mode 100644 package/openal/0002-Build-NEON-code-with-mfpu-neon.patch
I've applied, after:
* Removing the patch itself, and instead download it from Github
directly
* Adding a reference to the autobuilder failure fixed by this patch.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-09-11 20:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-11 15:49 [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures André Hentschel
2016-09-11 15:49 ` [Buildroot] [PATCH 2/2] openal: Use upstream patch to detect run-time NEON support André Hentschel
2016-09-11 20:48 ` Thomas Petazzoni
2016-09-11 20:47 ` [Buildroot] [PATCH 1/2] openal: Use upstream patch to fix FPU related build failures Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox