Ticket #790: 0001-arm-allow-compilation-for-specific-ARMv5-architecture_ugly.patch

File 0001-arm-allow-compilation-for-specific-ARMv5-architecture_ugly.patch, 1.7 KB (added by dromi, 19 months ago)
  • src/pulsecore/svolume_arm.c

    From 8434c5e533e7a717e39040e77a4636956cdead9a Mon Sep 17 00:00:00 2001
    From: Alexandre Relange <alexandre.relange@gmail.com>
    Date: Fri, 15 Oct 2010 12:29:55 +0200
    Subject: [PATCH] arm: allow compilation for specific ARMv5 architecture
    
    remove ARMv6 specific assembler code with preprocessor macro
    ugly version: using a previously declared macro which is defined
    for an ARMv6-capable compiler. Its name is not explicit in this use
    case.
    ---
     src/pulsecore/svolume_arm.c |   11 +++++++----
     1 files changed, 7 insertions(+), 4 deletions(-)
    
    diff --git a/src/pulsecore/svolume_arm.c b/src/pulsecore/svolume_arm.c
    index fdd8f09..a6a8e46 100644
    a b  
    3535#include "sample-util.h" 
    3636#include "endianmacros.h" 
    3737 
    38 #if defined (__arm__) 
     38#if defined (__arm__) && defined (ATOMIC_ARM_INLINE_ASM) 
     39/* 
     40  These functions are removed if explicitly compiled for an architecture that cannot understand ARMV6 instructions (SSAT and PKHBT) 
     41*/ 
    3942 
    4043#define MOD_INC() \ 
    4144    " subs  r0, r6, %2              \n\t" \ 
     
    182185} 
    183186#endif 
    184187 
    185 #endif /* defined (__arm__) */ 
     188#endif /* defined (__arm__) && defined (ATOMIC_ARM_INLINE_ASM) */ 
    186189 
    187190 
    188191void pa_volume_func_init_arm (pa_cpu_arm_flag_t flags) { 
    189 #if defined (__arm__) 
     192#if defined (__arm__) && defined (ATOMIC_ARM_INLINE_ASM) 
    190193    pa_log_info("Initialising ARM optimized functions."); 
    191194 
    192195#ifdef RUN_TEST 
     
    194197#endif 
    195198 
    196199    pa_set_volume_func (PA_SAMPLE_S16NE,     (pa_do_volume_func_t) pa_volume_s16ne_arm); 
    197 #endif /* defined (__arm__) */ 
     200#endif /* defined (__arm__) && defined (ATOMIC_ARM_INLINE_ASM) */ 
    198201}