aboutsummaryrefslogtreecommitdiffstats
path: root/main/ffmpeg/configure-dlvsym.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-05-27 09:53:08 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-05-27 09:55:36 +0000
commit42621152fa4fe37326c199558c5d1f89dfd42794 (patch)
treedc1d3c1223e3ee096c37a1f4997a4a3cb732b93a /main/ffmpeg/configure-dlvsym.patch
parentd3a82de598fda43f2723d532ba35b619f2551024 (diff)
downloadaports-42621152fa4fe37326c199558c5d1f89dfd42794.tar.bz2
aports-42621152fa4fe37326c199558c5d1f89dfd42794.tar.xz
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
Diffstat (limited to 'main/ffmpeg/configure-dlvsym.patch')
-rw-r--r--main/ffmpeg/configure-dlvsym.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/main/ffmpeg/configure-dlvsym.patch b/main/ffmpeg/configure-dlvsym.patch
new file mode 100644
index 0000000000..b48a8e7883
--- /dev/null
+++ b/main/ffmpeg/configure-dlvsym.patch
@@ -0,0 +1,30 @@
+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