Ok, I just remove keys from makefilelist. And now I have error<b> no high res clock defined:</b><br><br>sqLong<br>ioHighResClock(void)<br>{<br>  /* return the value of the high performance counter */<br>  sqLong value = 0;<br>

#if defined(__GNUC__) &amp;&amp; ( defined(i386) || defined(__i386) || defined(__i386__)  \<br>            || defined(i486) || defined(__i486) || defined (__i486__) \<br>            || defined(intel) || defined(x86) || defined(i86pc) )<br>

    __asm__ __volatile__ (&quot;rdtsc&quot; : &quot;=A&quot;(value));<br>#else<br><b># error &quot;no high res clock defined&quot;</b><br>#endif<br>  return value;<br>}<br><br>I try to just return value here;<br><br><div class="gmail_quote">

2012/10/3 Denis Kudriashov <span dir="ltr">&lt;<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I was incorrect. Problem happens early on defining atomic access of 64-bit variables.<br>So I just uncomment something like this:<br><br>/* Dear implementor, you have choices.  For example consider defining get64 &amp;<br>



 * set64 thusly<br> * #define get64(var) read64(&amp;(var))<br> * #define set64(var,val) write64(&amp;(var),val)<br> * and get the JIT to generate read64 &amp; write64 above atomic 64-bit read/write.<br> */<br><b># define get64(var) read64(&amp;(var))<br>



# define set64(var,val) write64(&amp;(var),val)<br></b>    <br>//error atomic access of 64-bit variables not yet defined for this platform<br># endif<br>-------------------------------------<br><br>Now I have another problem:<br>


<br>[ 90%] Building C object CMakeFiles/StackVM.dir/cogVM/blessed/platforms/unix/vm/sqUnixHeartbeat.c.o<br>cc1: error: incorrect key &quot;-mno-rtd&quot;<br>cc1: error: incorrect key &quot;-mno-accumulate-outgoing-args&quot;<br>


make[2]: *** [CMakeFiles/StackVM.dir/cogVM/blessed/platforms/unix/vm/sqUnixHeartbeat.c.o] error 1<div class="im"><br>make[1]: *** [CMakeFiles/StackVM.dir/all] error 2<br>make: *** [all] error 2<br><br></div>What this keys mean? And what I can do?<div class="HOEnZb">

<div class="h5"><br>
<br>
<br><br><div class="gmail_quote">2012/10/3 Denis Kudriashov <span dir="ltr">&lt;<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



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__) &amp;&amp; (defined(i386) || defined(__i386) || defined(__i386__) || defined(_X86_))<br>#ifdef TARGET_OS_IS_IPHONE<br>#define sqAtomicAddConst(var,n) OSAtomicAdd32(n,&amp;var)<br>#else<br># define sqAtomicAddConst(var,n) \<br>




    asm volatile (&quot;lock addl %1, %0&quot; : &quot;=m&quot; (var) : &quot;i&quot; (n), &quot;m&quot; (var))<br>#endif<br>#else<br>#ifdef TARGET_OS_IS_IPHONE<br>#define sqAtomicAddConst(var,n) OSAtomicAdd32(n,&amp;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?<div>



<div><br>
<br><div class="gmail_quote">2012/10/3 Denis Kudriashov <span dir="ltr">&lt;<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>&gt;</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&#39;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">&lt;<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>&gt;</span><div>




<div><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>
&gt;<br>
&gt; On 3 October 2012 06:29, Denis Kudriashov &lt;<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; Great. I remove it.<br>
&gt; &gt; Now process stopped at ~30% on:<br>
&gt; &gt;<br>
&gt; &gt; tmp/cc33Ks89.s: Assembler messages:<br>
&gt; &gt; /tmp/cc33Ks89.s:90: Error: ARM register expected -- `mov [sp,#844],%edx&#39;<br>
&gt; &gt; /tmp/cc33Ks89.s:118: Error: bad instruction `fldl [r0,#0]&#39;<br>
&gt; &gt; make[2]: *** [IA32ABI/CMakeFiles/IA32ABI.dir/cogVM/blessed/platforms/Cross/plugins/IA32ABI/ia32abicc.c.o]<br>
</div>&gt; &gt; ???????????? 1<br>
<div>&gt;<br>
&gt; so remove that plugin from a build.<br>
&gt; You should start from minimum set of plugins and then proceed adding<br>
&gt; more once you can make them compiling/working.<br>
&gt;<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>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>