I think this will be of great help:
On Thu, Sep 2, 2010 at 7:47 PM, Mateusz Jan Przybylski
> On Thursday 02 September 2010 15:42:56 you wrote:
>> Hi Vijay and Mateusz,
>> > On Thursday 02 September 2010 13:52:32 you wrote:
>> > > Thanks for the help. I have made quite a few changes to adapt pico to
>> > > the plan9 compiler. I don't think there is a compiler flag that let me
>> Oh, so this sounds rather tough. Is Plan9 not a POSIX system?
> <slightly ot>
> It is not by itself. It was written as a Unix replacement, by the fathers of
> Unix. They found full Unix compatibility too constraining at some point.
> However, Plan 9 shares a lot of core concepts with Unix; in a way, it just
> takes Unix one logical step further. A lot of semantics and APIs is similar
> enough to POSIX for a thin, straightforward POSIX compatibility environment
> (APE) to exist.
> On the other hand, a lot of P9 innovations trickled down to recent Unix
> derivatives and wannabes, for example the clone() syscall, bitblit API, UTF-8
> and so on.
> Moreover, a lot of Plan 9 softwari can, and indeed has been, ported to POSIX
> -- `Plan 9 from Userspace' resulted. Some functionality is missing because
> POSIX is very lacking in some areas, but it's pretty useful anyway -- and
> makes up my daily work environment ;)
> As a curiosity, there are no shared libraries in P9 -- only what we call
> `static linking'. It's awesome in the longer run <3
> Misc resources related to Plan 9: http://cat-v.org/
> </slightly ot>
>> > > align addresses. I have to search further or repeat the changes in the
>> > > bigpico and try to compile that. Anyway, have to wait till I get a
>> Porting picoLisp to a non-POSIX system might be very difficult, as a lot
>> of functionality depends on it. In this regard, miniPicoLisp is much
>> easier, as it uses more or less only plain vanilla C.
> I was pondering porting picoLisp to P9 for several months, and (with my
> limited understanding of P9) it doesn't seem very problematic. Never expected
> the matter of symbol alignment, thou.
>> > I think you could create a C program that reads symbols & their values
>> > from a compiled (and possibly linked) executable and writes a new
>> > executable with functions aligned `by hand' to desired value. There is a
>> > bunch of functions in
>> > http://plan9.bell-labs.com/magic/man2html/2/symbol
>> > http://plan9.bell-labs.com/magic/man2html/2/object
>> > and
>> > http://plan9.bell-labs.com/magic/man2html/2/mach
>> > which let you read and write symbols from & to files.
>> Cool. But is it really able to relocate symbols? I couldn't detect that
>> from scanning the above resources.
>> If it does, what happens to other references from inside the object code
>> to those relocated symbols?
> I dunno for sure. My understanding is, the linker (2l, as in two-ell) uses
> those APIs to output executables. So it's either `use them to read a compiled
> executable and generate a new executable', or `modify the underlying library
> and/or linker so it outputs stuff aligned'.
> Mateusz Jan Przybylski
> ``One can't proceed from the informal to the formal by formal means.''
> UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe