diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2010-04-09 17:35:18 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2010-04-09 17:35:18 +0000 |
commit | fcf5268611723649b897c91271caf967f3fd7520 (patch) | |
tree | c261fb4a84ed52a472f8babc5c6fd427d4cd4a86 | |
parent | 55c4f715587f3ea784cf67ee5b8192899e3d5802 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/sol2-gld.h | 4 | ||||
-rw-r--r-- | gcc/config/sol2.h | 4 | ||||
-rwxr-xr-x | gcc/configure | 4 | ||||
-rw-r--r-- | gcc/configure.ac | 3 |
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 |