aports/main/ffmpeg/configure-dlvsym.patch
Natanael Copa 42621152fa main/ffmpeg: fix segfault due to symver beeing used
problem was that configure script only checked if symver was supported
by toolchain. Our toolchain supports it but uclibc's ld.so does not.

So we check if ld.so has dlvsym()

ref #664
2011-05-27 09:55:36 +00:00

31 lines
1.2 KiB
Diff

diff --git a/configure b/configure
index c54706a..b5b3225 100755
--- a/configure
+++ b/configure
@@ -1053,6 +1053,7 @@ HAVE_LIST="
dev_video_bktr_ioctl_bt848_h
dlfcn_h
dlopen
+ dlvsym
dos_paths
ebp_available
ebx_available
@@ -3053,14 +3054,15 @@ check_ldflags -Wl,--warn-common
check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic
+check_func dlvsym -lld
echo "X{};" > $TMPV
if test_ldflags -Wl,--version-script,$TMPV; then
append SHFLAGS '-Wl,--version-script,\$(SUBDIR)lib\$(NAME).ver'
- check_cc <<EOF && enable symver_asm_label
+ enabled dlvsym && check_cc <<EOF && enable symver_asm_label
void ff_foo(void) __asm__ ("av_foo@VERSION");
void ff_foo(void) { ${inline_asm+__asm__($quotes);} }
EOF
- check_cc <<EOF && enable symver_gnu_asm
+ enabled dlvsym && check_cc <<EOF && enable symver_gnu_asm
__asm__(".symver ff_foo,av_foo@VERSION");
void ff_foo(void) {}
EOF