summaryrefslogtreecommitdiffstats
path: root/src/mesa/libdricore
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/mesa/libdricore
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/mesa/libdricore')
-rw-r--r--src/mesa/libdricore/Makefile.am6
1 files changed, 5 insertions, 1 deletions
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 \
$()