Hi all, I think this will be of great help: http://doc.cat-v.org/plan_9/4th_edition/papers/ape
-- Vijay On Thu, Sep 2, 2010 at 7:47 PM, Mateusz Jan Przybylski <dexen.devr...@gmail.com> wrote: > 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 > -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe