From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Ropert Subject: Guest image and symtable alignement Date: Tue, 11 Apr 2006 15:14:51 +0200 Message-ID: <443BABCB.6000900@adviseo.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: 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 List-Id: xen-devel@lists.xenproject.org Hi, 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?). Thanks, Mathieu