OSDN Git Service

make
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Jun 2005 06:48:28 +0000 (06:48 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Jun 2005 06:48:28 +0000 (06:48 +0000)
2005-06-19  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/22111
* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
Don't enable abi testing unless versioned.
* configure: Regenerate.
* testsuite/Makefile.am (check-abi): Remove conditional.
* testsuite/Makefile.in: Regenerate.
* testsuite/libstdc++-abi/abi.exp: Call build_support, then check
v3-symver before proceeding.
* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
if _GLIBCXX_SYMVER.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101204 138bc75d-0d04-0410-961f-82ee72b054a4

14 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/Makefile.in
libstdc++-v3/acinclude.m4
libstdc++-v3/config.h.in
libstdc++-v3/configure
libstdc++-v3/include/Makefile.in
libstdc++-v3/libmath/Makefile.in
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/po/Makefile.in
libstdc++-v3/src/Makefile.in
libstdc++-v3/testsuite/Makefile.am
libstdc++-v3/testsuite/Makefile.in
libstdc++-v3/testsuite/lib/libstdc++.exp
libstdc++-v3/testsuite/libstdc++-abi/abi.exp

index 120ca4c..b72825e 100644 (file)
@@ -1,3 +1,17 @@
+2005-06-19  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/22111
+       * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
+       GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
+       Don't enable abi testing unless versioned.
+       * configure: Regenerate.
+       * testsuite/Makefile.am (check-abi): Remove conditional.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/libstdc++-abi/abi.exp: Call build_support, then check
+       v3-symver before proceeding.
+       * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
+       if _GLIBCXX_SYMVER.
+       
 2005-06-17  Paolo Carlini  <pcarlini@suse.de>
 
         Port from libstdcxx_so_7-branch:
index 43d8023..5350407 100644 (file)
@@ -146,8 +146,6 @@ GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
-GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
index 8b69a30..7f6cad6 100644 (file)
@@ -531,14 +531,15 @@ dnl
 dnl GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE must be done before this.
 dnl
 dnl Sets:
-dnl  enable_abi_check / GLIBCXX_TEST_ABI
+dnl  enable_abi_check 
 dnl  GLIBCXX_TEST_WCHAR_T
 dnl  GLIBCXX_TEST_THREAD
 dnl Substs:
 dnl  baseline_dir
 dnl
 AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [
-  if $GLIBCXX_IS_NATIVE && test $is_hosted = yes; then
+  if $GLIBCXX_IS_NATIVE && test $is_hosted = yes && 
+                       test $enable_symvers != no; then
     # Do checks for resource limit functions.
     GLIBCXX_CHECK_SETRLIMIT
 
@@ -560,12 +561,10 @@ AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [
     # CXX_FOR_BUILD.
     enable_abi_check=no
   fi
-
+  
   # Export file names for ABI checking.
   baseline_dir="$glibcxx_srcdir/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)"
   AC_SUBST(baseline_dir)
-
-  GLIBCXX_CONDITIONAL(GLIBCXX_TEST_ABI, test $enable_abi_check = yes)
 ])
 
 
@@ -1760,20 +1759,6 @@ case $enable_symvers in
     ;;
 esac
 
-AH_VERBATIM([_GLIBCXX_SYMVERextra],
-[/* Define symbol versioning in assember directives. If symbol
-   versioning is being used, and the assembler supports this kind of
-   thing, then use it.
-   
-   NB: _GLIBCXX_AT_AT is a hack to work around quoting issues in m4. */
-
-#if _GLIBCXX_SYMVER
-  #define _GLIBCXX_ASM_SYMVER(cur, old, version) \
-   asm (".symver " #cur "," #old _GLIBCXX_AT_AT #version);
-#else
-  #define _GLIBCXX_ASM_SYMVER(cur, old, version)
-#endif])
-
 # In addition, need this to deal with std::size_t mangling in
 # src/compatibility.cc.  In a perfect world, could use
 # typeid(std::size_t).name()[0] to do direct substitution.
index 3f3dde5..4195910 100644 (file)
 /* Define to use symbol versioning in the shared library. */
 #undef _GLIBCXX_SYMVER
 
-/* Define symbol versioning in assember directives. If symbol
-   versioning is being used, and the assembler supports this kind of
-   thing, then use it.
-   
-   NB: _GLIBCXX_AT_AT is a hack to work around quoting issues in m4. */
-
-#if _GLIBCXX_SYMVER
-  #define _GLIBCXX_ASM_SYMVER(cur, old, version) \
-   asm (".symver " #cur "," #old _GLIBCXX_AT_AT #version);
-#else
-  #define _GLIBCXX_ASM_SYMVER(cur, old, version)
-#endif
-
 /* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,
    <stdio.h>, and <stdlib.h> can be used or exposed. */
 #undef _GLIBCXX_USE_C99
index 599a28a..ca2defe 100755 (executable)
@@ -309,7 +309,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir GLIBCXX_TEST_ABI_TRUE GLIBCXX_TEST_ABI_FALSE ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -87354,9 +87354,6 @@ _ACEOF
     ;;
 esac
 
-
-
-
 # In addition, need this to deal with std::size_t mangling in
 # src/compatibility.cc.  In a perfect world, could use
 # typeid(std::size_t).name()[0] to do direct substitution.
@@ -87489,7 +87486,8 @@ echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;}
 
 # This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
 
-  if $GLIBCXX_IS_NATIVE && test $is_hosted = yes; then
+  if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
+                       test $enable_symvers != no; then
     # Do checks for resource limit functions.
 
   setrlimit_have_headers=yes
@@ -88208,8 +88206,6 @@ done
 
 
 
-
-
 # Propagate the target-specific source directories through the build chain.
 ATOMICITY_SRCDIR=config/${atomicity_dir}
 ATOMIC_WORD_SRCDIR=config/${atomic_word_dir}
 
 
 
-if test $enable_abi_check = yes; then
-  GLIBCXX_TEST_ABI_TRUE=
-  GLIBCXX_TEST_ABI_FALSE='#'
-else
-  GLIBCXX_TEST_ABI_TRUE='#'
-  GLIBCXX_TEST_ABI_FALSE=
-fi
-
-
-
-
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -88663,13 +88648,6 @@ echo "$as_me: error: conditional \"GLIBCXX_BUILD_VERSIONED_SHLIB\" was never def
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${GLIBCXX_TEST_ABI_TRUE}" && test -z "${GLIBCXX_TEST_ABI_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_TEST_ABI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_TEST_ABI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -89339,8 +89317,6 @@ s,@port_specific_symbol_files@,$port_specific_symbol_files,;t t
 s,@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@,$GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE,;t t
 s,@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@,$GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE,;t t
 s,@baseline_dir@,$baseline_dir,;t t
-s,@GLIBCXX_TEST_ABI_TRUE@,$GLIBCXX_TEST_ABI_TRUE,;t t
-s,@GLIBCXX_TEST_ABI_FALSE@,$GLIBCXX_TEST_ABI_FALSE,;t t
 s,@ATOMICITY_SRCDIR@,$ATOMICITY_SRCDIR,;t t
 s,@ATOMIC_WORD_SRCDIR@,$ATOMIC_WORD_SRCDIR,;t t
 s,@ABI_TWEAKS_SRCDIR@,$ABI_TWEAKS_SRCDIR,;t t
index 233ef53..7f27b85 100644 (file)
@@ -114,8 +114,6 @@ GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
-GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
index c47944f..f3aaf3e 100644 (file)
@@ -131,8 +131,6 @@ GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
-GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
index 9dfedc3..9e11edd 100644 (file)
@@ -170,8 +170,6 @@ GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
-GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
index 7ae0c36..9f4baca 100644 (file)
@@ -114,8 +114,6 @@ GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
-GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
index fbe3805..076115b 100644 (file)
@@ -150,8 +150,6 @@ GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
-GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
index 68e0e80..facf63a 100644 (file)
@@ -89,14 +89,10 @@ new-abi-baseline:
          fi; \
          ${extract_symvers} ../src/.libs/libstdc++.so $${output})
 
-if GLIBCXX_TEST_ABI
 # Use 'new-abi-baseline' to create an initial symbol file.  Then run
 # 'check-abi' to test for changes against that file.
 check-abi: baseline_symbols site.exp
        -@runtest --tool libstdc++ abi.exp
-else
-check-abi:
-endif
 
 # Runs the testsuite, but in compile only mode.
 # Can be used to test sources with non-GNU FE's at various warning
index df262fa..6edbf02 100644 (file)
@@ -118,8 +118,6 @@ GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
-GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -504,9 +502,8 @@ new-abi-baseline:
 
 # Use 'new-abi-baseline' to create an initial symbol file.  Then run
 # 'check-abi' to test for changes against that file.
-@GLIBCXX_TEST_ABI_TRUE@check-abi: baseline_symbols site.exp
-@GLIBCXX_TEST_ABI_TRUE@        -@runtest --tool libstdc++ abi.exp
-@GLIBCXX_TEST_ABI_FALSE@check-abi:
+check-abi: baseline_symbols site.exp
+       -@runtest --tool libstdc++ abi.exp
 check-compile: testsuite_files ${compile_script}
        -@(chmod + ${compile_script}; \
          ${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir})
index bcae377..8471ed6 100644 (file)
@@ -277,6 +277,9 @@ set v3-wchar_t 0
 # True if the library supports threads.
 set v3-threads 0
 
+# True if the library supports symbol versioning.
+set v3-symver 0
+
 # A string naming object files to be linked into all tests.
 set v3-test_objs ""
 
@@ -313,17 +316,19 @@ proc v3_target_compile { source dest type options } {
 
 
 # Build the support objects linked in with the libstdc++ tests.  In
-# addition, set v3-wchar_t, v3-threads, and v3-test_objs
+# addition, set v3-wchar_t, v3-threads, v3-test_objs, and v3-symver
 # appropriately.
 proc v3-build_support {} {
     global srcdir
     global v3-wchar_t
     global v3-threads
     global v3-test_objs
+    global v3-symver
 
     # Figure out whether or not the library supports certain features.
     set v3-wchar_t 0
     set v3-threads 0
+    set v3-symver 0
     set v3-test_objs ""
 
     set config_src "config.cc"
@@ -337,6 +342,10 @@ proc v3-build_support {} {
        verbose -log "wchar_t support detected"
        set v3-wchar_t 1
     }
+    if { [string first "_GLIBCXX_SYMVER" $preprocessed] != -1 } {
+       verbose -log "symbol versioning support detected"
+       set v3-symver 1
+    }
     if { [string first "__GTHREADS" $preprocessed] != -1 } {
        verbose -log "thread support detected"
        set v3-threads 1
index f226e0a..b5b469e 100644 (file)
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
 
 # If there is no baseline file, or we can't find the library, skip
-# this test.
-if { ![info exists baseline_file] \
+# this test. Or, hey, if we don't support this kind of symbol
+# versioning test: don't run it.
+
+# Build the support objects.
+v3-build_support
+
+if { (${v3-symver} == 0) || ![info exists baseline_file] \
         || ![file exists $baseline_file] \
         || ![file exists "../src/.libs/libstdc++.so"] } {
     return
@@ -26,9 +31,6 @@ if { ![info exists baseline_file] \
 remote_exec "build" "$srcdir/../scripts/extract_symvers" \
     [list "../src/.libs/libstdc++.so" "current_symbols.txt"]
 
-# Build the support objects.
-v3-build_support
-
 # Build the abi_check program.
 if { [v3_target_compile "$srcdir/testsuite_abi_check.cc" "abi_check" \
       "executable" [list "additional_flags=-w"]] != "" } {