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

[Xen-devel] Re: [patch 1/5] add libelf: an ELF binary parser library.



Hi Gerd,

I have to say I'm not a big fan of sticking a 32bit and 64bit version
of each structure in a union and then checking at all levels of the
function call stack which one to reference (via elf_xval() for example).

Wouldn't it be cleaner to just have 2 different version of each elf
data structure and function? elf32_xxx and elf64_xxx . And go down
one path or the other at the start of your function call stack? I'm not
usually a fan of multiple compilation, but due to the layout of 32
and 64bit elf structures, this is one case where it makes sense
to me.

Also, do we actually have a need to look at elf files with a different
ELFDATA (byte ordering) ?


On Jan 23, 2007, at 15:53, Gerd Hoffmann wrote:

This patch adds a library with a small collection of helper functions
to parse and load elf binaries.  The library handles endianess and
elfsize at runtime.

The patch also shuffles around the include files a bit.  Now there is
*one* include file holding all the elf structures
(xen/include/public/elfstructs.h) which is included by everyone who
needs them.

It's dead code with this patch only, putting the code into use happens
in followup patches.

Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxx>
---
tools/libxc/xc_elf.h | 525 -----------------------------------
 xen/arch/x86/boot/mkelf32.c         |    2
 xen/common/Makefile                 |    2
 xen/common/libelf/Makefile          |    4
 xen/common/libelf/README            |    1
xen/common/libelf/libelf-dominfo.c | 420 ++++++++++++++++++++++++++++
 xen/common/libelf/libelf-loader.c   |  156 ++++++++++
 xen/common/libelf/libelf-private.h  |   51 +++
 xen/common/libelf/libelf-relocate.c |  345 +++++++++++++++++++++++
 xen/common/libelf/libelf-tools.c    |  225 +++++++++++++++
xen/include/public/elfstructs.h | 527 ++++++++++++++++++++++++++++++++++++
 xen/include/public/libelf.h         |  238 ++++++++++++++++
xen/include/xen/elf.h | 490 ---------------------------------
 13 files changed, 1972 insertions(+), 1014 deletions(-)


_______________________________________________
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®.