qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] RFC: cleanups in ELF loader


From: J. Mayer
Subject: Re: [Qemu-devel] RFC: cleanups in ELF loader
Date: Mon, 01 Oct 2007 04:42:21 +0200

On Sun, 2007-09-30 at 17:09 +0200, J. Mayer wrote:
> On Sun, 2007-09-30 at 14:38 +0100, Thiemo Seufer wrote:
> > J. Mayer wrote:
> > > Following what I've done in the syscalls emulation routines, it appeared
> > > to me that there seems to be a lot of confusions between host and target
> > > long in the ELF loader.
> > 
> > But the ELF fields are tied to the ELFCLASS of the supported ABI, not to
> > the register width of the machine emulation. If anything they should
> > become the ELF types.
> > 
> > (Your approach will e.g. break down for MIPS N32, where "long" is smaller
> > thant the register width, and the ABI uses ELFCLASS32.)
> 
> OK, I will try to rework this.

I did check in the linux kernel and it appears that all variables I
changed from unsigned long to target_ulong seem to be unsigned long in the
kernel. This looks fine for me as they are addresses in the process virtual 
address space, 
so they should fit in a target_ulong, whatever the target registers size could 
be.
What seems bugged to me (but I did not make any change in that part) is
the auxiliary vectors generation. This seems to me to be the only place
where Linux explicitelly uses elf_addr_t so Qemu should do the same.
Then, it seems that my patch is not so bad and should not break anything
but is not complete as it does not fix the auxiliary vectors.

Do you agree with this, or did I miss something else ?

-- 
J. Mayer <address@hidden>
Never organized





reply via email to

[Prev in Thread] Current Thread [Next in Thread]