diff options
author | Arnout Vandecappelle <arnout@mind.be> | 2012-11-03 13:13:15 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2012-11-04 10:28:13 +0100 |
commit | 9de85f7d8c82316669350a50a0e024cc9ada518d (patch) | |
tree | 0794d4674f843874ca6ac3596f511811926a4b5a | |
parent | 9fbdf062b93c6c2ed7e35897bcb0ad4c60f29d41 (diff) | |
download | buildroot-novena-9de85f7d8c82316669350a50a0e024cc9ada518d.tar.gz buildroot-novena-9de85f7d8c82316669350a50a0e024cc9ada518d.zip |
opus-tools: fix build on i386
Upstream patch. Fixes e.g.
http://autobuild.buildroot.net/results/03cf0ee3c092960c37a6a78f2531b047a317d516/
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r-- | package/opus-tools/opus-tools-fix-compilation-on-non-win.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/package/opus-tools/opus-tools-fix-compilation-on-non-win.patch b/package/opus-tools/opus-tools-fix-compilation-on-non-win.patch new file mode 100644 index 000000000..c8cb6a22e --- /dev/null +++ b/package/opus-tools/opus-tools-fix-compilation-on-non-win.patch @@ -0,0 +1,53 @@ +From 7734f55bc535c6d3d0fbb27c55e38f52ba6b7764 Mon Sep 17 00:00:00 2001 +From: Andreas Schlick <schlick@lavabit.com> +Date: Thu, 13 Sep 2012 19:44:50 +0200 +Subject: [PATCH] Fix compilation on non-Windows x86-32 w/ -msse. + +cpusupport.h used __cpuid() from the Windows specific header file intrin.h +which is not available under gcc. But we can use __get_cpuid() from cpuid.h +instead. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> + +--- + src/cpusupport.h | 18 +++++++++++++++++- + 1 files changed, 17 insertions(+), 1 deletions(-) + +diff --git a/src/cpusupport.h b/src/cpusupport.h +index 1986d31..5e42337 100644 +--- a/src/cpusupport.h ++++ b/src/cpusupport.h +@@ -32,7 +32,9 @@ + # if !defined(__SSE__) || defined(_M_X64) || defined(__amd64__) + # define query_cpu_support() 0 + #else +-# include <intrin.h> ++ ++#if defined WIN32 || defined _WIN32 ++#include <intrin.h> + static inline int query_cpu_support(void) + { + int buffer[4]; +@@ -43,5 +45,19 @@ static inline int query_cpu_support(void) + # endif + ; + } ++#else ++#include <cpuid.h> ++static inline int query_cpu_support(void) ++{ ++ unsigned int eax, ebx, ecx, edx=0; ++ __get_cpuid(1, &eax, &ebx, &ecx, &edx); ++ return ((edx & 1<<25) == 0) /*SSE*/ ++#ifdef __SSE2__ ++ + ((edx & 1<<26) == 0) /*SSE2*/ ++#endif ++ ; ++} ++#endif ++ + # endif + #endif +-- +1.7.2.5 + |