diff options
author | Arun Raghavan <arun@arunraghavan.net> | 2019-08-22 17:58:20 +0530 |
---|---|---|
committer | Arun Raghavan <arun@arunraghavan.net> | 2019-08-22 19:05:40 +0530 |
commit | f515443fa0b6a8357f4372b88847aaf459ee1268 (patch) | |
tree | b496da538e9a85a454e4d82a8ee3da2dedf39f36 /meson.build | |
parent | d830c66613eb9373fa1dc0225032963524dd70a5 (diff) | |
download | pulseaudio-f515443fa0b6a8357f4372b88847aaf459ee1268.tar.gz |
build-sys: meson: Fixes for some ARM compiler checks
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/meson.build b/meson.build index b5f42b68a..14600db61 100644 --- a/meson.build +++ b/meson.build @@ -430,19 +430,21 @@ elif host_machine.cpu_family() == 'arm' if host_machine.system() == 'linux' and get_option('atomic-arm-linux-helpers') cdata.set('ATOMIC_ARM_LINUX_HELPERS', 1) else - armatomictest = '''void func() { + armatomictest = '''int func() { volatile int a=0; int o=0, n=1, r; - asm volatile ("ldrex %0, [%1]\n" - "subs %0, %0, %2\n" - "strexeq %0, %3, [%1]\n" - : "=&r" (r) - : "r" (&a), "Ir" (o), "r" (n) + asm volatile ( + "ldrex %0, [%1]\n" + "subs %0, %0, %2\n" + "strexeq %0, %3, [%1]\n" + : "=&r" (r) + : "r" (&a), "Ir" (o), "r" (n) : "cc"); return (a==1 ? 0 : -1); + } ''' - if cc.compiles(aratomictest) + if cc.compiles(armatomictest) cdata.set('ATOMIC_ARM_INLINE_ASM', 1) else need_libatomic_ops = true @@ -470,7 +472,7 @@ endif # ARM checks # ARMV6 instructions we need if host_machine.cpu_family() == 'arm' - armv6test = '''void func() { + armv6test = '''int func() { volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd; asm volatile ("ldr r0, %2 \n" "ldr r2, %3 \n" @@ -483,6 +485,7 @@ if host_machine.cpu_family() == 'arm' : "m" (a), "m" (b), "m" (c) : "r0", "r1", "r2", "r3", "cc"); return (a == -128 && b == 0xaabbdddd) ? 0 : -1; + } ''' if cc.compiles(armv6test) |