From b8f31dfc22eb90c1703c8d414eedb841c9025f52 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 4 Apr 2014 23:46:13 +0100 Subject: [PATCH] targets/xvmc: limit the amount of exported symbols MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Christian König --- 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 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: + *; +}; -- 2.7.4