aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2010-04-09 17:35:18 +0000
committerRainer Orth <ro@gcc.gnu.org>2010-04-09 17:35:18 +0000
commitfcf5268611723649b897c91271caf967f3fd7520 (patch)
treec261fb4a84ed52a472f8babc5c6fd427d4cd4a86
parent55c4f715587f3ea784cf67ee5b8192899e3d5802 (diff)
downloadgcc-fcf5268611723649b897c91271caf967f3fd7520.zip
gcc-fcf5268611723649b897c91271caf967f3fd7520.tar.gz
gcc-fcf5268611723649b897c91271caf967f3fd7520.tar.bz2
configure.ac (plugin -rdynamic test): Log result.
* configure.ac (plugin -rdynamic test): Log result. * configure: Regenerate. * config/sol2.h (LINK_SPEC): Handle -rdynamic. (RDYNAMIC_SPEC): Define. * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine. From-SVN: r158173
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/sol2-gld.h4
-rw-r--r--gcc/config/sol2.h4
-rwxr-xr-xgcc/configure4
-rw-r--r--gcc/configure.ac3
5 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a822b36..6c3d71a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ * configure.ac (plugin -rdynamic test): Log result.
+ * configure: Regenerate.
+ * config/sol2.h (LINK_SPEC): Handle -rdynamic.
+ (RDYNAMIC_SPEC): Define.
+ * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
+
+2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
* configure.ac: Determine Sun ld version numbers.
(comdat_group): Restrict GNU ld version checks to gld.
(comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
diff --git a/gcc/config/sol2-gld.h b/gcc/config/sol2-gld.h
index 217e092..cf020f9 100644
--- a/gcc/config/sol2-gld.h
+++ b/gcc/config/sol2-gld.h
@@ -25,3 +25,7 @@ along with GCC; see the file COPYING3. If not see
#undef SUPPORTS_INIT_PRIORITY
#define SUPPORTS_INIT_PRIORITY 1
+
+/* GNU ld needs --export-dynamic to implement -rdynamic. */
+#undef RDYNAMIC_SPEC
+#define RDYNAMIC_SPEC "--export-dynamic"
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 8f24bc7..98e54e6 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -174,12 +174,16 @@ along with GCC; see the file COPYING3. If not see
#define LINK_SPEC \
"%{h*} %{v:-V} \
%{b} \
+ %{!shared:%{!static:%{rdynamic: " RDYNAMIC_SPEC "}}} \
%{static:-dn -Bstatic} \
%{shared:-G -dy %{!mimpure-text:-z text}} \
%{symbolic:-Bsymbolic -G -dy -z text} \
%(link_arch) \
%{Qy:} %{!Qn:-Qy}"
+/* With Sun ld, -rdynamic is a no-op. */
+#define RDYNAMIC_SPEC ""
+
/* The Solaris linker doesn't understand constructor priorities. (The
GNU linker does support constructor priorities, so GNU ld
configuration files for Solaris override this setting.) */
diff --git a/gcc/configure b/gcc/configure
index 888fc94..e32454a 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -25234,10 +25234,14 @@ $as_echo_n "checking for exported symbols... " >&6; }
$as_echo_n "checking for -rdynamic... " >&6; }
${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
+ plugin_rdynamic=yes
pluginlibs="-rdynamic"
else
+ plugin_rdynamic=no
enable_plugin=no
fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $plugin_rdynamic" >&5
+$as_echo "$plugin_rdynamic" >&6; }
fi
# Check -ldl
diff --git a/gcc/configure.ac b/gcc/configure.ac
index abf03c5..2d78234 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -4449,10 +4449,13 @@ if test x"$enable_plugin" = x"yes"; then
AC_MSG_CHECKING([for -rdynamic])
${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
+ plugin_rdynamic=yes
pluginlibs="-rdynamic"
else
+ plugin_rdynamic=no
enable_plugin=no
fi
+ AC_MSG_RESULT([$plugin_rdynamic])
fi
# Check -ldl