[FFmpeg-devel] [PATCH 1/2] lavc/aarch64: fix relocation out of range error

Martin Storsjö martin at martin.st
Mon Sep 13 14:00:06 EEST 2021


On Mon, 13 Sep 2021, Zhao Zhili wrote:

> From: Zhao Zhili <zhilizhao at tencent.com>
>
> Use a temporary label instead of global function symbol for b.gt.
> ---
> libavcodec/aarch64/videodsp.S | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/aarch64/videodsp.S b/libavcodec/aarch64/videodsp.S
> index 24067cc2af..fe2da0658e 100644
> --- a/libavcodec/aarch64/videodsp.S
> +++ b/libavcodec/aarch64/videodsp.S
> @@ -19,10 +19,11 @@
> #include "libavutil/aarch64/asm.S"
>
> function ff_prefetch_aarch64, export=1
> +1:
>         subs            w2,  w2,  #2
>         prfm            pldl1strm, [x0]
>         prfm            pldl1strm, [x0,  x1]
>         add             x0,  x0,  x1,  lsl #1
> -        b.gt            X(ff_prefetch_aarch64)
> +        b.gt            1b
>         ret
> endfunc
> -- 
> 2.31.1

LGTM

Although it would be quite interesting to know how you end up in this 
situation. Are you linking an app where there's both the current version 
of libavcodec and a separate version from elsewhere (e.g. libavcodec.so) 
possibly included transitively or something like that?

// Martin



More information about the ffmpeg-devel mailing list