<html><head></head><body><div>
                    
     
     
       
         <meta charset="utf-8">
       
       
         <div id="compose-body-wrapper" dir="auto"><div dir="auto">Hi 
guys</div><div dir="auto">As a followup, I've got  a small python 
script which leverages qemu to build the VM in a sort-of-reproducible way 
using uwe's work: <a 
href="https://github.com/russellallen/Self-VM-Builder" 
target="_blank">https://github.com/russellallen/Self-VM-Builder</a></div><div 
dir="auto"><br></div><div dir="auto">I've built running VM's from his work 
for NetBSD/i386 and FreeBSD/i386, though there is a bunch of cmake magic 
which isn't quite working (eg FreeBSD takes forever to compile because PCH 
isn't happening)</div><div dir="auto"><br></div><div dir="auto">As uwe 
says, the aim is to get this all into dev (and then into a 
release)</div><div dir="auto"><br></div><div dir="auto">Cheers 
Russell</div><br></div><div class="replyHeader" dir="auto">Valery Ushakov 
wrote:</div><br><br><div><blockquote 
cite="mid:Y/E6OraDYLMkduDY@pony.stderr.spb.ru" type="cite" style="margin:0 
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>I have spent a 
couple of evenings kicking the source tree to get it to</div><div>compile 
on NetBSD/macppc, hoping for some low-hanging fruits to fall.</div><div>I 
see from the history that the port was removed but then David 
rolled</div><div>that change back, so I guess it's not entirely 
unwanted.</div><div><br></div><div>I pushed the results to 
github:</div><div><br></div><div>  
https://github.com/nbuwe/self/tree/feature/netbsd-macppc</div><div><br></div><div>This 
branch is off the feature/netbsd-i386 branch that Russell 
might</div><div>hopefully merge to dev.</div><div><br></div><div>The 
changes are confined to the ppc subdir except for bringing 
back</div><div>ppc support in cmake files and one small tweak to 
netbsd-specific</div><div>kludge in allocation.cpp.  These changes 
should not affect i386 builds</div><div>in any 
way.</div><div><br></div><div>One manual kludge I have to use to build the 
tree is to compile only</div><div>the search_ppc.cpp file with -maltivec - 
my cmake-fu is non existent,</div><div>so I don't know how to do express 
that properly.</div><div><br></div><div>(I tried to keep macosx/ppc parts 
intact.  I guess I can eventually</div><div>set up macos on an 
external drive - I have the retail dvd for the last</div><div>version that 
supported ppc - and see if it compiles, but I guess the</div><div>demand 
for that is vanishingly small and I'd rather sink my not 
so</div><div>copious free time into making it actually work on netbsd. 
:)</div><div><br></div><div>The resulting binary doesn't work - not that I 
expected it to.  After</div><div>I had time to look past the surface 
level problems of making it to</div><div>compile, I see that the frame code 
is written for the macos ABI:</div><div><br></div><div>  Inside 
Macintosh: Introduction to PowerPC System Software, 1-44</div><div>  
https://developer.apple.com/library/archive/documentation/mac/pdf/PPC_System_Software/Intro_to_PowerPC.pdf</div><div><br></div><div>so 
of course that doesn't work on ELF ABI with a different stack 
frame</div><div>layout.</div><div><br></div><div>Adapting to ELF ABI 
(while, ideally, not breaking macos) is a bit too</div><div>much for my 
current time budget.  I realize there's probably not 
much</div><div>practical demand for the working ppc port, but doing these 
changes was</div><div>quick and easy, didn't break anything (hopefully) and 
that leaves it</div><div>in a batter shape. So on an off chance that 
someone might be</div><div>interested in picking this up, the tree is in a 
mostly buildable</div><div>state.  Broken windows theory and all 
that...</div><div><br></div><div>-uwe</div><div>_______________________________________________</div><div>Self-interest 
mailing 
list</div><div>Self-interest@lists.selflanguage.org</div><div>http://lists.selflanguage.org/mailman/listinfo/self-interest</div></blockquote></div>
       
     
   
                   
</div></body></html>