diff options
author | Emil Velikov <[email protected]> | 2014-05-02 22:02:15 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-05-25 23:21:46 +0100 |
commit | a75baba2f14a2bcdaf640aeef86d67b41bb2a76f (patch) | |
tree | f55233e9ef80d31a2d444f7f4a780246709ee58a /src/gallium/targets/xa | |
parent | ce12bbd107996dacdb01e4a0f90ce141dfa8b05d (diff) |
targets/xa: 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 ~35 symbols, explicitly list them
to minimize the chances of rogue symbols sneaking in.
v2: Conditionally include the version-script.
Reviewed-by: Thomas Hellstrom <[email protected]> (v1)
Signed-off-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium/targets/xa')
-rw-r--r-- | src/gallium/targets/xa/Makefile.am | 5 | ||||
-rw-r--r-- | src/gallium/targets/xa/xa.sym | 38 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am index 0d3945430a1..cb9fdc44716 100644 --- a/src/gallium/targets/xa/Makefile.am +++ b/src/gallium/targets/xa/Makefile.am @@ -66,6 +66,11 @@ libxatracker_la_LDFLAGS = \ $(GC_SECTIONS) \ $(LD_NO_UNDEFINED) +if HAVE_LD_VERSION_SCRIPT +libxatracker_la_LDFLAGS += \ + -Wl,--version-script=$(top_srcdir)/src/gallium/targets/xa/xa.sym +endif + if HAVE_MESA_LLVM libxatracker_la_LIBADD += $(LLVM_LIBS) libxatracker_la_LDFLAGS += $(LLVM_LDFLAGS) diff --git a/src/gallium/targets/xa/xa.sym b/src/gallium/targets/xa/xa.sym new file mode 100644 index 00000000000..9c7f422f399 --- /dev/null +++ b/src/gallium/targets/xa/xa.sym @@ -0,0 +1,38 @@ +{ + global: + xa_composite_allocation; + xa_composite_check_accelerated; + xa_composite_done; + xa_composite_prepare; + xa_composite_rect; + xa_context_create; + xa_context_default; + xa_context_destroy; + xa_context_flush; + xa_copy; + xa_copy_done; + xa_copy_prepare; + xa_fence_get; + xa_fence_wait; + xa_fence_destroy; + xa_format_check_supported; + xa_solid; + xa_solid_done; + xa_solid_prepare; + xa_surface_create; + xa_surface_dma; + xa_surface_format; + xa_surface_from_handle; + xa_surface_handle; + xa_surface_map; + xa_surface_redefine; + xa_surface_ref; + xa_surface_unmap; + xa_surface_unref; + xa_tracker_create; + xa_tracker_destroy; + xa_tracker_version; + xa_yuv_planar_blit; + local: + *; +}; |