summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@googlemail.com>2016-10-03 07:47:16 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-10-05 10:10:11 +0100
commitf5f3ccfd0ab5f998594dddf1c1ea74b9a5f834c5 (patch)
treea5b90ff1c5090b47b4dd4540656474bd6f1ae1f5 /meta/recipes-multimedia
parent79236477a15e84393ce8fdd8427f4ebee5ec8160 (diff)
downloadpoky-f5f3ccfd0ab5f998594dddf1c1ea74b9a5f834c5.tar.gz
alsa-lib: allow building ARM thumb again
The directive mentioned in the comment was removed in: commit 326c6802e49e5499e16cf141e1cdb0360fce14aa Author: Riku Voipio <riku.voipio@linaro.org> Date: Fri Feb 7 15:38:58 2014 +0200 alsa-lib: heavy pcm atomics cleanup The following patch comes from the realization that at least ARM code for atomics is quite broken and nobody has cared for a decade. A quick dive shows that only snd_atomic_{read,write}_{begin,end} appear to be used widely. These are implemented using wmb/rmb. Only other use of atomic functions is in pcm_meter.c. The #SND_PCM_TYPE_METER plugin type appears rarely, if ever, used. I presume these days anyone who wants a meter/scope will do in pulseaudio layer instead of alsa. It would seem better fit to have pcm_meter in alsa-plugins instead of alsa-lib, but I guess that would be an ABI break... So instead, I'm proposing here 1. Removal of all hand-crafted atomics from iatomic.h apart from barriers, which are used in snd_atomic_{read,write}_{begin,end}. 2. Using __sync_synchronize as the default fallback for barriers. This has been available since gcc 4.1, so it shouldn't be a problem. 3. Defining the few atomics used by pcm_meter.c withing pcm_meter.c itself, using gcc atomic builtins[1]. 4. Since gcc atomic builtins are available only since gcc 4.7, add a check for that in gcc configure.in, and don't build pcm meter plugin if using older gcc. The last point has the impact, that if there actually is someone who 1) uses the meter plugin 2) wants to upgrade to 2014 alsa-lib 3) but does not want to use a 2012+ gcc - that someone will be inconvenienced. Finally remove the unneeded configure check for cpu type. We can trust the gcc to set right flags for us. [1] http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> (From OE-Core rev: dd442652afef1f83fc6c9651976cd3ba28c83c85) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia')
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib_1.1.2.bb6
1 files changed, 0 insertions, 6 deletions
diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.1.2.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.1.2.bb
index ff47576c54..e313da78e4 100644
--- a/meta/recipes-multimedia/alsa/alsa-lib_1.1.2.bb
+++ b/meta/recipes-multimedia/alsa/alsa-lib_1.1.2.bb
@@ -8,12 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
8 8
9BBCLASSEXTEND = "native nativesdk" 9BBCLASSEXTEND = "native nativesdk"
10 10
11# configure.in sets -D__arm__ on the command line for any arm system
12# (not just those with the ARM instruction set), this should be removed,
13# (or replaced by a permitted #define).
14#FIXME: remove the following
15ARM_INSTRUCTION_SET = "arm"
16
17SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2 \ 11SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2 \
18 file://Check-if-wordexp-function-is-supported.patch \ 12 file://Check-if-wordexp-function-is-supported.patch \
19 file://avoid-including-sys-poll.h-directly.patch \ 13 file://avoid-including-sys-poll.h-directly.patch \