On Wed, 27 Sep 2017, Luca Barbato wrote:

On 27/09/2017 13:05, Martin Storsjö wrote:
On Sat, 2 Sep 2017, Martin Storsjö  wrote:

Module: libav
Branch: master
Commit: 9dde6ab06c48f9447cd16f39bee33569cddb7be4

Author:    Martin Storsjö <mar...@martin.st>
Committer: Martin Storsjö <mar...@martin.st>
Date:      Thu Aug 31 12:06:44 2017 +0300

arm: Fix SIGBUS on ARM when compiled with binutils 2.29

In binutils 2.29, the behavior of the ADR instruction changed so that 1 is added to the address of a Thumb function (previously nothing was added). This allows the loaded address to be passed to a BLX instruction and the correct
mode change will occur.

See: https://sourceware.org/bugzilla/show_bug.cgi?id=21458

By using adr with a label that isn't annotated as a thumb function,
we avoid the new behaviour in binutils 2.29 and get the same behaviour
as in prior releases, and as in other assemblers (ms armasm.exe,
clang's built in assembler) - an idea that Janne Grunau came up with.

Signed-off-by: Martin Storsjö <mar...@martin.st>

---

libavcodec/arm/h264idct_neon.S | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)

FWIW; I forgot to add CC: libav-sta...@libav.org when posting this one, but it should ideally be included in new release snapshots to fix building with newer binutils.


Sounds a good idea, shall I merge it now while I'm flushing my queue or you'll do?

Please do, if you've got the time

// Martin
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to