compilation errors on iPhone

Vladimir Pouzanov farcaller at gmail.com
Mon Mar 31 14:46:44 CEST 2008


Britt Bolen <britt <at> bolen.com> writes:
>  /usr/local/arm-apple-darwin/bin/gcc -DHAVE_CONFIG_H -I. -I. -I..
> -I../src -I/usr/local/arm-apple-darwin/include -g -O2 -Wall -MT
> mpih-div.lo -MD -MP -MF .deps/mpih-div.Tpo -c mpih-div.c  -fno-common
> -DPIC -o .libs/mpih-div.o
> Bad $ operand number in inline asm string: '${:@} Inlined umul_ppmm
> umull ${1:r}, ${0:r}, ${2:r}, ${3:r}'
> make[2]: *** [mpih-div.lo] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2

iPhone toolchain's as doesn't like that % stuff in registers (sheesh, that's
apple-patched *gnu as*).

It does compile if rewritten this way:
  __asm__ (                                     \
           "umull r1, r0, r2, r3"                                   \
                   : "=&r" ((USItype)(xh)),                             \
                     "=r" ((USItype)(xl))                               \
                   : "r" ((USItype)(a)),                                \
                     "r" ((USItype)(b))                                 \
                   : "r0", "r1")

but later fails on:

/home/farcaller/develop/iphone/rootfs/home/farcaller/develop/iphone/toolchain/
lib/gcc/arm-apple-darwin/4.0.1/libgcc.a(_udivsi3.o)
has external relocation entries in non-writable section (__TEXT,__text) for
symbols:
___div0
collect2: ld returned 1 exit status




More information about the Gcrypt-devel mailing list