[oe-commits] [openembedded-core] 16/17: alsa-lib: allow building ARM thumb again

git at git.openembedded.org git at git.openembedded.org
Tue Oct 4 23:19:23 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit dd442652afef1f83fc6c9651976cd3ba28c83c85
Author: Andreas Müller <schnitzeltony at googlemail.com>
AuthorDate: Mon Oct 3 07:47:16 2016 +0200

    alsa-lib: allow building ARM thumb again
    
    The directive mentioned in the comment was removed in:
    
    commit 326c6802e49e5499e16cf141e1cdb0360fce14aa
    Author: Riku Voipio <riku.voipio at 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 at linaro.org>
        Signed-off-by: Takashi Iwai <tiwai at suse.de>
    
    Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/recipes-multimedia/alsa/alsa-lib_1.1.2.bb | 6 ------
 1 file changed, 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 ff47576..e313da7 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 \
 
 BBCLASSEXTEND = "native nativesdk"
 
-# configure.in sets -D__arm__ on the command line for any arm system
-# (not just those with the ARM instruction set), this should be removed,
-# (or replaced by a permitted #define).
-#FIXME: remove the following
-ARM_INSTRUCTION_SET = "arm"
-
 SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2 \
            file://Check-if-wordexp-function-is-supported.patch \
            file://avoid-including-sys-poll.h-directly.patch \

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list