[Qemu-devel] ANN: DetaolB v0.4 is released
rob at landley.net
Wed Jul 11 17:38:32 UTC 2007
On Wednesday 11 July 2007 7:17:28 am Blue Swirl wrote:
> On 7/10/07, Rob Landley <rob at landley.net> wrote:
> > On Tuesday 10 July 2007 14:30:38 Blue Swirl wrote:
> > > > The sparc platform has a problem that if I boot with init as a "hello
> > > > world" program everything behaves as expected (there are two in the
> > > > image for testing purposes, /tools/bin/hello-dynamic and
> > > > /tools/bin/hello-static). But if you boot with init=/tools/bin/bash
> > > > it hangs. And so do the busybox shells.
> > >
> > > I think there is a problem with the dynamic loader, I get a bus error
> > > when running the programs on real Sparc.
> > Huh. That's odd because hello-dynamic is using the dynamic loader.
> > (That's why there's a hello-dynamic and a hello-static.)
> > It's entirely possibly that qemu and real sparc hardware are behaving
> > differently, but I'm not seeing this bus error under qemu. (I haven't
> > got real sparc hardware, so I can only debug against qemu...)
> Right. Debugging the problem I found out that in Qemu, 64-bit loads
> and stores to unaligned addresses do not trigger any traps as they
> should. I'll commit a fix soon. The problem is in uClibc ldso, there
> is this kind of store.
I'll leave that to you. I can commit the patches to the uClibc repository if
you can get them to me and confirm they work for you. (And get them added to
the 0.9.29.1 patch list.)
> On Sparc32 the correct page alignment is still 4096. Because of these
> definitions, some code apparently tries to clear a 8k page, but only
> 4k of memory is mapped.
Hmmm... It's possible that "hello world" is working but nothing larger is
just because it uses such small amounts of memory nothing ever crosses a page
boundary, or gets aligned properly by accident...
I look forward to a fix. It would be nice to add sparc to the "actually
works" list. :)
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
More information about the uClibc