1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

ffmpeg: Fix RISCV build

Issue found with LLD linker

| riscv64-yoe-linux-ld.lld: error: relocation R_RISCV_64 cannot be used against symbol '
   ↪ ff_h264_weight_pixels16_8_rvv'; recompile with -fPIC
   | >>> defined in libavcodec/riscv/h264dsp_rvv.o
   | >>> referenced by libavcodec/riscv/h264dsp_rvv.o:(ff_h264_weight_funcs_8_rvv)

(From OE-Core rev: 09b6536fcc5dcd5e8e419c7a2e8c4f3da0cfa38f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2024-12-04 12:01:51 -08:00
committed by Richard Purdie
parent 6074281e43
commit c742295dff
2 changed files with 27 additions and 0 deletions
@@ -0,0 +1,26 @@
From 93f277f05cc71f69930bd680ac6eae5457b963f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
Date: Sat, 16 Nov 2024 08:57:54 +0200
Subject: [PATCH] lavc/h264dsp: move RISC-V fn pointers to .data.rel.ro
This should fix PIC builds.
Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/c3051d94a7939de93acd647d3a1719ce56c0c4f5]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
libavcodec/riscv/h264dsp_rvv.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/riscv/h264dsp_rvv.S b/libavcodec/riscv/h264dsp_rvv.S
index 422ac02..97c6708 100644
--- a/libavcodec/riscv/h264dsp_rvv.S
+++ b/libavcodec/riscv/h264dsp_rvv.S
@@ -176,7 +176,7 @@ endfunc
.global ff_h264_weight_funcs_8_rvv
.hidden ff_h264_weight_funcs_8_rvv
-const ff_h264_weight_funcs_8_rvv
+const ff_h264_weight_funcs_8_rvv, relocate=1
.irp w, 16, 8, 4, 2
#if __riscv_xlen == 32
.word ff_h264_weight_pixels\w\()_8_rvv
@@ -23,6 +23,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
file://0001-lavc-h264dsp-move-RISC-V-fn-pointers-to-.data.rel.ro.patch \
"
SRC_URI[sha256sum] = "40973d44970dbc83ef302b0609f2e74982be2d85916dd2ee7472d30678a7abe6"