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)

Signed-off-by: Khem Raj <[email protected]>
---
 ...e-RISC-V-fn-pointers-to-.data.rel.ro.patch | 26 +++++++++++++++++++
 meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.bb  |  1 +
 2 files changed, 27 insertions(+)
 create mode 100644 
meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavc-h264dsp-move-RISC-V-fn-pointers-to-.data.rel.ro.patch

diff --git 
a/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavc-h264dsp-move-RISC-V-fn-pointers-to-.data.rel.ro.patch
 
b/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavc-h264dsp-move-RISC-V-fn-pointers-to-.data.rel.ro.patch
new file mode 100644
index 00000000000..9dc10f12198
--- /dev/null
+++ 
b/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavc-h264dsp-move-RISC-V-fn-pointers-to-.data.rel.ro.patch
@@ -0,0 +1,26 @@
+From 93f277f05cc71f69930bd680ac6eae5457b963f3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <[email protected]>
+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 <[email protected]>
+---
+ 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
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.bb 
b/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.bb
index 35dbda8c3d9..1c72d503d3c 100644
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.bb
+++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.bb
@@ -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"
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#208325): 
https://lists.openembedded.org/g/openembedded-core/message/208325
Mute This Topic: https://lists.openembedded.org/mt/109927212/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to