Bug#1052677: ffmpeg armhf uses NEON instructions
Control: reassign -1 libhwy1 1.0.7-7
Control: severity -1 serious
Control: retitle -1 libhwy1: baseline violation
On 2023-09-25 19:44:57 -0700, Damon Tarry wrote:
> Package: ffmpeg
> Version: 7:6.0-6
> Severity: normal
>
> Dear maintainer,
>
> The current armhf build of ffmpeg uses NEON instructions, which
> prevents it from running on some processors. See log below:
>
> $ ulimit -c unlimited
> $ ffmpeg
> Illegal instruction (core dumped)
> $ gdb /usr/bin/ffmpeg core
> GNU gdb (Debian 13.2-1) 13.2
> Copyright (C) 2023 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> Type "show copying" and "show warranty" for details.
> This GDB was configured as "arm-linux-gnueabihf".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <https://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
>
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /usr/bin/ffmpeg...
> (No debugging symbols found in /usr/bin/ffmpeg)
> [New LWP 988]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
> Core was generated by `ffmpeg'.
> Program terminated with signal SIGILL, Illegal instruction.
> #0 0xb4ba6fbe in ?? () from /lib/arm-linux-gnueabihf/libhwy.so.1
That's libhwy1, not ffmpeg. Reassigning accordingly.
Cheers
> (gdb) layout asm
> ┌─────────────────────────────────────────────────────────┐
> │ > 0xb4ba6fbe vmov.i32 d16, #0 @ 0x00000000 │
> │ 0xb4ba6fc2 movs r6, #0 │
> │ 0xb4ba6fc4 str r6, [sp, #16] │
> │ 0xb4ba6fc6 ldr r2, [r1, r2] │
> │ 0xb4ba6fc8 ldr r2, [r2, #0] │
> │ 0xb4ba6fca str r2, [sp, #44] @ 0x2c │
> │ 0xb4ba6fcc mov.w r2, #0 │
> │ 0xb4ba6fd0 vstr d16, [sp, #8] │
> │ 0xb4ba6fd4 cmp.w r9, #0 │
> │ 0xb4ba6fd8 beq.w 0xb4ba7180 │
> │ 0xb4ba6fdc mov r4, r0 │
> │ 0xb4ba6fde mov r5, r6 │
> │ 0xb4ba6fe0 mov r8, r6 │
> │ 0xb4ba6fe2 mov.w r10, #1 │
> │ 0xb4ba6fe6 add.w r11, sp, #24 │
> │ 0xb4ba6fea sub.w r3, r0, #8 │
> │ 0xb4ba6fee str r3, [sp, #4] │
> │ 0xb4ba6ff0 ldr r2, [sp, #4] │
> │ 0xb4ba6ff2 subs r3, r5, r6 │
> │ 0xb4ba6ff4 mov.w r12, r3, asr #6 │
> │ 0xb4ba6ff8 asrs r0, r3, #4 │
> │ 0xb4ba6ffa ldr.w r1, [r2, #8]! │
> │ 0xb4ba6ffe cmp.w r12, #0 │
> └─────────────────────────────────────────────────────────┘
> multi-thre Thread 0xb3031020 ( In: L?? PC: 0xb4ba6fbe
> (gdb) exit
> $ cat /proc/cpuinfo
> processor : 0
> model name : ARMv7 Processor rev 2 (v7l)
> BogoMIPS : 50.00
> Features : half thumb fastmult vfp edsp thumbee vfpv3 tls idivt
> vfpd32 lpae
> CPU implementer : 0x56
> CPU architecture: 7
> CPU variant : 0x2
> CPU part : 0x584
> CPU revision : 2
>
> processor : 1
> model name : ARMv7 Processor rev 2 (v7l)
> BogoMIPS : 50.00
> Features : half thumb fastmult vfp edsp thumbee vfpv3 tls idivt
> vfpd32 lpae
> CPU implementer : 0x56
> CPU architecture: 7
> CPU variant : 0x2
> CPU part : 0x584
> CPU revision : 2
>
> Hardware : Marvell Armada 370/XP (Device Tree)
> Revision : 0000
> Serial : 0000000000000000
>
--
Sebastian Ramacher
Reply to: