summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2013-09-20 12:37:04 -0700
committerEric Anholt <[email protected]>2013-09-23 12:45:22 -0700
commit11e494a572ce81a57c05fbe4214dd36b1c8ac4cf (patch)
tree25f35087c0d870944982adc57401d67663a7948c /src
parent10ef949424809d51c627008bb2feab5a067f8e08 (diff)
mesa: Use -Bsymbolic in the linker to locally resolve Mesa-internal symbols.
Normally, LD_PRELOAD will take precedence over your own symbols, which you want for things like malloc() in libc. But we don't have any local symbols we would want overridden (like hash_table_insert(), for example!), so tell the linker to resolve them internally. This also avoids calls through the PLT. Saves almost 100k on libdricore's size, and gets us a bunch of the performance back that we had with non-dricore. Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i915/Makefile.am2
-rw-r--r--src/mesa/drivers/dri/i965/Makefile.am2
-rw-r--r--src/mesa/drivers/dri/nouveau/Makefile.am2
-rw-r--r--src/mesa/drivers/dri/r200/Makefile.am2
-rw-r--r--src/mesa/drivers/dri/radeon/Makefile.am2
-rw-r--r--src/mesa/drivers/dri/swrast/Makefile.am3
-rw-r--r--src/mesa/libdricore/Makefile.am6
7 files changed, 12 insertions, 7 deletions
diff --git a/src/mesa/drivers/dri/i915/Makefile.am b/src/mesa/drivers/dri/i915/Makefile.am
index 978917c6c3e..f66967d751f 100644
--- a/src/mesa/drivers/dri/i915/Makefile.am
+++ b/src/mesa/drivers/dri/i915/Makefile.am
@@ -52,7 +52,7 @@ dri_LTLIBRARIES = i915_dri.la
endif
i915_dri_la_SOURCES = $(i915_FILES)
-i915_dri_la_LDFLAGS = -module -avoid-version -shared
+i915_dri_la_LDFLAGS = $(DRI_DRIVER_LDFLAGS)
i915_dri_la_LIBADD = \
../common/libdricommon.la \
$(DRI_LIB_DEPS) \
diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
index 27c67d10ec0..541e0d6e067 100644
--- a/src/mesa/drivers/dri/i965/Makefile.am
+++ b/src/mesa/drivers/dri/i965/Makefile.am
@@ -72,7 +72,7 @@ TEST_LIBS = \
i965_dri_la_SOURCES =
nodist_EXTRA_i965_dri_la_SOURCES = dummy2.cpp
i965_dri_la_LIBADD = $(COMMON_LIBS)
-i965_dri_la_LDFLAGS = -module -avoid-version -shared
+i965_dri_la_LDFLAGS = $(DRI_DRIVER_LDFLAGS)
TESTS = \
test_eu_compact \
diff --git a/src/mesa/drivers/dri/nouveau/Makefile.am b/src/mesa/drivers/dri/nouveau/Makefile.am
index 2b47f75340f..7172e62558c 100644
--- a/src/mesa/drivers/dri/nouveau/Makefile.am
+++ b/src/mesa/drivers/dri/nouveau/Makefile.am
@@ -42,7 +42,7 @@ endif
nouveau_vieux_dri_la_SOURCES = \
$(NOUVEAU_C_FILES)
-nouveau_vieux_dri_la_LDFLAGS = -module -avoid-version -shared
+nouveau_vieux_dri_la_LDFLAGS = $(DRI_DRIVER_LDFLAGS)
nouveau_vieux_dri_la_LIBADD = \
../common/libdricommon.la \
$(DRI_LIB_DEPS) \
diff --git a/src/mesa/drivers/dri/r200/Makefile.am b/src/mesa/drivers/dri/r200/Makefile.am
index 4357922341b..fc0482a6ee7 100644
--- a/src/mesa/drivers/dri/r200/Makefile.am
+++ b/src/mesa/drivers/dri/r200/Makefile.am
@@ -45,7 +45,7 @@ endif
r200_dri_la_SOURCES = \
$(R200_C_FILES)
-r200_dri_la_LDFLAGS = -module -avoid-version -shared
+r200_dri_la_LDFLAGS = $(DRI_DRIVER_LDFLAGS)
r200_dri_la_LIBADD = \
../common/libdricommon.la \
$(DRI_LIB_DEPS) \
diff --git a/src/mesa/drivers/dri/radeon/Makefile.am b/src/mesa/drivers/dri/radeon/Makefile.am
index 43de05972b0..d13b803aecc 100644
--- a/src/mesa/drivers/dri/radeon/Makefile.am
+++ b/src/mesa/drivers/dri/radeon/Makefile.am
@@ -45,7 +45,7 @@ endif
radeon_dri_la_SOURCES = \
$(RADEON_C_FILES)
-radeon_dri_la_LDFLAGS = -module -avoid-version -shared
+radeon_dri_la_LDFLAGS = $(DRI_DRIVER_LDFLAGS)
radeon_dri_la_LIBADD = \
../common/libdricommon.la \
$(DRI_LIB_DEPS) \
diff --git a/src/mesa/drivers/dri/swrast/Makefile.am b/src/mesa/drivers/dri/swrast/Makefile.am
index d3da19651cb..fb9b8a05072 100644
--- a/src/mesa/drivers/dri/swrast/Makefile.am
+++ b/src/mesa/drivers/dri/swrast/Makefile.am
@@ -42,7 +42,8 @@ endif
swrast_dri_la_SOURCES = \
$(SWRAST_C_FILES)
-swrast_dri_la_LDFLAGS = -module -avoid-version -shared
+swrast_dri_la_LDFLAGS = $(DRI_DRIVER_LDFLAGS)
+
swrast_dri_la_LIBADD = \
$(DRI_LIB_DEPS)
diff --git a/src/mesa/libdricore/Makefile.am b/src/mesa/libdricore/Makefile.am
index 106c7db9b6c..686e478734f 100644
--- a/src/mesa/libdricore/Makefile.am
+++ b/src/mesa/libdricore/Makefile.am
@@ -37,7 +37,11 @@ libdricore@VERSION@_la_SOURCES = \
$(LIBGLCPP_FILES) \
$(LIBGLSL_GENERATED_CXX_FILES) \
$(LIBGLSL_FILES)
-libdricore@VERSION@_la_LDFLAGS = -version-number 1:0
+libdricore@VERSION@_la_LDFLAGS = \
+ -version-number 1:0 \
+ -Wl,-Bsymbolic \
+ $()
+
libdricore@VERSION@_la_LIBADD = \
../program/libdricore_program.la \
$()