提交 b22db4f4 编写于 作者: R Rahul Chaudhry 提交者: Michael Niedermayer

swresample/arm: remove unintentional relocation.

Branch to global symbol results in reference to PLT, and when compiling
for THUMB-2 - in a R_ARM_THM_JUMP19 relocation. Some linkers don't
support this relocation (ld.gold), while others can end up truncating
the relocation to fit (ld.bfd).

Convert this branch through PLT into a direct branch that the assembler
can resolve locally.

See https://github.com/android-ndk/ndk/issues/337 for background.

The current workaround is to disable neon during gstreamer build,
which is not optimal and can be reverted after this patch:
https://github.com/freedesktop/gstreamer-cerbero/commit/41556c415739fbc3a72c7eaee7e70a565b719b2fSigned-off-by: NMichael Niedermayer <michael@niedermayer.cc>
上级 baf9c0bd
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "libavutil/arm/asm.S" #include "libavutil/arm/asm.S"
function swri_oldapi_conv_flt_to_s16_neon, export=1 function swri_oldapi_conv_flt_to_s16_neon, export=1
_swri_oldapi_conv_flt_to_s16_neon:
subs r2, r2, #8 subs r2, r2, #8
vld1.32 {q0}, [r1,:128]! vld1.32 {q0}, [r1,:128]!
vcvt.s32.f32 q8, q0, #31 vcvt.s32.f32 q8, q0, #31
...@@ -66,6 +67,7 @@ function swri_oldapi_conv_flt_to_s16_neon, export=1 ...@@ -66,6 +67,7 @@ function swri_oldapi_conv_flt_to_s16_neon, export=1
endfunc endfunc
function swri_oldapi_conv_fltp_to_s16_2ch_neon, export=1 function swri_oldapi_conv_fltp_to_s16_2ch_neon, export=1
_swri_oldapi_conv_fltp_to_s16_2ch_neon:
ldm r1, {r1, r3} ldm r1, {r1, r3}
subs r2, r2, #8 subs r2, r2, #8
vld1.32 {q0}, [r1,:128]! vld1.32 {q0}, [r1,:128]!
...@@ -133,8 +135,8 @@ function swri_oldapi_conv_fltp_to_s16_nch_neon, export=1 ...@@ -133,8 +135,8 @@ function swri_oldapi_conv_fltp_to_s16_nch_neon, export=1
cmp r3, #2 cmp r3, #2
itt lt itt lt
ldrlt r1, [r1] ldrlt r1, [r1]
blt X(swri_oldapi_conv_flt_to_s16_neon) blt _swri_oldapi_conv_flt_to_s16_neon
beq X(swri_oldapi_conv_fltp_to_s16_2ch_neon) beq _swri_oldapi_conv_fltp_to_s16_2ch_neon
push {r4-r8, lr} push {r4-r8, lr}
cmp r3, #4 cmp r3, #4
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册