[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Guest image and symtable alignement




On 11 Apr 2006, at 14:14, Mathieu Ropert wrote:

I found a difference between Xen's domain kernel symbol table alignement and alignement found in some other OS, like BSD.

On Xen (looking at loadelfsymtab() in common/elf.c), symtable length is stored on an ELFROUND rounded address (4 bytes on 32bits, 8 bytes on 64 bits) followed by the ELF header. As length is an int, header isn't 8 bytes aligned on 64 bits (no problem on 32 bit as sizeof (int) == ELFROUND), whereas OS like BSD expects the header to be aligned on a long boundary.

I'd like to know whichever is right (if there is any standard about that), because this may cause some incompatibilty problems with future ports attempts. Was also wondering if we could just fix it be moving all this 4 bytes forward in the guest OS code (may break pointer references, if any?).

That code is used *only* by BSD ports. So I guess it does work for them and, since the build of the OS will be targetted at Xen they can always do whatever is needed to get their symtab to be accepted by the loadelfsymtab() code. If there is a problem, it'll be up to them to submit a patch to fix it.

 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.