[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries.
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries. |
Date: |
Tue, 16 Feb 2010 19:36:15 +0100 |
On 16.02.2010, at 19:31, Rob Landley wrote:
> On Monday 15 February 2010 07:01:02 Alexander Graf wrote:
>> On 15.02.2010, at 13:58, Rob Landley wrote:
>>> On Monday 15 February 2010 05:19:24 Alexander Graf wrote:
>>>> On 15.02.2010, at 12:10, Rob Landley wrote:
>>>>> On Sunday 14 February 2010 08:41:00 Alexander Graf wrote:
>>>>>> So the only case I can imagine that this breaks anything is that
>>>>>> uClibc requires register state to be 0.
>>>>>
>>>>> Yes, r3 (which is the exit code from the "exec" syscall, and thus 0 if
>>>>> it worked). In the BSD layout, it's argc (which can never be 0).
>>>>>
>>>>> http://lists.gnu.org/archive/html/qemu-devel/2007-03/msg00720.html
>>>>
>>>> So what you really want is something like
>>>>
>>>> #ifdef CONFIG_LINUX_USER
>>>> /* exec return value is always 0 */
>>>> env->gpr[3] = 0;
>>>> #endif
>>>>
>>>> just after the #endif in your patch. If you had inlined your patch I
>>>> could've commented it there.
>>>
>>> Unfortunately kmail plays fast and loose with whitespace when I inline
>>> stuff. (Not always, but I can't tell by inspection when it's decided it
>>> was hungry for tabs or wanted to throw in that horrible UTF8 escaped
>>> whitespace.)
>>
>> git-send-mail is your friend :-).
>
> No git command is my friend. The user interface of that monstrosity should
> be
> <strike>condemned</strike> banished with full bell book and dribbly candles.
>
> And I dunno how it would interface with kmail. (No other program on my
> laptop
> has the ssh tunnel to my mail server set up so it can send anything.) But
> out
> of curiosity...
>
> address@hidden:~$ git send-mail
> git: 'send-mail' is not a git-command. See 'git --help'.
> address@hidden:~$ git-send-mail
> bash: git-send-mail: command not found
> address@hidden:~$ git send mail
> git: 'send' is not a git-command. See 'git --help'.
>
> Since it's unlikely that this could send a patch I haven't checked into git
> (and I generally treat git as a read-only resource), learning more about it
> goes on the todo list I expect.
>
>>> I didn't explicitly set it because they're initialized to zero in
>>> function main() on line 2654 of linux-user/main.c. (Any regs we don't
>>> explicitly set to some other value start out zeroed in qemu.)
>>
>> So it should work already?
>
> *shrug* It doesn't.
>
> Let's see, one of the lines I #ifdefed out (line 535-ish of linux-
> user/elfload.c) is:
>
> get_user_ual(_regs->gpr[3], pos);
>
> Rummage, rummage... get_user_ual() is a wrapper for get_user() which is a
> wrapper for __get_user() which assigns to its first argument. So yeah,
> that's
> setting _regs->gpr[3] to a nonzero value.
Well I was wondering on the order of execution. If main() already sets the GPRs
to 0 it should be 0. I assume the elf reading code comes after that? If so,
your patch looks correct.
Alex
- [Qemu-devel] Re: Commit 085219f79cad broke Sparc-32 back in 2.6.28., (continued)
- [Qemu-devel] Re: Commit 085219f79cad broke Sparc-32 back in 2.6.28., David Miller, 2010/02/22
- [Qemu-devel] Re: Fun with sparc (was Re: qemu-ppc can't run static uClibc binaries.), Artyom Tarasenko, 2010/02/20
- [Qemu-devel] Re: Fun with sparc (was Re: qemu-ppc can't run static uClibc binaries.), Artyom Tarasenko, 2010/02/20
- [Qemu-devel] Re: Fun with sparc (was Re: qemu-ppc can't run static uClibc binaries.), Blue Swirl, 2010/02/20
- Re: [Qemu-devel] Re: qemu-ppc can't run static uClibc binaries., Rob Landley, 2010/02/17
- Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries., Alexander Graf, 2010/02/15
- Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries., Rob Landley, 2010/02/16
- Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries.,
Alexander Graf <=
- Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries., Rob Landley, 2010/02/16
- Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries., Stuart Brady, 2010/02/16
- Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries., Aurelien Jarno, 2010/02/28