On 08/08/2014 12:17 AM, Robert Moskowitz wrote:
I see that the rpms are labeled:  armv5tel

My Cubieboard is an armv7 (Allwinner A20 duo core)

This bothers me a bit.  I don't know if there are better and newer
instructions available with the armv7 or if it is just more stuff. Or if
the new stuff is all handled in the kernel.  Or. Or.

So what is the story here.  Does Redsleeve need to be compiled
specifically for the armv7 or does the armv5tel support all that is there?

RedSleeve only comes with armv5tel soft-float support. Some packages in the epel repository are armv6l, some may even be armv7l, but all are soft-float. There are additional instructions available in higher target platforms, but they make relatively little difference (a bit like on x86 where back in the day there was just no point in specifically targetting, say, i586, so all the binaries were targetted at i386 because the benefit of more specialised binaries was not significant enough to justify the overhead of maintaining multiple package sets.

On ARM, the significant improvement comes from hard-float support, but even that is mostly limited to apps that do heavy floating point number crunching, and the difference in most desktop and server apps is negligible.

Soft-float and hard-float are mutually ABI incompatible. You cannot run a mixed set of soft-float and hard-float binaries on the same system like you can with x86 and x86-64 because multilib support for that was never worked out due to being too difficult and not giving enough benefits to be worth bothering with. But as long as binaries are all soft-float (or all hard-float) it doesn't matter what instruction set they are targetting, they will interoperate cleanly as long as the CPU has the required instructions. (Note: hard-float requires ARMv7 as FPU was not available on ARMv5, and it was optional on ARMv6; ARMv7 must have a FPU, ARMv6 isn't guaranteed to have it.)

It is also worth mentioning that soft-float binaries CAN use the hardware FPU if it is present. It's just that the overhead of using the hardware FPU can be higher in the setup phase, so for small amounts of short FP operations it is usually quicker to just emulate it.

As far as RedSleeve EL6 is concerned - there is no hard-float version, nor will there be. The EL6 (F11-F13) era toolchain doesn't support hard-float sufficiently completely and sufficiently stably to facilitate it. You could rebuild the entire distribution with a much more recent toolchain, but then it would arguably be pretty far from being EL6 in terms of versions of key libraries.

So, diet version - on RSEL6 there is only soft-float armv5tel in the main repository, and EPEL includes some higher soft-float variants but they are all soft float because that is all the toolchain supports reliably. None of this is of major concern in terms of performance unless you plan to do gaming or other similarly heavy FP number crunching.

Even more diet version - don't worry about it. Yum will do the right thing, and for the packages for which armv6l or armv7l variants exist, it will pick those if your CPU can handle it.

Gordan
_______________________________________________
users mailing list
[email protected]
http://lists.redsleeve.org/mailman/listinfo/users

Reply via email to