diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 75de06fadaa..115828554c2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,23 @@ +2003-06-13 Benjamin Kosnik + + * config/abi/i686-pc-linux-gnu: To.. + * config/abi/i486-linux-gnu: ...this. + * config/abi/alphaev67-unknown-linux-gnu: To.. + * config/abi/alpha-linux-gnu: ...this. + * config/abi/ia64-unknown-linux-gnu: To... + * config/abi/ia64-linux-gnu: ...this. + * config/abi/x86_64-unknown-linux-gnu: To... + * config/abi/x86_64-linux-gnu: ...this. + * config/abi/i386-unknown-freebsd4: To... + * config/abi/i386-freebsd4: ...this. + * configure.host: abi_baseline_triplet to abi_baseline_pair. + Simplify cpu bits so that abi_baseline_pair can use the same + cpu configuration. + * acinclude.m4: Same. + * aclocal.m4: Regenerate. + * configure.in: Can't get enable_abi_check to yes unless native. + * configure: Regenerate. + 2003-06-13 Paolo Carlini * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and @@ -42,7 +62,7 @@ This is necessary here because _M_mutate is sometimes called with all-zero arguments; in all other uses of _M_is_shared, the test comes out right anyhow. - + 2003-06-12 Benjamin Kosnik * src/allocator-inst.cc: Explicitly instantiate. diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 9981eed63ae..f7844912aa6 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -2055,7 +2055,7 @@ AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [ GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) # Export file names for ABI checking. - baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" + baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}/baseline_symbols.txt" AC_SUBST(baseline_file) dnl XXX move to configure.host? diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4 index c56ac1ac99f..4e255d0abba 100644 --- a/libstdc++-v3/aclocal.m4 +++ b/libstdc++-v3/aclocal.m4 @@ -2067,7 +2067,7 @@ AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [ GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) # Export file names for ABI checking. - baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" + baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}/baseline_symbols.txt" AC_SUBST(baseline_file) dnl XXX move to configure.host? diff --git a/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/alpha-linux-gnu/baseline_symbols.txt similarity index 100% rename from libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt rename to libstdc++-v3/config/abi/alpha-linux-gnu/baseline_symbols.txt diff --git a/libstdc++-v3/config/abi/i386-unknown-freebsd4/baseline_symbols.txt b/libstdc++-v3/config/abi/i386-freebsd4/baseline_symbols.txt similarity index 100% rename from libstdc++-v3/config/abi/i386-unknown-freebsd4/baseline_symbols.txt rename to libstdc++-v3/config/abi/i386-freebsd4/baseline_symbols.txt diff --git a/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/i486-linux-gnu/baseline_symbols.txt similarity index 100% rename from libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt rename to libstdc++-v3/config/abi/i486-linux-gnu/baseline_symbols.txt diff --git a/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/ia64-linux-gnu/baseline_symbols.txt similarity index 100% rename from libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt rename to libstdc++-v3/config/abi/ia64-linux-gnu/baseline_symbols.txt diff --git a/libstdc++-v3/config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/x86_64-linux-gnu/baseline_symbols.txt similarity index 100% rename from libstdc++-v3/config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt rename to libstdc++-v3/config/abi/x86_64-linux-gnu/baseline_symbols.txt diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index ce5d0db91dd..3c97728eb76 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -23472,7 +23472,7 @@ done # Export file names for ABI checking. - baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" + baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}/baseline_symbols.txt" case "$target" in @@ -23649,10 +23649,9 @@ else GLIBCPP_TEST_WCHAR_T_TRUE='#' GLIBCPP_TEST_WCHAR_T_FALSE= fi -# Don't do ABI checking unless native. -if ${GLIBCPP_IS_CROSS_COMPILING} && test "$enable_abi_check" = yes ; then +if test "$enable_abi_check" = yes; then GLIBCPP_BUILD_ABI_CHECK_TRUE= GLIBCPP_BUILD_ABI_CHECK_FALSE='#' else @@ -23724,7 +23723,7 @@ glibcpp_prefixdir=${prefix} # Process the option --with-gxx-include-dir= echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6 -echo "configure:23728: checking for --with-gxx-include-dir" >&5 +echo "configure:23727: checking for --with-gxx-include-dir" >&5 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given. if test "${with_gxx_include_dir+set}" = set; then withval="$with_gxx_include_dir" @@ -23748,7 +23747,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6 # Process the option "--enable-version-specific-runtime-libs" echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6 -echo "configure:23752: checking for --enable-version-specific-runtime-libs" >&5 +echo "configure:23751: checking for --enable-version-specific-runtime-libs" >&5 # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given. if test "${enable_version_specific_runtime_libs+set}" = set; then enableval="$enable_version_specific_runtime_libs" @@ -23799,7 +23798,7 @@ if test x"$glibcpp_toolexecdir" = x"no"; then fi echo $ac_n "checking for install location""... $ac_c" 1>&6 -echo "configure:23803: checking for install location" >&5 +echo "configure:23802: checking for install location" >&5 echo "$ac_t""$gxx_include_dir" 1>&6 diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index cd431ff3943..98c0b606f61 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -17,27 +17,27 @@ # It sets the following shell variables: # # cpu_include_dir CPU-specific directory, defaults to cpu/generic -# if cpu/host_cpu doesn't exist. This is -# used to set ATOMICITYH. +# if cpu/host_cpu doesn't exist. This is +# used to set ATOMICITYH. # # os_include_dir OS-specific directory, defaults to os/generic. # -# c_model the model to use for "C" headers, defaults to c_std. +# c_model the "C" header model, defaults to c_std. # # c_compatibility if "C" compatibility headers are necessary, -# defaults to no. +# defaults to no. # -# abi_baseline_triplet directory name for ABI compat testing, -# defaults to host (as per config.guess) +# abi_baseline_pair directory name for ABI compat testing, +# defaults to host_cpu-host_os (as per config.guess) # # ATOMICITYH location of atomicity.h, -# defaults to cpu_include_dir +# defaults to cpu_include_dir # # It possibly modifies the following variables: # # OPT_LDFLAGS extra flags to pass when linking the library, of -# the form '-Wl,blah' -# (defaults to empty in acinclude.m4) +# the form '-Wl,blah' +# (defaults to empty in acinclude.m4) # # # If the defaults will not work for your platform, you need only change the @@ -50,62 +50,70 @@ # Try to guess a default cpu_include_dir based on the name of the CPU. We # cannot do this for os_include_dir; there are too many portable operating # systems out there. :-) -abi_baseline_triplet=${host} c_model=c_std c_compatibility=no -if test -d ${glibcpp_srcdir}/config/cpu/${host_cpu}; then - cpu_include_dir="cpu/${host_cpu}" -else - cpu_include_dir="cpu/generic" -fi # HOST-SPECIFIC OVERRIDES # Set any CPU-dependent bits. # Here we override defaults and catch more general cases due to naming # conventions (e.g., chip_name* to catch all variants). +if test -d ${glibcpp_srcdir}/config/cpu/${host_cpu}; then + try_cpu=${host_cpu} +fi + # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${host_cpu}" in alpha*) - cpu_include_dir="cpu/alpha" + try_cpu=alpha ;; athlon* | i586 | i686 | i786 | x86_64) - cpu_include_dir="cpu/i486" + try_cpu=i486 ;; hppa*) - cpu_include_dir="cpu/hppa" + try_cpu=hppa ;; mips*) - # cpu/mips/atomicity.h needs MIPS II or above. Only use it - # where it is known to be safe. - ATOMICITYH="cpu/generic" + # NB: cpu/mips/atomicity.h needs MIPS II or above. + # Of course, there is no sane way to test for this, no ABI macro, + # and no consistent host_cpu name differentiation. Therefore, only + # use it where it is known to be safe, ie it runs linux (see below). + try_cpu=generic ;; m680[246]0) - cpu_include_dir="cpu/m68k" + try_cpu=m68k ;; powerpc* | rs6000) - cpu_include_dir="cpu/powerpc" + try_cpu=powerpc ;; s390x) - cpu_include_dir="cpu/s390" + try_cpu=s390 ;; sparc* | ultrasparc) - cpu_include_dir="cpu/sparc" + try_cpu=sparc + ;; + *) + try_cpu=generic ;; esac # Now look for the file(s) usually tied to a CPU model, and make default # choices for those if they haven't been explicitly set already. -_cpu_incdir_fullpath=${glibcpp_srcdir}/config/${cpu_include_dir} -if test x${ATOMICITYH+set} != xset; then - if test -f ${_cpu_incdir_fullpath}/atomicity.h; then - ATOMICITYH=$cpu_include_dir - else - ATOMICITYH="cpu/generic" - fi +cpu_include_dir="cpu/${try_cpu}" +ATOMICITYH=$cpu_include_dir + + +# Check whether ABI baseline file exists, if not try to guess name. +abi_baseline_pair=${try_cpu}-${host_os} +try_baseline_file=config/abi/${abi_baseline_pair}/baseline_symbols.txt +if test ! -e ${glibcpp_srcdir}/${try_baseline_file} ; then + case "${host}" in + i*86-*-freebsd4*) + abi_baseline_pair="i386-freebsd4" + ;; + esac fi -unset _cpu_incdir_fullpath # Set any OS-dependent bits. @@ -141,8 +149,6 @@ case "${host_os}" in ;; freebsd*) os_include_dir="os/bsd/freebsd" - # The FreeBSD ABI is expressed in the major version number only. - abi_baseline_triplet=`echo ${host} | sed 's,\(\.[0-9]*\)*$,,'` ;; gnu* | linux*) os_include_dir="os/gnu-linux" diff --git a/libstdc++-v3/configure.in b/libstdc++-v3/configure.in index 8e20600527c..c5fa8fcac3f 100644 --- a/libstdc++-v3/configure.in +++ b/libstdc++-v3/configure.in @@ -455,9 +455,7 @@ AM_CONDITIONAL(GLIBCPP_BUILD_LIBMATH, test "$need_libmath" = yes) dnl from GLIBCPP_CHECK_WCHAR_T_SUPPORT: AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes) dnl from GLIBCPP_CONFIGURE_TESTSUITE: -# Don't do ABI checking unless native. -AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK, - ${GLIBCPP_IS_CROSS_COMPILING} && test "$enable_abi_check" = yes ) +AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK, test "$enable_abi_check" = yes) AC_CACHE_SAVE