<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 21, 2015 at 7:26 PM, Robert Withers <span dir="ltr">&lt;<a href="mailto:robert.w.withers@gmail.com" target="_blank">robert.w.withers@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
I am not sure it is possible, even. Can this plugin be build 32-bit; does it make any sense to do so?<br></blockquote><div><br></div><div>yes.  How on earth can the 64-bit Cogit be created if this plugin can&#39;t be built in 32-bits?  I&#39;m using it on Mac OS X in 32-bits using a 32-bit VM.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Here is the make portion of this attempt for this plugin. I am unsure how to deal with this C++ issue in the Cross/plugins/BochsX64Plugin/sqUnixBochsX64Plugin.cpp file.<br>
<br>
<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp: In function &#39;int resetCPU(void*)&#39;:<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:68:47: error: &#39;struct bx_descriptor_t::&lt;anonymous union&gt;::&lt;anonymous&gt;&#39; has no member named &#39;l&#39;<br>
   bx_cpu.sregs[BX_SEG_REG_CS].cache.u.segment.l     = 1; // 64-bit seg<br>
<br>
<br>
Thank you,<br>
Robert<br>
<br>
<br>
/bin/bash /home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build/libtool --mode=compile gcc -m32 -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DLSB_FIRST=1 -m32 -DHAVE_CONFIG_H -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/platforms/unix/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/vm -I/home/rabbit/warren/oscogvm/spursrc/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin -m32 -DUSE_BOCHS_CONFIG_H=1 -I/home/rabbit/warren/oscogvm/processors/IA32/linuxbochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs/instrument/stubs -c -o BochsX64Plugin.lo /home/rabbit/warren/oscogvm/src/plugins/BochsX64Plugin/BochsX64Plugin.c<br>
gcc -m32 -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DLSB_FIRST=1 -m32 -DHAVE_CONFIG_H -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/platforms/unix/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/vm -I/home/rabbit/warren/oscogvm/spursrc/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin -m32 -DUSE_BOCHS_CONFIG_H=1 -I/home/rabbit/warren/oscogvm/processors/IA32/linuxbochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs/instrument/stubs -c /home/rabbit/warren/oscogvm/src/plugins/BochsX64Plugin/BochsX64Plugin.c -fPIC -DPIC -DPIC -o BochsX64Plugin.o<br>
mv -f BochsX64Plugin.o BochsX64Plugin.lo<br>
/bin/bash /home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build/libtool --mode=compile g++ -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DLSB_FIRST=1  -m32 -DHAVE_CONFIG_H -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/platforms/unix/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/vm -I/home/rabbit/warren/oscogvm/spursrc/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin -m32 -DUSE_BOCHS_CONFIG_H=1 -I/home/rabbit/warren/oscogvm/processors/IA32/linuxbochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs/instrument/stubs -c -o sqBochsX64Plugin.lo /home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp<br>
g++ -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DLSB_FIRST=1 -m32 -DHAVE_CONFIG_H -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/build.linux32x86/squeak.cog.spur/build -I/home/rabbit/warren/oscogvm/platforms/unix/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/vm -I/home/rabbit/warren/oscogvm/spursrc/vm -I/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin -m32 -DUSE_BOCHS_CONFIG_H=1 -I/home/rabbit/warren/oscogvm/processors/IA32/linuxbochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs -I/home/rabbit/warren/oscogvm/processors/IA32/bochs/instrument/stubs -c /home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp -fPIC -DPIC -DPIC -o sqBochsX64Plugin.o<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:17:0: warning: &quot;setjmp&quot; redefined [enabled by default]<br>
 # define setjmp(jb) _setjmp(jb)<br>
 ^<br>
In file included from /home/rabbit/warren/oscogvm/processors/IA32/bochs/gui/siminterface.h:1069:0,<br>
                 from /home/rabbit/warren/oscogvm/processors/IA32/bochs/bochs.h:117,<br>
                 from /home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:7:<br>
/usr/include/setjmp.h:67:0: note: this is the location of the previous definition<br>
 #define setjmp(env) _setjmp (env)<br>
 ^<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp: In function &#39;int resetCPU(void*)&#39;:<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:68:47: error: &#39;struct bx_descriptor_t::&lt;anonymous union&gt;::&lt;anonymous&gt;&#39; has no member named &#39;l&#39;<br>
   bx_cpu.sregs[BX_SEG_REG_CS].cache.u.segment.l     = 1; // 64-bit seg<br>
                                               ^<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:74:47: error: &#39;struct bx_descriptor_t::&lt;anonymous union&gt;::&lt;anonymous&gt;&#39; has no member named &#39;l&#39;<br>
   bx_cpu.sregs[BX_SEG_REG_DS].cache.u.segment.l     = 1; // 64-bit seg<br>
                                               ^<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:80:47: error: &#39;struct bx_descriptor_t::&lt;anonymous union&gt;::&lt;anonymous&gt;&#39; has no member named &#39;l&#39;<br>
   bx_cpu.sregs[BX_SEG_REG_SS].cache.u.segment.l     = 1; // 64-bit seg<br>
                                               ^<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:101:10: error: &#39;class bx_cpu_c&#39; has no member named &#39;efer&#39;<br>
   bx_cpu.efer.set_LMA(1); /* Hack.  The old version we use have doesn&#39;t support set_EFER */<br>
          ^<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp: In function &#39;int disassembleForAtInSize(void*, ulong, void*, ulong)&#39;:<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:213:52: error: &#39;struct bx_descriptor_t::&lt;anonymous union&gt;::&lt;anonymous&gt;&#39; has no member named &#39;l&#39;<br>
        anx64-&gt;sregs[BX_SEG_REG_CS].cache.u.segment.l,<br>
                                                    ^<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp: At global scope:<br>
/home/rabbit/warren/oscogvm/platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp:324:39: error: no &#39;void bx_cpu_c::TLB_flushNonGlobal()&#39; member function declared in class &#39;bx_cpu_c&#39;<br>
 void BX_CPU_C::TLB_flushNonGlobal(void)<br>
                                       ^<br>
make[1]: *** [sqBochsX64Plugin.lo] Error 1<br>
make: *** [BochsX64Plugin.la] Error 2<br>
rabbit@rabbithole:~/warren/oscogvm/build.linux32x86/squeak.cog.spur/build$ mv -f BochsX64Plugin.o BochsX64Plugin.lo<br>
mv: cannot stat ‘BochsX64Plugin.o’: No such file or directory<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>