From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Christoph Egger" Subject: Re: [PATCH] mkelf32: Correct sh_link Date: Wed, 3 Jan 2007 16:38:08 +0100 Message-ID: <200701031638.09068.Christoph.Egger@amd.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Keir Fraser List-Id: xen-devel@lists.xenproject.org On Wednesday 03 January 2007 16:20, Keir Fraser wrote: > On 3/1/07 15:11, "Christoph Egger" wrote: > > On Wednesday 03 January 2007 14:57, Keir Fraser wrote: > >> SHT_PROGBITS sections do not use the sh_link field. It's used by > >> symbol-table sections, relocation-entry sections, and suchlike, of which > >> we don't have any. And .shstrtab section is never linked to. > > > > Why do you strip the symbol table and re-add it in an unusual format > > when linking the bootable ELF image? Is this a historical relict? > > No bootloader would load a symbol table for us (where would it load it? How > would it tell us about it?), so we have to internalise it into the PROGBITS > section somehow. Stealing the Linux code to do this made sense. The multiboot header tells us where to find the symbol and string table. Then we can load it ourself. Look into the NetBSD code how this would work: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/include/multiboot.h?annotate=1.4 http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/i386/multiboot.c?annotate=1.9 ;-) Would you accept a patch, that makes XEN bootable as an ELF image with ELF symbol-name and string tables? If yes, then I will work on this. Christoph