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