[FFmpeg-trac] #11302(avcodec:new): RISCV: Properly set relocate parameter of const macro in libavcodec/riscv/h264dsp_rvv.S
FFmpeg
trac at avcodec.org
Sat Nov 16 07:18:16 EET 2024
#11302: RISCV: Properly set relocate parameter of const macro in
libavcodec/riscv/h264dsp_rvv.S
---------------------------------+--------------------------------------
Reporter: kxxt | Type: defect
Status: new | Priority: normal
Component: avcodec | Version: git-master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
---------------------------------+--------------------------------------
Summary of the bug:
I am building chromium for riscv64 which builds ffmpeg using its own build
system. I encountered the following error:
ld.lld: error: relocation R_RISCV_64 cannot be used against symbol
'ff_h264_weight_pixels16_8_rvv'; recompile with -fPIC
>>> defined in
obj/third_party/ffmpeg/libffmpeg_internal.a(ffmpeg_internal/h264dsp_rvv.o)
>>> referenced by
ffmpeg_internal/h264dsp_rvv.o:(ff_h264_weight_funcs_8_rvv) in archive
obj/third_party/ffmpeg/libffmpeg_internal.a
It is caused by
https://github.com/FFmpeg/FFmpeg/blob/7332b1700e3b257dd80341f40305cf0bf4582fcf/libavcodec/riscv/h264dsp_rvv.S#L163-L176
which uses the const macro from libavutil/riscv/asm.S without enabling
relocatable parameter.
Could we enable the relocatable parameter unconditionally here? Or would
it break the build in position dependent code mode?
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11302>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list