freebsd-ports/audio/synthpod-lv2/files/patch-mapper.lv2_mapper.lv2_mum.h
Mikael Urankar 31e0a5979d audio/synthpod-lv2: fix build on aarch64
../mapper.lv2/mapper.lv2/mum.h:113:3: warning: implicit declaration of function 'asm' is invalid in C99 [-Wimplicit-function-declaration]
  asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
  ^

../mapper.lv2/mapper.lv2/mum.h:113:27: error: expected ')'
  asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
                          ^

../mapper.lv2/mapper.lv2/mum.h:113:7: note: to match this '('
  asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));

reported upstream: https://github.com/OpenMusicKontrollers/synthpod/pull/54

Approved by:	portmgr (tier-2 blanket)
2020-07-04 15:47:21 +00:00

11 lines
471 B
C

--- mapper.lv2/mapper.lv2/mum.h.orig 2020-07-04 11:56:10 UTC
+++ mapper.lv2/mapper.lv2/mum.h
@@ -110,7 +110,7 @@ _mum (uint64_t v, uint64_t p) {
function doing 128x128->128 bit multiplication. The function is
very slow. */
lo = v * p, hi;
- asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
+ __asm__ ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
#else
__uint128_t r = (__uint128_t) v * (__uint128_t) p;
hi = (uint64_t) (r >> 64);