linux-mips
[Top] [All Lists]

Re: QEMU MIPS user space emulation issue

To: Dirk Behme <dirk.behme@googlemail.com>
Subject: Re: QEMU MIPS user space emulation issue
From: Thiemo Seufer <ths@networkno.de>
Date: Mon, 11 Sep 2006 22:30:08 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <450589A6.5040808@gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <450589A6.5040808@gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.13 (2006-08-11)
Dirk Behme wrote:
> Hi,
> 
> we have an issue using QEMUs MIPS user space emulation 
> running programs compiled with mipsel glibc based 
> crosscompiler [1]. Because I'm not sure if it's a QEMU or 
> toolchain (or anything else?) issue, I'd like to ask the 
> experts here.
> 
> Up to now, the conclusion from [1] is that QEMUs mipsel user 
> space emulation fails executing a simple hello world program 
> if compiled with glibc based mipsel toolchain build with 
> crosstool and linked dynamically. Compiled with toolchain 
> using uClib or same program linked statically (-static) is okay.

So this is unlikely to be a kernel problem.

> For example, hello world compiled with mipsel toolchain 
> build with crosstool-0.42 configuration
> 
> cat mipsel.dat gcc-3.4.1-glibc-2.3.2.dat
> 
> fails if dynamically linked. As mentioned above, using 
> -static is okay.

Start from a known working mipsel userland, e.g. the one from Debian
unstable, and use it to isolate the bug.

> If failing, debug output shows that code
> 
> ...
> 0x401fa00c:  lw t9,-32600(gp)
> 0x401fa010:  addiu      a0,a0,30820
> 0x401fa014:  addiu      a1,a1,29452
> 0x401fa018:  addiu      a3,a3,25856
> 0x401fa01c:  jalr       t9
> 0x401fa020:  li a2,161
> ...

Sa a guess, it might be a dynamic symbol mis-resolved by the ld.so.


Thiemo

<Prev in Thread] Current Thread [Next in Thread>