[Mesa-dev] [PATCH 05/16] targets/xvmc: limit the amount of exported symbols

Emil Velikov emil.l.velikov at gmail.com
Fri Apr 4 18:46:54 PDT 2014


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.

Cc: Christian König <christian.koenig at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
 src/gallium/Automake.inc     |  2 +-
 src/gallium/targets/xvmc.sym | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 src/gallium/targets/xvmc.sym

diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc
index 7b75a92..18f914e 100644
--- a/src/gallium/Automake.inc
+++ b/src/gallium/Automake.inc
@@ -74,7 +74,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) \
 	-Wl,--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:
+		*;
+};
-- 
1.9.1



More information about the mesa-dev mailing list