[Mesa-dev] [PATCH 2/4] targets/xa: limit the amount of exported symbols
Emil Velikov
emil.l.velikov at gmail.com
Fri May 2 14:02:15 PDT 2014
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.velikov at 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
More information about the mesa-dev
mailing list