summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.cz>2011-03-29 12:25:46 +0100
committerMichael Meeks <michael.meeks@novell.com>2011-03-29 12:25:46 +0100
commit83b781819557f269fda65ce551ec9a008fade511 (patch)
tree4a49d5abe2a22c3fa5931ec2c2305e5327af8614
parenta036fbfbc3bf0ecb80696e651bb80ea81b251c44 (diff)
use --hash-style=gnu linking when supported
-rwxr-xr-xconfigure.in9
-rwxr-xr-xset_soenv.in1
-rw-r--r--solenv/inc/unxgcc.mk2
-rw-r--r--stlport/makefile.mk2
4 files changed, 10 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index 3644db952..1260cd2f4 100755
--- a/configure.in
+++ b/configure.in
@@ -951,6 +951,10 @@ AC_ARG_WITH(system-mozilla,
WITH_SYSTEM_MOZILLA=$withval ,
WITH_SYSTEM_MOZILLA=no)
+AC_ARG_WITH(linker-hash-style,
+[ --with-linker-hash-style
+], WITH_LINKER_HASH_STYLE=$withval, WITH_LINKER_HASH_STYLE=gnu)
+
AC_ARG_WITH(stlport,
AS_HELP_STRING([--with-stlport],
[Build the STLPort library for compatibility with old extensions for
@@ -2013,9 +2017,9 @@ if test "$_os" = "SunOS"; then
fi
if test "$GCC" = "yes"; then
- AC_MSG_CHECKING( for --hash-style=both linker support )
+ AC_MSG_CHECKING( for --hash-style=$WITH_LINKER_HASH_STYLE linker support )
hash_style_ldflags_save=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,--hash-style=both"
+ LDFLAGS="$LDFLAGS -Wl,--hash-style=$WITH_LINKER_HASH_STYLE"
AC_LINK_IFELSE([AC_LANG_PROGRAM([
#include <stdio.h>
],[
@@ -2029,6 +2033,7 @@ if test "$GCC" = "yes"; then
LDFLAGS=$hash_style_ldflags_save
fi
AC_SUBST(HAVE_LD_HASH_STYLE)
+AC_SUBST(WITH_LINKER_HASH_STYLE)
dnl ===================================================================
dnl Check whether there's a Perl version available.
diff --git a/set_soenv.in b/set_soenv.in
index 951f24b27..36763dd6c 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1813,6 +1813,7 @@ ToFile( "HAVE_GCC_VISIBILITY_FEATURE",
ToFile( "HAVE_GCC_VISIBILITY_BROKEN",
"@HAVE_GCC_VISIBILITY_BROKEN@", "e" );
ToFile( "HAVE_LD_HASH_STYLE","@HAVE_LD_HASH_STYLE@","e" );
+ToFile( "WITH_LINKER_HASH_STYLE","@WITH_LINKER_HASH_STYLE@","e" );
ToFile( "HAVE_LD_BSYMBOLIC_FUNCTIONS",
"@HAVE_LD_BSYMBOLIC_FUNCTIONS@","e" );
ToFile( "HAVE_CXX0X", "@HAVE_CXX0X@", "e" );
diff --git a/solenv/inc/unxgcc.mk b/solenv/inc/unxgcc.mk
index 8dbacfae3..c73333f82 100644
--- a/solenv/inc/unxgcc.mk
+++ b/solenv/inc/unxgcc.mk
@@ -231,7 +231,7 @@ STDSHLCUIMT+=-ljemalloc
.ENDIF
.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
-LINKFLAGS += -Wl,--hash-style=both
+LINKFLAGS += -Wl,--hash-style=$(WITH_LINKER_HASH_STYLE)
.ELSE
LINKFLAGS += -Wl,-zdynsort
.ENDIF
diff --git a/stlport/makefile.mk b/stlport/makefile.mk
index 04ab66af2..3c74d2296 100644
--- a/stlport/makefile.mk
+++ b/stlport/makefile.mk
@@ -130,7 +130,7 @@ BUILD_FLAGS=-f vc7.mak EXFLAGS="/EHa /Zc:wchar_t-" CCNUMVER=$(CCNUMVER)
BUILD_FLAGS+= -j$(MAXPROCESS)
.ENDIF
.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
-CXX+= -Wl,--hash-style=both
+CXX+= -Wl,--hash-style=$(WITH_LINKER_HASH_STYLE)
.ENDIF
.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE"