The use of -Bsymbolic here is not required for a profile-guided build, but
provides noticeable performance improvements for Python applications. This
should be an acceptable change as runtime interposition on the Python
interpreter library is generally undesirable.
--- Python-2.7.1/configure.in.orig 2011-11-07 10:05:49.959873160 -0800
+++ Python-2.7.1/configure.in 2011-11-07 10:05:38.932222244 -0800
@@ -1812,11 +1812,11 @@
IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
SunOS/5*)
if test "$GCC" = "yes" ; then
- LDSHARED='$(CC) -shared'
- LDCXXSHARED='$(CXX) -shared'
+ LDSHARED='$(CC) -shared -Wl,-Bsymbolic'
+ LDCXXSHARED='$(CXX) -shared -Wl,-Bsymbolic'
else
- LDSHARED='$(CC) -G'
- LDCXXSHARED='$(CXX) -G'
+ LDSHARED='$(CC) -G -Wl,-Bsymbolic'
+ LDCXXSHARED='$(CXX) -G -Wl,-Bsymbolic'
fi ;;
hp*|HP*)
if test "$GCC" = "yes" ; then
@@ -2008,7 +2008,7 @@
*gcc*)
if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
then
- LINKFORSHARED="-Xlinker --export-dynamic"
+ LINKFORSHARED="-Xlinker --export-dynamic -Xlinker -Bsymbolic"
fi;;
esac;;
CYGWIN*)