> I always had the impression that the object formats
> used by the various ?l are more for kernels and the
> various formats expected by loaders than for userland
> apps.  For userland, I would think the intent is for
> there to be a single consistent object format (at least
> for a given architecture).

Well, we had alef for Irix and other similar user level/application
level tricks that no longer seem important today, but without the
option trickery Go would have had to wait for Ian Lance Taylor to
produce a GCC version :-(

Myself, I'm still trying to combine the Go toolchain with the Plan 9
toolchain so that we can have a consistent framework for real
cross-platform development, but the task doesn't quite fit within my
resources and skills.  I don't have a problem with the trickery, it's
just a shame (IMO) that it wasn't designed the same way as the target
architecture stuff.  I understand the complexity involved and I'm still
looking for ideas on reducing that complexity.

Typically, the Go toolchain still has (had?) code in it to produce
Plan 9 object code, but one could easily imagine that stuff
bit-rotting.  If it hasn't been removed yet, it sure runs the risk of
being removed before long.

Of course, the ideal situation would be for Go and p9p to converge and
the whole lot to be back ported to Plan 9.  I think it's possible, but
somebody of my skill level trying to do this will often need to be
rescued after painting himself in a corner.  But I have made a start
and, again, I must rescue and document my efforts, lest somebody have
to go through those pains again unnecessarily.

++L

PS: I think 9vx has brought me closer to this objective, but it's
still orders of magnitude bigger than I am competent.  But less so
than the auto* stuff.


Reply via email to