From 572a8345bfd1d6289a91b64eef92565ef9b3ee55 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Wed, 12 Feb 2014 13:50:43 +0100 Subject: [PATCH] gallium makefiles: use a linker script for building dri drivers MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Only export __driDriverExtensions by default, and radeon_drm_winsys_create on radeons. Remove -Bsymbolic which should no longer be needed. As a side effect, it ought to fix a manifestation of bug 73200 on radeon. Signed-off-by: Maarten Lankhorst Reviewed-by: Christian König --- src/gallium/Automake.inc | 6 ++++-- src/gallium/state_trackers/dri/dri.link | 5 +++++ src/gallium/targets/r300/dri/Makefile.am | 1 + src/gallium/targets/r300/dri/radeon.link | 6 ++++++ src/gallium/targets/r600/dri/Makefile.am | 1 + src/gallium/targets/radeonsi/dri/Makefile.am | 1 + 6 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 src/gallium/state_trackers/dri/dri.link create mode 100644 src/gallium/targets/r300/dri/radeon.link diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc index 1e4a34f5d2d..fec69cc523f 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_VERSION_SCRIPT ?= $(top_srcdir)/src/gallium/state_trackers/dri/dri.link + GALLIUM_DRI_LINKER_FLAGS = \ -module \ -avoid-version \ + -Wl,--version-script=$(DRI_VERSION_SCRIPT) \ -shared \ - -Wl,-Bsymbolic + -no-undefined GALLIUM_VDPAU_LINKER_FLAGS = \ -module \ diff --git a/src/gallium/state_trackers/dri/dri.link b/src/gallium/state_trackers/dri/dri.link new file mode 100644 index 00000000000..163902eff58 --- /dev/null +++ b/src/gallium/state_trackers/dri/dri.link @@ -0,0 +1,5 @@ +VERSION { + global: + __driDriverExtensions; + local: *; +}; diff --git a/src/gallium/targets/r300/dri/Makefile.am b/src/gallium/targets/r300/dri/Makefile.am index d6d8f2d3f97..4bd9ea4f6a9 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_VERSION_SCRIPT = $(srcdir)/radeon.link include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ diff --git a/src/gallium/targets/r300/dri/radeon.link b/src/gallium/targets/r300/dri/radeon.link new file mode 100644 index 00000000000..618058b13db --- /dev/null +++ b/src/gallium/targets/r300/dri/radeon.link @@ -0,0 +1,6 @@ +VERSION { + global: + __driDriverExtensions; + radeon_drm_winsys_create; + local: *; +}; diff --git a/src/gallium/targets/r600/dri/Makefile.am b/src/gallium/targets/r600/dri/Makefile.am index 42db72f5cd5..1f13b803e0b 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_VERSION_SCRIPT = $(srcdir)/../../r300/dri/radeon.link 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 2c1a58d76ff..eab28b5a253 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_VERSION_SCRIPT = $(srcdir)/../../r300/dri/radeon.link include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ -- 2.30.2