[pulseaudio-discuss] [PATCH] bluetooth: run `make update-sbc` to pull in build fix for thumb mode

Paul Menzel paulepanter at users.sourceforge.net
Tue Mar 29 07:04:46 PDT 2011


Date: Tue, 29 Mar 2011 12:14:27 +0200

This update pulls in commit c495077c [1] to fix a build error.

        commit c495077cf8a8c37afd90875ec5a5b16b294be15e
        Author: Siarhei Siamashka <siarhei.siamashka at nokia.com>
        Date:   Tue Mar 29 01:57:39 2011 +0300
        
            sbc: better compatibility with ARM thumb/thumb2
        
            ARM assembly optimizations fail to compile in thumb mode, but are fine
            for thumb2. Update ifdefs in the code to make use of ARM assembly only
            when it is safe and also make sure that no optimizations are missed
            when compiling for thumb2.
        
            The problem was reported by Paul Menzel:
            https://tango.0pointer.de/pipermail/pulseaudio-discuss/2011-February/009022.html

This patch is tested with OpenEmbedded using `minimal-uclibc` for `MACHINE = "at91sam9260ek"`.

Note that changes to ipc.h from 8f3ef04b had to be manually reapplied.

[1] http://git.kernel.org/?p=bluetooth/bluez.git;a=commit;h=c495077cf8a8c37afd90875ec5a5b16b294be15e

Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
CC: Luiz Augusto von Dentz <luiz.dentz at gmail.com>
CC: Arun Raghavan <arun.raghavan at collabora.co.uk>
---
Please update the commit summary to something that is technically correct.
---
 src/modules/bluetooth/sbc/sbc_math.h             |    2 +-
 src/modules/bluetooth/sbc/sbc_primitives_armv6.h |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/modules/bluetooth/sbc/sbc_math.h b/src/modules/bluetooth/sbc/sbc_math.h
index 9f126c6..5476860 100644
--- a/src/modules/bluetooth/sbc/sbc_math.h
+++ b/src/modules/bluetooth/sbc/sbc_math.h
@@ -48,7 +48,7 @@ typedef int32_t sbc_fixed_t;
 
 #define SBC_FIXED_0(val) { val = 0; }
 #define MUL(a, b)        ((a) * (b))
-#ifdef __arm__
+#if defined(__arm__) && (!defined(__thumb__) || defined(__thumb2__))
 #define MULA(a, b, res) ({				\
 		int tmp = res;			\
 		__asm__(				\
diff --git a/src/modules/bluetooth/sbc/sbc_primitives_armv6.h b/src/modules/bluetooth/sbc/sbc_primitives_armv6.h
index 1862aed..6a9efe5 100644
--- a/src/modules/bluetooth/sbc/sbc_primitives_armv6.h
+++ b/src/modules/bluetooth/sbc/sbc_primitives_armv6.h
@@ -40,8 +40,8 @@
 
 #if !defined(SBC_HIGH_PRECISION) && (SCALE_OUT_BITS == 15) && \
 	defined(__GNUC__) && defined(SBC_HAVE_ARMV6) && \
-	defined(__ARM_EABI__) && !defined(__thumb__) && \
-	!defined(__ARM_NEON__)
+	defined(__ARM_EABI__) && !defined(__ARM_NEON__) && \
+	(!defined(__thumb__) || defined(__thumb2__))
 
 #define SBC_BUILD_WITH_ARMV6_SUPPORT
 
-- 
1.7.4.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20110329/a0653c6e/attachment.pgp>


More information about the pulseaudio-discuss mailing list