[PATCH] Suggested FreeBSD merge

Joerg Sonnenberger joerg at britannica.bec.de
Sun Nov 14 11:10:21 PST 2004


On Sun, Nov 14, 2004 at 10:23:55AM -0800, Matthew Dillon wrote:
>     So, for example, I would never hard-code an actual fixed address.
>     Instead I would take advantage of the fact that we are now in pure ELF
>     environment and I would put some elf-loader glue in the kernel to
>     resolve references to the kernel-supplied read-only mapping, or something
>     like that, using a special ELF section.

Hard-wiring the addresses is the only possibility for statically linked
programs. E.g. a setup like this
0xbfffff000 memmove
0xbfffff100 htonl
0xbfffff110 htons
. ..

works, because it doesn't need .text relocations. This also works for
shared libraries, because they can be statically linked against the
addresses. The initialisation could be done either via a system call
at init time ("load library page version 1.0") or directly by specifying
an ABI version in the ELF header. Having something like that would be
useful for emulation handling too. We could tag a binary as DragonFly 1.1
program and the kernel could choose e.g. conversion of ioctl and other
stuff.

Joerg





More information about the Submit mailing list