diff options
author | Emil Velikov <[email protected]> | 2014-04-04 23:46:13 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-05-02 21:48:25 +0100 |
commit | b8f31dfc22eb90c1703c8d414eedb841c9025f52 (patch) | |
tree | be41f363499cf945ad9681eb152cb61445750715 | |
parent | 9bcb3698db98fe0ffc7bd6619b8324f13b3b67d2 (diff) |
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 <[email protected]>
Reviewed-by: Christian König <[email protected]>
-rw-r--r-- | src/gallium/Automake.inc | 2 | ||||
-rw-r--r-- | src/gallium/targets/xvmc.sym | 32 |
2 files changed, 33 insertions, 1 deletions
diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc index 1f5d532e426..f857c1a793d 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 00000000000..f51378e00a1 --- /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: + *; +}; |