I found comment:<br><br>/* Atomic increment of 32-bit values allows a lock-free implementation of the<br> * request side of signalSemaphoreWithIndex:<br> */<br><br> /* Currently we provide definitions for x86 and GCC only. */<br>
#if defined(__GNUC__) && (defined(i386) || defined(__i386) || defined(__i386__) || defined(_X86_))<br>#ifdef TARGET_OS_IS_IPHONE<br>#define sqAtomicAddConst(var,n) OSAtomicAdd32(n,&var)<br>#else<br># define sqAtomicAddConst(var,n) \<br>
asm volatile ("lock addl %1, %0" : "=m" (var) : "i" (n), "m" (var))<br>#endif<br>#else<br>#ifdef TARGET_OS_IS_IPHONE<br>#define sqAtomicAddConst(var,n) OSAtomicAdd32(n,&var)<br>
#endif<br>/* Dear implementor, you have choices. Google atomic increment and you will<br> * find a number of implementations for other architectures.<br> */<br>#endif<br><br>I now try to google it.<br>Maybe you already know how to fix it?<br>
<br><div class="gmail_quote">2012/10/3 Denis Kudriashov <span dir="ltr"><<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ok. I exclude IA32ABIPlugin. It's help. And now I have next problem:<br><br>[ 87%] Building C object CMakeFiles/StackVM.dir/cogVM/blessed/platforms/Cross/vm/sqTicker.c.o<br>In file included from /cogVM/blessed/platforms/Cross/vm/sqTicker.c:56:<br>
/cogVM/blessed/platforms/Cross/vm/sqAtomicOps.h:140: ошибка: #error atomic access of 64-bit variables not yet defined for this platform<br>make[2]: *** [CMakeFiles/StackVM.dir/cogVM/blessed/platforms/Cross/vm/sqTicker.c.o] error 1<br>
make[1]: *** [CMakeFiles/StackVM.dir/all] error 2<br>make: *** [all] error 2<br><br><br>What I can do now?<br><br><br><div class="gmail_quote">2012/10/3 David T. Lewis <span dir="ltr"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></span><div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br>
On Wed, Oct 03, 2012 at 10:31:55AM +0200, Igor Stasenko wrote:<br>
><br>
> On 3 October 2012 06:29, Denis Kudriashov <<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>> wrote:<br>
> ><br>
> > Great. I remove it.<br>
> > Now process stopped at ~30% on:<br>
> ><br>
> > tmp/cc33Ks89.s: Assembler messages:<br>
> > /tmp/cc33Ks89.s:90: Error: ARM register expected -- `mov [sp,#844],%edx'<br>
> > /tmp/cc33Ks89.s:118: Error: bad instruction `fldl [r0,#0]'<br>
> > make[2]: *** [IA32ABI/CMakeFiles/IA32ABI.dir/cogVM/blessed/platforms/Cross/plugins/IA32ABI/ia32abicc.c.o]<br>
</div>> > ???????????? 1<br>
<div>><br>
> so remove that plugin from a build.<br>
> You should start from minimum set of plugins and then proceed adding<br>
> more once you can make them compiling/working.<br>
><br>
<br>
</div>FYI, the smallest useable VM requires these plugins:<br>
<br>
BitBltSimulation<br>
BalloonEnginePlugin<br>
FilePlugin<br>
<br>
But usually you will also want networking, so a good starting point for<br>
a minimal VM is:<br>
<br>
BitBltSimulation<br>
BalloonEnginePlugin<br>
FilePlugin<br>
SocketPlugin<br>
<br>
Dave<br>
<br>
</blockquote></div></div></div><br>
</blockquote></div><br>