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. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> --- src/gallium/targets/xa/Makefile.am | 1 + src/gallium/targets/xa/xa.sym | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/gallium/targets/xa/xa.sym diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am index 2619e57..17cd6c4 100644 --- a/src/gallium/targets/xa/Makefile.am +++ b/src/gallium/targets/xa/Makefile.am @@ -63,6 +63,7 @@ endif libxatracker_la_LDFLAGS = \ -no-undefined \ -version-number $(XA_MAJOR):$(XA_MINOR):$(XA_TINY) \ + -Wl,--version-script=$(top_srcdir)/src/gallium/targets/xa/xa.sym \ $(GC_SECTIONS) \ $(LD_NO_UNDEFINED) diff --git a/src/gallium/targets/xa/xa.sym b/src/gallium/targets/xa/xa.sym new file mode 100644 index 0000000..9c7f422 --- /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: + *; +}; -- 1.9.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev