[FFmpeg-trac] #6571(avcodec:new): SIGBUS on ARM in h264idct_neon.S when compiled with binutils 2.29
FFmpeg
trac at avcodec.org
Mon Aug 7 19:38:45 EEST 2017
#6571: SIGBUS on ARM in h264idct_neon.S when compiled with binutils 2.29
----------------------------------+---------------------------------------
Reporter: jcowgill | Type: defect
Status: new | Priority: normal
Component: avcodec | Version: unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+---------------------------------------
Summary of the bug:
Binutils 2.29 changes the behavior of the ADR instruction when loading
Thumb functions. This causes some of the optimizations to crash.
See:
https://bugs.debian.org/870622
https://sourceware.org/bugzilla/show_bug.cgi?id=21458
There is a suggestion on how to fix this in message 25 in the Debian bug
report, while still allowing the code to work with old and new binutils. I
don't know ARM assembly very well so I don't know how well it works. It
looks reasonably sensible however.
How to reproduce:
Build ffmpeg 3.3.3 on ARMv7 using binutils 2.29
Run:
{{{
$ ffmpeg -f lavfi -i testsrc=s=32x32:d=0.1 -strict -2 -c:v libx264rgb -f
avi libx264rgb.avi -y -hide_banner -nostdin
$ ffmpeg -strict -2 -i libx264rgb.avi -t 1 -c:v rawvideo -c:a pcm_s32le -f
nut /dev/null -y -hide_banner -nostdin
}}}
The second command will crash with SIGBUS.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6571>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list