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>
-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)
--- /dev/null
+{
+ 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:
+ *;
+};