[PATCH] sbc_math.h: add explicit check for ARMv6 instructions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



'Twas brillig, and Arun Raghavan at 21/02/11 20:31 did gyre and gimble:
> On Sun, 2011-02-20 at 19:20 +0100, Paul Menzel wrote:
>> Date: Sun, 20 Feb 2011 15:57:55 +0100
>>
>> Building PulseAudio 051d8213 [1] using OpenEmbedded with distribution `minimal-uclibc` for `MACHINE="om-gta01"` having an ARMv4T architecture (armv4t-oe-linux-uclibceabi) compilation fails with the following error.
> [...]
>> 	{standard input}:4099: Error: selected processor does not support Thumb mode `mla r3,r2,r6,r3'
>> 	{standard input}:4114: Error: selected processor does not support Thumb mode `mla r3,r2,ip,r3'
>> 	{standard input}:4125: Error: selected processor does not support Thumb mode `mla r3,r6,r2,r3'
>> 	make[3]: *** [libbluetooth_sbc_la-sbc.lo] Error 1
>>
>> Apply the same fix as in [2], which is similar to the patch applied in OpenEmbedded since commit 976ab4b5 [3].
>>
>> [1] http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=051d82133f0ae6a57bf66fd200bc8e3591a7d5ca
>> [2] http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=12b900858ae82d435c100d6eb94cb7bb22fe5e29
>> [3] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=976ab4b4587d548c0483a274058c5359cb72bf1b
>>
>> Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
>> CC: Marcel Holtmann <marcel at holtmann.org>
>> ---
>> I do not know if these files are just copied from linux-bluetooth upstream, so I am adding Marcel to CC anyway because he is mentioned in the copyright section.
> 
> It does appear that the files are a copy of the bluez package. If we're
> fixing this on the PulseAudio side, I think we should include something
> like diff below configure.ac, so that we can actually verify that the
> mla instruction is available for the arch being used.
> 
> -- Arun
> 
> ----
> diff --git a/configure.ac b/configure.ac
> index 08c947a..77e9823 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -257,13 +257,14 @@ case $host in
>               asm volatile ("ldr r0, %2 \n"
>                             "ldr r2, %3 \n"
>                             "ldr r3, %4 \n"
> +                           "mla r4, r1, r2, r3 \n"
>                             "ssat r1, #8, r0 \n"
>                             "str r1, %0 \n"
>                             "pkhbt r1, r3, r2, LSL #8 \n"
>                             "str r1, %1 \n"
>                             : "=m" (a), "=m" (b)
>                             : "m" (a), "m" (b), "m" (c)
> -                           : "r0", "r1", "r2", "r3", "cc");
> +                           : "r0", "r1", "r2", "r3", "r4", "cc");
>               return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
>             ]]),
>           [pulseaudio_cv_support_armv6=yes],

Paul, can you confirm if this avoids the problem for you? If so, then
Arun, can you make a proper patch? You can? Awesome, thanks :)

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]




[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux