ARMv4 vs ARMv6

Harald Welte laforge at
Thu Oct 16 12:49:23 CEST 2008

On Thu, Oct 16, 2008 at 09:59:57AM +0100, Andy Green wrote:

> |> | If using the newer instructions brings even the slightest acceleration
> |> | it should be used imho.
> |>
> |> If the packaging tools just can't deal with it,
> |
> | This is exactly what openembedded has been designed to do and what
> | Angstrom (the distribution openmoko uses) has been doing for years. Have
> | a look at and
> | you'll see that packages are available for ARM architectures ranging
> | from strongarm to the latest cortex-a8.
> Great, but this situation reminds me a lot of i386 and x86_64, there is
> also the aspect that x86_64 / ARMv6 can run v6 and v4 packages, but i386
> / ARMv4 can't run v6 packages.  It took quite a while for that to settle
> down in the packaging tools and the distros.

No. The problem with multiarch was never like that.  The problem rather was
that you suddenly can have two versions of one library installed (e.g. a i386
glibc and a x86_64 glibc) and your distribution building and packaging system
can no longer use simply the package name to uniquely identify a package.  The
new unique criteria is a tuple of (name,arch) for each package and package
dependency.  The dependency issue is important as you can't (at least not
normally) link a i386 library into a x86_64 program.  Different calling
conventions, etc.

I don't know the details of ARMv4/v6/VFP interaction, but I believe it is
all the same ABI (EABI), and you should very well be able to link a ARMv6
application against an ARMv4 library.

- Harald Welte <laforge at>         
Software for the world's first truly open Free Software mobile phone

More information about the devel mailing list