On Sun, Jun 16, 2013 at 10:00 AM, Andy Farkas <an...@andyit.com.au> wrote:

> On 16/06/13 20:30, Jeremy Chadwick wrote:
> > * Output from: strings /boot/kernel/kernel | egrep ^option Thanks.
>
> I stumbled across this one about a week ago:
>
>  strings /boot/kernel/kernel | head -1
>
> and was wondering about the history of where it came from / what it means.
>
> I can see it was added to Makefile.i386 in September 1998 but the commit
> comment mentions the defunct alpha port and searching SVN for things in the
> Attic is a PITA.
>

The key in the log message is that the kernel became a dynamic executable.
In order to launch typical dynamic executable kernel would actually launch
dynamic linker specified in the INTERP program header in the ELF file. By
default it's /libexec/ld-elf.so.1. Dynamic linker in turn would load the
app and the shared libraries it requires.

Kernel is, obviously, not a typical executable. My guess is that the idea
behind changing dynamic linker to /red/herring was to make it obvious that
the file is not a typical app and that despite being an ELF executable, it
should not be executed as a regular program.

It's just a guess, though.

--Artem
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to