[Aboriginal] [Toybox] big endian problems

Rob Landley rob at landley.net
Wed Oct 22 09:42:21 PDT 2014


On 10/22/14 09:25, James McMechan wrote:
> I was trying to do a multi-architecture buildall and it blew up on the 2nd architecture on both sparc and ppc it seems the toybox md5sum sha1sum are not big endian safe, i have not puzzled out the logic yet.

Sigh. It _was_ bigendian safe, before I applied the unroll patch to
speed it up back in may.

I have a second unroll patch applied to my local tree that speeds it up
further, but it's just too ugly for words. I've been meaning to poke at
this and try to clean up the faster version, but getting it to be both
simple and fast is _hard_, and haven't made a big enough block of time
to sit down and stare at it yet.

I hadn't done a proper retest because I wasn't done changing it. My bad,
sorry. I'll build a fresh powerpc test image here and at least fix the
big endian failure today.

> Seagate GoFlex Home ARM 1.2GHz kirkwood 5te 128MB works
> required chmod 666 /dev/null and then 'ln -s libc-2.18.so libc.so.0' so native
> compiler would build under arch linux

Um, did you make this change _to_ arch linux? (Confused, the aboriginal
linux system image I have lying around already has /dev/null chmod 666,
and libc.so.0 is a symlink to libuClibc-0.9.33.2.so. Linking glibc to
libc.so.0 is... ouch?

> took 287m for a single arch compile
> 
> 
> my other systems are still in need of work
> AMD Athlon64 - power supply replacement
> Intel P75 24MB - networking problems
> hp sh3 32MB - have not yet got aboriginal to build for sh3

Oh wow, you have an sh3 test system?

I'm currently trying to get aboriginal to build for sh2, which is nommu
and thus weird. (I've got a little xylinx fpga here with an sh2
bitstream, and an old code sourcery sh2 toolchain hooked into a
buildroot fork with a kernel and such.) I've already got sh4 working in
aboriginal, so collecting the whole set would be nice on general principles.

Adding sh2 and sh3 support to qemu is also on the todo list. I _think_
it's mostly a question of chopping sh4 down to the earlier/smaller
instruction sets (and disabling the mmu for sh2), but I have a giant PDF
to read through to see what the actual differences are...

> TP-Link mr3020 - aboriginal will build MIPS, but static binaries do not run on openwrt kernel
> hoo-too Tripmate Elite - also MIPS not yet tested

mips has a sort of oabi/eabi thing going on, where the old mipsr4k
binaries I'm building (with the hard 256 meg memory constraint) are
being replaced by "mips32" which is some confusing thing I need to read
up on and has some kind of "kernel space code and userspace code aren't
the same thing" weirdness going on that I got half an explanation of and
don't understand.

If anybody has a decent explanation of that lying around, I'd love to
add it to the link collection. I never properly finished:

  http://landley.net/aboriginal/architectures.html

Because I don't _know_ this information, and what research I did do is a
bit stale now...

Rob


More information about the Aboriginal mailing list