From owner-freebsd-current Sun Oct 18 14:17:53 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA10316 for freebsd-current-outgoing; Sun, 18 Oct 1998 14:17:53 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from smtp02.primenet.com (smtp02.primenet.com [206.165.6.132]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA10305 for ; Sun, 18 Oct 1998 14:17:47 -0700 (PDT) (envelope-from tlambert@usr07.primenet.com) Received: (from daemon@localhost) by smtp02.primenet.com (8.8.8/8.8.8) id OAA21069; Sun, 18 Oct 1998 14:17:22 -0700 (MST) Received: from usr07.primenet.com(206.165.6.207) via SMTP by smtp02.primenet.com, id smtpd021039; Sun Oct 18 14:17:19 1998 Received: (from tlambert@localhost) by usr07.primenet.com (8.8.5/8.8.5) id OAA11370; Sun, 18 Oct 1998 14:17:16 -0700 (MST) From: Terry Lambert Message-Id: <199810182117.OAA11370@usr07.primenet.com> Subject: Re: So, what does ELF give me? To: ckempf@enigami.com (Cory Kempf) Date: Sun, 18 Oct 1998 21:17:15 +0000 (GMT) Cc: freebsd-current@FreeBSD.ORG In-Reply-To: from "Cory Kempf" at Oct 16, 98 11:53:27 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > OK, So I know that ELF is a much newer object file format than a.out, > and that it is supposed to somehow have better support for shared > libraries, the rest of the known universe is using it, and that it is > supposed to be somehow better and we are somehow supposed to be able > to do more things. > > So, what are they? > > What can I, as a developer, do with ELF that I couldn't with a.out? > What does it buy me? How will this difference impact me? > > Is there a discussion of this on line somewhere? Yes, in the -current list archives on www.freebsd.org. Among other things, it allows you to agregate multiple object files into a single object file, while still keeping them logically seperate. Since I'm the one who wrote up the biggest list in favor of ELF (I'm pretty sure no one beat me), I'd really prefer you go look for the list in the archives. As one example, you could build the libkvm into the kernel image itself, which would prevent it from ever getting out of date from now on. A program like ps or w or finger or ... could dlopen the ELF sections implementing the kvm access from the kernel image. This would allow them to access the kmem image of the currently running kernel and/or a crashdump, without fear of using the wrong libkvm. Another example is the ability replace default drivers in a running kernel with ones with more functionality, without having to rebuild the kernel for the change to become permanent for the next boot. Another example is section flagging, which would allow the vast majority of the kernel itself to actually be marked swappable. In user space, you could utilize commerically produced ELF libraries on your FreeBSD system. Etc. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message