[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