Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Mar 2013 13:56:10 +0100
From:      =?ISO-8859-1?Q?Olivier_Cochard=2DLabb=E9?= <olivier@cochard.me>
To:        freebsd-arm@freebsd.org
Subject:   Need help for building security/libgcrypt on ARM with clang
Message-ID:  <CA%2Bq%2BTcp%2BK%2Bh9x216D=vmuwN9-2h23Tdux3Dqzef3JXW_We4UBQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2Bq%2BTcp%2BK%2Bh9x216D=vmuwN9-2h23Tdux3Dqzef3JXW_We4UBQ>