<div dir="ltr">Hi Alex,<div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 23, 2014 at 11:43 AM, Alex Franchuk <span dir="ltr">&lt;<a href="mailto:alex.franchuk@gmail.com" target="_blank">alex.franchuk@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><p dir="ltr">Hi Eliot,</p>
<p dir="ltr">A couple examples of the issues which are present that the Plan9 compiler complains about, and my changeset fixes:<br>
Functions which declare a return type and don&#39;t return a value. <br>
Absence of proper casting when assigning values. <br>
Absence of proper casting of function pointers. <br>
Some incorrect function parameters.</p>
<p dir="ltr">All pretty basic stuff, it just so happens that the Plan9 compiler is strict and cannot be told to back off on these points. I&#39;ve looked at the Cog VMMaker, but haven&#39;t had a chance to try porting the Cog VM to Plan9 yet, so just the interpreter VM has been ported right now. Is there any chance that these changes just be in place for the interpreter VMMaker, or do you try to apply changes to both VMMakers?</p></blockquote><div><br></div><div>There&#39;s no hurry.  When you&#39;re ready to compile Cog and/or Spur for Plan9 we can address the issues then.  The code in the Cog/Spur interpreter and the JIT is pretty clean.  The only warnings are to do with</div><div>- shifts beyond the integer range that are in scope at compilation time but are optimised out during compilation because they apply to 64-bit code that is not used in the 32-bit VM</div><div>- gcc warning about printf being used without a format string, when I&#39;m passing a perfectly good string; it wants me to say printf(&quot;%s&quot;,s) instead of printf(s) and I&#39;m too stubborn to waste the few bytes this would waste ;-)</div><div><br></div><div>So hopefully there won&#39;t be too many problems.  Has no one ported gcc to Plan9 yet?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr">Thanks,<br>
Alex</p></blockquote><div><br></div><div>Thank you!  A new platform is always exciting.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">On Dec 23, 2014 12:36 PM, &quot;Eliot Miranda&quot; &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr">Hi Alex,<div><br></div><div>     exactly what issues have you had with the Plan 9 compiler and what are the changes to VMMaker you had to make?  You may have already written a message on this.  Of so, can you send me a link to it.  Otherwise it will help me integrating to know.  The Cog VMMaker&#39;s translation-to-C subsystem is quite different from the trunk VMMaker and straight-forward integration is probably not possible.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 2, 2014 at 10:44 AM, Alex Franchuk <span dir="ltr">&lt;<a href="mailto:alex.franchuk@gmail.com" target="_blank">alex.franchuk@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"><div><div><br>
<br>
On 12/02/2014 07:54 AM, David T. Lewis wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Mon, Dec 01, 2014 at 11:58:02AM -0500, Alex Franchuk wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 12/01/2014 10:34 AM, Eliot Miranda wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  On Nov 30, 2014, at 8:21 PM, Alex Franchuk &lt;<a href="mailto:alex.franchuk@gmail.com" target="_blank">alex.franchuk@gmail.com</a>&gt; wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello all,<br>
<br>
I&#39;m at a stage of stability in my port of Squeak to the Plan9 operating<br>
system. I was wondering who I should contact, or where I should go, to<br>
either submit my work or get access to the SVN repository of platforms<br>
hosted at <a href="http://squeakvm.org" target="_blank">squeakvm.org</a>. It didn&#39;t quite seem like the sort of thing that<br>
should be put on the Mantis bug tracker, but I could be wrong.<br>
<br>
Any push in the right direction would be much appreciated!<br>
</blockquote>
If your port uses Cog then please send me a tarball of the files plus some<br>
description of any changes you had to make.  And thanks!!<br>
</blockquote>
Currently it does not use Cog, although that is actually my next step in<br>
development if I have enough time! It just uses the normal interpreter<br>
(as generated by VMMaker).<br>
<br>
</blockquote>
Hi Alex,<br>
<br>
I see that you have uploaded your Plan9-Compat.4.cs change set to the Mantis<br>
issue, thanks for doing that.<br>
<br>
   <a href="http://bugs.squeak.org/view.php?id=7821" target="_blank">http://bugs.squeak.org/view.<u></u>php?id=7821</a><br>
<br>
I think that you are working with a &quot;trunk&quot; VMMaker as your base. I may be<br>
able to help by testing your changes first with Linux and an interpreter VM.<br>
 From there, I should be able to forward the applicable changes to Eliot for Cog.<br>
<br>
I need to ask couple of questions so that I start from the right place:<br>
<br>
- Are all of the changes for Plan 9 compatibility in the change set for VMMaker?<br>
Or are there additional changes that need to be applied to the trunk/Cross or<br>
trunk/unix source code? If there are platforms files, please follow Eliot&#39;s<br>
suggestion of sending a tarball (or zip, or whatever is convenient). If it is<br>
not too large, please send it directly to the vm-dev list.<br>
<br>
- Which version of the VMMaker package did you start with? If you can give me<br>
a specific VMMaker mcz file that you initially loaded, or tell me what Squeak<br>
image you initially used, that would help. Or, try evaluating &quot;VMMaker versionString&quot;<br>
in your VMMaker image, and let me know what it says.<br>
<br>
Thanks,<br>
<br>
Dave<br>
<br>
</blockquote>
<br></div></div>
Hi Dave,<br>
<br>
To answer your questions:<br>
<br>
- I believe almost all of the changes in the change set are for VMMaker, although there is a change to the abstract SequenceableCollection object to add a doWithIndex:separatedBy: message.<br>
<br>
- The version of VMMaker that I started with was VMMaker-dtl.350, which I loaded from <a href="http://source.squeak.org/VMMaker" target="_blank">source.squeak.org/VMMaker</a> into a Squeak-4.5 image.<br>
<br>
I&#39;ll wrap up the platforms code into a tarball and send it to Eliot (and the vm-dev list). Currently the platform code assumes that the FilePlugin, SocketPlugin, B2DPlugin, and BitBltPlugin have been generated as internal plugins with the interpreter code, I still need to make changes for it to intelligently generate the makefile based on the configuration (there are no autoconf tools in Plan9 so that will end up being some script). So I will probably be making more changes as time goes on.<br>
<br>
Thanks,<br>
Alex<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>best,<div>Eliot</div></div>
</div>
<br></blockquote></div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>