aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-03-05 22:12:17 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2002-03-05 22:12:17 +0100
commitd7ac744e9f7a1cba409bdaab69d32c6aa7574669 (patch)
tree1e2bb88b12e9b6a1db32435f10fce98209652c68 /libstdc++-v3
parente8b3c8acf3afe1c97b6c51dfe469d7f434b48df4 (diff)
downloadgcc-d7ac744e9f7a1cba409bdaab69d32c6aa7574669.zip
gcc-d7ac744e9f7a1cba409bdaab69d32c6aa7574669.tar.gz
gcc-d7ac744e9f7a1cba409bdaab69d32c6aa7574669.tar.bz2
acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version script globbing in ld.
* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version script globbing in ld. * aclocal.m4: Rebuilt. * configure: Rebuilt. From-SVN: r50330
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/acinclude.m421
-rw-r--r--libstdc++-v3/aclocal.m421
-rwxr-xr-xlibstdc++-v3/configure36
4 files changed, 79 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 55e64bc..5b871f6 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2002-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version
+ script globbing in ld.
+ * aclocal.m4: Rebuilt.
+ * configure: Rebuilt.
+
2002-03-05 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/17_intro/RELEASE-NOTES: Update.
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 95fdc9d..c780011 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -2082,10 +2082,27 @@ glibcpp_min_gnu_ld_version=21200
# above.
if test $enable_symvers = yes ; then
if test $with_gnu_ld = yes &&
- test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version &&
test $glibcpp_shared_libgcc = yes ;
then
- enable_symvers=gnu
+ if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
+ enable_symvers=gnu
+ else
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS='-shared -Wl,--version-script,conftest.map'
+ enable_symvers=no
+ changequote(,)
+ echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
+ changequote([,])
+ AC_TRY_LINK([int foo;],, enable_symvers=gnu)
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ else
+ # this is the suspicious part
+ CFLAGS=''
+ fi
+ rm -f conftest.map
+ fi
else
# just fail for now
enable_symvers=no
diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4
index f8f9b5b..bd5689e 100644
--- a/libstdc++-v3/aclocal.m4
+++ b/libstdc++-v3/aclocal.m4
@@ -2094,10 +2094,27 @@ glibcpp_min_gnu_ld_version=21200
# above.
if test $enable_symvers = yes ; then
if test $with_gnu_ld = yes &&
- test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version &&
test $glibcpp_shared_libgcc = yes ;
then
- enable_symvers=gnu
+ if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
+ enable_symvers=gnu
+ else
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS='-shared -Wl,--version-script,conftest.map'
+ enable_symvers=no
+ changequote(,)
+ echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
+ changequote([,])
+ AC_TRY_LINK([int foo;],, enable_symvers=gnu)
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ else
+ # this is the suspicious part
+ CFLAGS=''
+ fi
+ rm -f conftest.map
+ fi
else
# just fail for now
enable_symvers=no
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index eeeb63a..10b7d22 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -19349,10 +19349,42 @@ glibcpp_min_gnu_ld_version=21200
# above.
if test $enable_symvers = yes ; then
if test $with_gnu_ld = yes &&
- test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version &&
test $glibcpp_shared_libgcc = yes ;
then
- enable_symvers=gnu
+ if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
+ enable_symvers=gnu
+ else
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS='-shared -Wl,--version-script,conftest.map'
+ enable_symvers=no
+
+ echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
+
+ cat > conftest.$ac_ext <<EOF
+#line 19344 "configure"
+#include "confdefs.h"
+int foo;
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:19351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ enable_symvers=gnu
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ else
+ # this is the suspicious part
+ CFLAGS=''
+ fi
+ rm -f conftest.map
+ fi
else
# just fail for now
enable_symvers=no