Mesa (master): targets/xvmc: limit the amount of exported symbols
Emil Velikov
evelikov at kemper.freedesktop.org
Fri May 2 20:52:08 UTC 2014
Module: Mesa
Branch: master
Commit: b8f31dfc22eb90c1703c8d414eedb841c9025f52
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8f31dfc22eb90c1703c8d414eedb841c9025f52
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Apr 4 23:46:13 2014 +0100
targets/xvmc: limit the amount of exported symbols
In the presence of LLVM the final library exports every symbol from
the llvm namespace. Resolve this by using a version script (w/o the
version/name tag).
Considering that there are only ~25 symbols, explicitly list them
to minimize the chances of rogue symbols sneaking in.
Drop the *winsys_create functions as they were only meant for
gl-vdpau interop.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
---
src/gallium/Automake.inc | 2 +-
src/gallium/targets/xvmc.sym | 32 ++++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc
index 1f5d532..f857c1a 100644
--- a/src/gallium/Automake.inc
+++ b/src/gallium/Automake.inc
@@ -75,7 +75,7 @@ GALLIUM_XVMC_LINKER_FLAGS = \
-module \
-no-undefined \
-version-number $(XVMC_MAJOR):$(XVMC_MINOR) \
- -export-symbols-regex '^XvMC' \
+ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/xvmc.sym \
$(GC_SECTIONS) \
$(LD_NO_UNDEFINED)
diff --git a/src/gallium/targets/xvmc.sym b/src/gallium/targets/xvmc.sym
new file mode 100644
index 0000000..f51378e
--- /dev/null
+++ b/src/gallium/targets/xvmc.sym
@@ -0,0 +1,32 @@
+{
+ global:
+ XvMCBlendSubpicture;
+ XvMCBlendSubpicture2;
+ XvMCClearSubpicture;
+ XvMCCompositeSubpicture;
+ XvMCCreateBlocks;
+ XvMCCreateContext;
+ XvMCCreateMacroBlocks;
+ XvMCCreateSubpicture;
+ XvMCCreateSurface;
+ XvMCDestroyBlocks;
+ XvMCDestroyContext;
+ XvMCDestroyMacroBlocks;
+ XvMCDestroySubpicture;
+ XvMCDestroySurface;
+ XvMCFlushSubpicture;
+ XvMCFlushSurface;
+ XvMCGetAttribute;
+ XvMCGetSubpictureStatus;
+ XvMCGetSurfaceStatus;
+ XvMCHideSurface;
+ XvMCPutSurface;
+ XvMCQueryAttributes;
+ XvMCRenderSurface;
+ XvMCSetAttribute;
+ XvMCSetSubpicturePalette;
+ XvMCSyncSubpicture;
+ XvMCSyncSurface;
+ local:
+ *;
+};
More information about the mesa-commit
mailing list