>> used, if you care about these things. The numbered files are the
>> actual slides, porting.talk are my speaker notes.
>
> Yes, please. This would be a good opportunity for me to try out
> acme.
mkdir /tmp/1
hg clone
https://code.google.com/p/aram-dotfiles/ /tmp/1
Copy /tmp/1/bin/Slide{,-,+} somewhere in your path.
In acme, open 000.start from my presentation repo, copy Slide-
Slide+ in the tag and middle click on them to move between slides.
> I'm currently, at least in part, working with QNX systems. Out of
> curiousity, I'd like to gauge how much work a port would be, though I
> suspect that the answer is "way above my pay grade" ;)
Go on QNX would definitely be something I'd like to see. For such
a port to really shine, you'd need to rewrite the scheduler and the
garbage collector, which is a huge task, but that's not required
for an inital port.
QNX uses ELF, but I believe the ELF layout it uses is quite different
compared to other operating systems. The Go linker generates ELF,
but you need to modify it to produce what QNX expects. It won't be
hard adapting it to QNX, the hard bit is that you will (probably)
have to break lots of abstractions in the linker, and you need to
do that without breaking ELF on other target systems.
This job won't be big (in number of lines changed), but it will
probably be the most difficult part of the port. You might find
that QNX actually accepts more traditional ELF layouts, even though
it prefers a special layout for performance. In that case your job
will be easier, although reading QNX documentation I don't think
that's the case. The bright side is that in principle it's easier
to generate the kind of ELF binaries QNX expects that what ELF
binaries we generate now.
I believe statically linked binaries are supported on QNX, so you
don't need to use a shared library to call system calls. Reading
the loader documentation is seems if you do want to use a shared
library (like Solaris does), it's easier than on more traditional
systems.
Other than what I mentioned above, QNX is a Unix system and Go
should be straightforward to port.
--
Aram Hăvărneanu