[Qemu-devel] ANN: DetaolB v0.4 is released

Rob Landley 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. :)

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.



More information about the uClibc mailing list