On Wednesday 17 February 2010 03:24:58 Artyom Tarasenko wrote: > > I've also got a bunch of "sort of working, but not well enough to run > > builds natively under" targets on top of that (arm big endian, sh4, > > sparc...) > > What's not well enough on sparc?
More than one thing, unfortunately. (Symptoms I can give you, causes I'm iffy on.) 1) the uClibc 0.9.32.2 dynamic linker isn't working on 32-bit sparc. (I believe it's a uClibc issue, not specifically qemu problem. But then since I don't own real sparc hardware, I dunno.) 2) Not all of the system calls work (again, probably a uClibc issue). 3) I'm not sure my toolchain configuration is quite matching the instruction set qemu-system-sparc is emulating by default, I get occasional illegal instruction errors (but not reliably). (Are #1 and #2 related to this? Dunno.) If I statically link everything I can at least get to a command prompt, but only with init=/bin/sh. (If I try to run it through the boot script, it dies with various errors from "cannot allocate memory" to "Illegal insruction".) If you're curious you can play around with the prebuilt binary at http://impactlinux.com/fwl/downloads/binaries/system-image-sparc.tar.bz2 but you'll have to boot it like this to bypass the boot script: KERNEL_EXTRA="init=/bin/ash" ./run-emulator.sh Then to see it misbehave: # mount -t tmpfs /tmp /tmp # cd /tmp /tmp # ls ls: can't open '.': Cannot allocate memory /tmp # mount -t proc /proc /proc /tmp # ls -l /proc Illegal instruction The toolchain is configured with "sparc-unknown-linux" which you'd think would be generic sparc, but apparently not... If you prefer to build it from source, you can download http://impactlinux.com/fwl/downloads/firmware-0.9.10.tar.bz2 and run "./build.sh sparc", then look in the "build" directory when it's done. I'd happily explain how the build scripts work and what config options they're passing to the the toolchain and kernel and such, but this isn't the list for that. (http://impactlinux.com/fwl has a link to the FWL mailing list if you're interested.) I'd be thrilled to get some help on it actually, not a sparc expert... Thanks, Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds