Need help for building security/libgcrypt on ARM with clang

Olivier Cochard-Labbé olivier at cochard.me
Sun Mar 10 12:56:37 UTC 2013


Hi,

I would to build security/libgcrypt on ARM with clang but I've got problem
with longlong.h

On first run, clang complain about:

error: invalid use of a cast in a inline asm context requiring an l-value:
remove the cast or build with -fheinous-gnu-extension
./longlong.h:230:25: note: expanded from macro 'umul_ppmm'
                   : "=&r" ((USItype)(xh)),

=> For fixing this problem, I've use the same method as in
files/patch-mpi-longlong.h for I386 arch on the ARM section.

But there is a new problem:

error: invalid % escape in inline assembly string
./longlong.h:228:14: note: expanded from macro 'umul_ppmm'
  __asm__ ("%@ Inlined umul_ppmm\n"

=> For fixing this problem, I've completely remove the "%@ Inlined
umul_ppmm\n"  string.

But...there is a new problem and I don't know how to fix it:

error: invalid operand in inline asm: 'umull ${1:r}, ${0:r}, ${2:r}, ${3:r}'
./longlong.h:229:5: note: expanded from macro 'umul_ppmm'
           "umull %r1, %r0, %r2, %r3"

Where is the problem ?

My current nonworking longlong.h patch is here:
http://gugus69.free.fr/freebsd/patch-mpi-longlong.h

Thanks,


More information about the freebsd-arm mailing list