Date: Sun, 28 Apr 1996 12:29:24 -0400 (EDT) From: Chuck Robey <chuckr@Glue.umd.edu> To: FreeBSD-current@FreeBSD.org Subject: ELF executeables Message-ID: <Pine.OSF.3.91.960428121918.30493A-100000@professor.eng.umd.edu>
next in thread | raw e-mail | index | archive | help
I'm trying to understand how ELF executeables work, and having a little trouble. I found information (from an SVR4 manual) on the structure of ELF executables, and I've read it. Now I'm trying to understand how an executable gets started. I thought I had it that crt0 loaded an ld.so image, which determined if (or if not) it was a shared image, and started off loading any shared stuff via mmap calls. Because of this, I went looking at the crt0 and ld.so code, but found no provision for recognizing ELF execuables. I have found in /usr/src/sys/kern the files imgact_aout and imgact_elf, I can see that they must be doing the magic, but I don't understand at what point in starting execution of a program that they get involved. Could someone explain some of the strategy, or point me at something else to read? Thanks. I think that the ELF stuff is really neat, I'm just exercising my curiosity. This is all raising some interesting questions in my mind, as to the ultimate (12-18 months) goal of FreeBSD. Is a.out possibly on it's way out? Does the size of current bloat out, during a possible conversion to ELF (dual libs?)? Sorry for all the questions, I'd really be interested in some comments. I'd move this to FreeBSD-chat if folks want. ========================================================================== Chuck Robey chuckr@eng.umd.edu, I run FreeBSD-current on n3lxx + Journey2 Three Accounts for the Super-users in the sky, Seven for the Operators in their halls of fame, Nine for Ordinary Users doomed to crie, One for the Illegal Cracker with his evil game In the Domains of Internet where the data lie. One Account to rule them all, One Account to watch them, One Account to make them all and in the network bind them.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.OSF.3.91.960428121918.30493A-100000>
