Am 11.02.2014 16:24, schrieb Emil Velikov:
On 11/02/14 15:17, Christian König wrote:
Am 11.02.2014 15:55, schrieb Maarten Lankhorst:
Hide most symbols, except radeon_drm_winsys_create.
As a side effect, it ought to fix bug 73200 on radeon.

Signed-off-by: Maarten Lankhorst <[email protected]>
I think Emil Velikov wanted to remove "-export-symbols-regex", but I'm
fine with any method as long as it works correctly.

Seems like we'll need to keep the symbol restrictions due to llvm :'(

Oh, no. That wasn't because of LLVM, it's just that -Bsymbolic has the unwanted side effect of preferring local symbols in the local DSO instead of the global one, which breaks VDPAU interop in certain cases.

Christian.


Maarten can you please use version script.

Thanks
-Emil

[1] Ulrich Drepper's paper http://people.redhat.com/drepper/dsohowto.pdf

So this patch is: Reviewed-by: Christian König <[email protected]>

---
diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc
index 1e4a34f..b70b940 100644
--- a/src/gallium/Automake.inc
+++ b/src/gallium/Automake.inc
@@ -51,12 +51,14 @@ GALLIUM_VIDEO_CFLAGS = \
      $(VISIBILITY_CFLAGS)


-# TODO: add -export-symbols-regex
+DRI_EXPORTS ?= '^(__dri2ConfigOptions|__driDriverExtensions.*)$$'
+
  GALLIUM_DRI_LINKER_FLAGS = \
      -module \
      -avoid-version \
+    -export-symbols-regex $(DRI_EXPORTS) \
      -shared \
-    -Wl,-Bsymbolic
+    -no-undefined

  GALLIUM_VDPAU_LINKER_FLAGS = \
      -module \
diff --git a/src/gallium/targets/r300/dri/Makefile.am
b/src/gallium/targets/r300/dri/Makefile.am
index d6d8f2d..a2ae263 100644
--- a/src/gallium/targets/r300/dri/Makefile.am
+++ b/src/gallium/targets/r300/dri/Makefile.am
@@ -20,6 +20,7 @@
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  # DEALINGS IN THE SOFTWARE.

+DRI_EXPORTS =
'^(__dri2ConfigOptions|__driDriverExtensions.*|radeon_drm_winsys_create)$$'

  include $(top_srcdir)/src/gallium/Automake.inc

  AM_CFLAGS = \
diff --git a/src/gallium/targets/r600/dri/Makefile.am
b/src/gallium/targets/r600/dri/Makefile.am
index 42db72f..374b2ce 100644
--- a/src/gallium/targets/r600/dri/Makefile.am
+++ b/src/gallium/targets/r600/dri/Makefile.am
@@ -20,6 +20,7 @@
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  # DEALINGS IN THE SOFTWARE.

+DRI_EXPORTS =
'^(__dri2ConfigOptions|__driDriverExtensions.*|radeon_drm_winsys_create)$$'

  include $(top_srcdir)/src/gallium/Automake.inc

  AM_CFLAGS = \
diff --git a/src/gallium/targets/radeonsi/dri/Makefile.am
b/src/gallium/targets/radeonsi/dri/Makefile.am
index 2c1a58d..79ce23f 100644
--- a/src/gallium/targets/radeonsi/dri/Makefile.am
+++ b/src/gallium/targets/radeonsi/dri/Makefile.am
@@ -20,6 +20,7 @@
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  # DEALINGS IN THE SOFTWARE.

+DRI_EXPORTS =
'^(__dri2ConfigOptions|__driDriverExtensions.*|radeon_drm_winsys_create)$$'

  include $(top_srcdir)/src/gallium/Automake.inc

  AM_CFLAGS = \


_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to