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@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
Emil Velikov 2014-04-04 23:46:13 +01:00
parent 9bcb3698db
commit b8f31dfc22
2 changed files with 33 additions and 1 deletions

View file

@ -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)

View file

@ -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:
*;
};