[Toybox] [Aboriginal] big endian problems

wj hoan at wanadoo.fr
Thu Oct 23 00:20:35 PDT 2014


interesting really !
It reminds me to my first "wrapping cabling" the 6800  ... time ago
to build a C.A.M.A.C compatible micro for data acquisition !!!!
( transition from programming on ibm360 with triodes pentodes as
room heater )

On jeu., 2014-10-23 at 01:16 +0100, Owen Shepherd wrote:
> 
> > 
> > Rob Landley
> > 22 October 2014 17:42
> > 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
> I don't have any info on MIPS ABI transitions, but I do have a few
> comments and corrections to make to that page (mostly regarding ARM,
> but a few other historical trivia):
>       * ARMv5 didn't make Thumb mandatory (hence ARMv5T); that was
>         ARMv6
>       * Thumb-2 was actually an ARMv6 extension (ARMv6T2)
>       * ARMv7-M also have a completely different exception model
>         (ARMv6-M is a further stripped down version of ARMv7-M, not
>         actually a predecessor). The M stands for microcontroller
>         (much like the v7-R variant stands for Realtime, of the hard
>         realtime sort). Being a microcontroller arch, backwards
>         compatibility is pretty unimportant.
>       * Big vs Little endian is a runtime distinction as well (APSR
>         contains two bits - BE8 and BE32 - which can be used to switch
>         into one of the two big endian modes, depending upon which
>         your processor supports. BE8 is the one all modern processors
>         support, BE32 is the one all older processors support, IIRC).
>         Nobody that I know of would use "armv4tl" as an architecture
>         designator
>       * The ABI commonly called "OABI" is actually an old, deprecated
>         version of the EABI (it was deprecated because it didnt'
>         interwork with Thumb code, or indeed work with Thumb very well
>         at all). Linux took the opportunity to rework its' system call
>         ABI at the same time. You can run EABI software on ARMv4 (no
>         Thumb), with some caveats (you need to translate all BX
>         instructions into MOV PC instructions)
>       * Motorola didn't get their engineers back in their lawsuit
>         against MOS Technologies. The eventual settlement was that MOS
>         would discontinue the 6501, a 6800 pin-compatible variant of
>         the 6502
>       * Following on from this, the 68000 was the successor to (and
>         designed by the same team as) the 6809, Motorola's "6800 v2",
>         done after the engineers left to found MOS (several of which
>         would later move to the Western Design Center, which produced
>         the 65816. WDC are an interesting example of did something two
>         decades ago, still living entirely on the results of that
>         thing)
>       * The Acorn BBC Micro was a 6502 based machine. ARM was
>         developed for its' 32-bit successor.
>       * AArch64 is a completely revised architecture. In particular,
>         it has a new, cleaner instruction set; the system register set
>         has been redesigned; the whole privilege level and hypervisor
>         functionality has been redone; the general purpose register
>         file has been enlarged and all special purpose registers
>         removed (SP is no longer in the register file, for one). I
>         wouldn't be so sure of a merge.
> _______________________________________________
> Aboriginal mailing list
> Aboriginal at lists.landley.net
> http://lists.landley.net/listinfo.cgi/aboriginal-landley.net



 1414048835.0


More information about the Toybox mailing list