summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorwzhong <wzhong@chromium.org>2016-01-11 16:42:12 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-12 00:43:52 +0000
commita39bee512a85a6a015769ced60015a2fe7d3d767 (patch)
treec26baa1dca4be49244f12e281d7ed008edeb60a6 /build
parentc509392f3af3393ae907a126590d05d5b7ac9ae4 (diff)
downloadchromium_src-a39bee512a85a6a015769ced60015a2fe7d3d767.zip
chromium_src-a39bee512a85a6a015769ced60015a2fe7d3d767.tar.gz
chromium_src-a39bee512a85a6a015769ced60015a2fe7d3d767.tar.bz2
[Chromecast] Don't export symbols from libffmpeg.a
Use "--exclude-libs" flag to prevent libffmpeg.a from exporting symbols implemented by assembly. Assembly functions marked with ".global" directive are automatically with global visibility and exported in executable and DSO. This is unnecessary and causes incorrect symbol resolution at run-time as Chromecast executable is built with "-Wl,--export-dynamic". BUG= internal b/26390825 TEST= 1) Use "nm" and make sure ff_* are not exported. 2) Test TuneIn playback. Review URL: https://codereview.chromium.org/1561833007 Cr-Commit-Position: refs/heads/master@{#368737}
Diffstat (limited to 'build')
-rw-r--r--build/common.gypi4
-rw-r--r--build/config/chromecast/BUILD.gn4
2 files changed, 8 insertions, 0 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 9b8ca94..e73e563 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -4087,6 +4087,10 @@
# We want to statically link libstdc++/libgcc.
'-static-libstdc++',
'-static-libgcc',
+ # Don't allow visible symbols from libraries that contain
+ # assembly code with symbols that aren't hidden properly.
+ # http://b/26390825
+ '-Wl,--exclude-libs=libffmpeg.a',
],
'cflags!': [
# Some components in Chromium (e.g. v8, skia, ffmpeg)
diff --git a/build/config/chromecast/BUILD.gn b/build/config/chromecast/BUILD.gn
index a99ca5f..31edbea 100644
--- a/build/config/chromecast/BUILD.gn
+++ b/build/config/chromecast/BUILD.gn
@@ -11,6 +11,10 @@ config("static_config") {
# We want to statically link libstdc++/libgcc.
"-static-libstdc++",
"-static-libgcc",
+ # Don't allow visible symbols from libraries that contain
+ # assembly code with symbols that aren't hidden properly.
+ # http://b/26390825
+ '-Wl,--exclude-libs=libffmpeg.a',
]
}