[FFmpeg-cvslog] build: Only enable symbol reduction if the compiler does proper DCE
Diego Biurrun
git at videolan.org
Mon Jun 27 19:48:41 CEST 2016
ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Fri May 27 20:14:21 2016 +0200| [b2d5d6a7f20a255a5f3c9bf539cc507afd909ce5] | committer: Diego Biurrun
build: Only enable symbol reduction if the compiler does proper DCE
With compilers that do not support proper dead code elimination, like
Sun C 5.12, linking fails due to missing references to unavailable,
but also unused, symbols.
Bug-Id: 895
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b2d5d6a7f20a255a5f3c9bf539cc507afd909ce5
---
configure | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index 1b5e017..e68cd3e 100755
--- a/configure
+++ b/configure
@@ -4831,17 +4831,25 @@ enabled xmm_clobber_test &&
-Wl,--wrap,sws_scale ||
disable xmm_clobber_test
-echo "X { local: *; };" > $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
+check_ld <<EOF && enable proper_dce
+extern const int array[512];
+static inline int func(void) { return array[0]; }
+int main(void) { return 0; }
+EOF
+
+if enabled proper_dce; then
+ echo "X { local: *; };" > $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
void ff_foo(void) __asm__ ("av_foo at VERSION");
void ff_foo(void) { ${inline_asm+__asm__($quotes);} }
EOF
- check_cc <<EOF && enable symver_gnu_asm
+ check_cc <<EOF && enable symver_gnu_asm
__asm__(".symver ff_foo,av_foo at VERSION");
void ff_foo(void) {}
EOF
+ fi
fi
if [ -z "$optflags" ]; then
More information about the ffmpeg-cvslog
mailing list