arm: Fix SIGBUS on ARM when compiled with binutils 2.29 72/223472/1 accepted/tizen/unified/20200130.214733 submit/tizen/20200130.052510
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 30 Jan 2020 05:06:29 +0000 (14:06 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 30 Jan 2020 05:09:00 +0000 (14:09 +0900)
commit2ab2fad58d010a5eff53a59d363fec64706793f3
tree0e3aa1cbc5d414fc56a522932a9a4171c9f30a5e
parentac3d2fa27fe6819c0200a90b3b177dc3da6c7485
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ö <martin@martin.st>
[tizen] Fix crash in libgstlibav.so after toolchain upgrade

Change-Id: I5fe79ed4f9b37968421d3522677180c1984f9421
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/gst-libav.spec
packaging/libav.tar.gz