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:41556c4157
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commitb22db4f465
) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
committed by
Michael Niedermayer
parent
f337adcd28
commit
e5b29c60f0
@ -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
|
|||||||
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
|
|||||||
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
|
||||||
|
Reference in New Issue
Block a user