IHMO the best thing to do is to use for each library function a
calling way which do not need modification of the code of an
application by the loader. That is (a little bit like DOS/BIOS
interract) using an assembly instruction to jump at a constant
entry point, on different micro it is called software interrupt
(ARM, 8086), trap (68000), call door (80386)...
For some low level services (real time kernel) it will also disable
interrupts within library treatment if it is needed.
For Linux full system it will enable more mmap()/read()
or pages to copy on write by "mergemem".
You still need Position Independant Data if you intend to run
twice the same software (via virtual memory, maybe); how about
variable defined/unsed in library - I do not know.
What a long project !
Hope you will succeed.
Etienne.
----------- etienne.lorrain@ibm.net
-- hdc: irq timeout: status=0xd0 { Busy }
-- ide1: reset: success
----------> I like Linux !
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu