Bug#693040: [libav-devel] Strange build failure on several archs in Debian.

Måns Rullgård mans at mansr.com
Tue Nov 13 16:14:00 UTC 2012


Loïc Minier <lool at dooz.org> writes:

> I guess the libav build you're seeing with armv4 + softfp is the VFP
> pass for the Debian armel port.  It's using the toolchain defaults
> (armv4 + float-abi=soft) for the main build and turns on VFP (-mfpu=vfp
> --float-abi=softfp) for the VFP pass.
>
> If there's absolutely NO ARMv4 hardware with VFP ever going to run
> Debian armel and if enabling ARMv5 would greatly benefit the builds,
> then we could special case this and force -march=armv5 for the vfp pass
> if the toolchain defaults to armv4.
>
> However, if there's some ARMv4 hardware with VFP around, the vfp flavor
> of libav might get picked up by hwcaps and that will cause SIGILL at
> runtime if we enable ARMv5 instructions.

There has never been, nor will there ever be, any ARMv4 implementation
with VFP.  There exists a VFP design intended for use with ARM9E cores
(v5TE), but actual silicon with this combination is extremely rare.  In
practice, VFP is only found with ARM11 (v6) and later cores.

Allowing ARMv5TE instructions is definitely beneficial since this enables
the half-word multiply instructions which are at least twice as fast as
the full-size multiplies in v4.  GCC does use these instructions unaided
in many cases, and we have hand-written asm as well.

> I'm afraid I have no knowledge of what ARMv4 hardware we still care for
> in Debian, nor whether there's a hwcap for ARMv5 that we could use here;

The 'edsp' hwcap indicates an ARMv5TE or better core.

-- 
Måns Rullgård
mans at mansr.com



More information about the pkg-multimedia-maintainers mailing list