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 <thellstrom@vmware.com> (v1) Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
@@ -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)
|
||||
|
38
src/gallium/targets/xa/xa.sym
Normal file
38
src/gallium/targets/xa/xa.sym
Normal file
@@ -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:
|
||||
*;
|
||||
};
|
Reference in New Issue
Block a user