<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>