------- Additional Comments From mark at codesourcery dot com 2005-05-12 18:06 ------- Subject: Re: New: 3.4.4 RC1 fails libstdc++ install on powerpc64-linux
Janis -- Would you please try the attached patch for 3.4? I have a similar patch for 4.0 which I will attach soon. If this doesn't work, I'm going to revert my previous backport, so as to avoid holding up 3.4.4. Thanks, 2005-05-12 Mark Mitchell <[EMAIL PROTECTED]> 2005-04-04 Mark Mitchell <[EMAIL PROTECTED]> * testsuite/Makefile.am (check-local): Remove. (curent_symbols.txt): Likewise. (check-abi): Do not depend on current_symbols.txt. * testsuite/Makefile.in: Regenerated. * testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt. 2005-04-01 Mark Mitchell <[EMAIL PROTECTED]> * testsuite/Makefile.am (noinst_PROGRAMS): Remove. (site.exp): Write out the path to the baseline file. (check-abi): Use DejaGNU. (check-abi-verbose): Remove. * testsuite/Makefile.in: Regenerated. * testsuite/abi_check.cc (main): Check the return value from compare_symbols. * testsuite/testsuite_abi.cc (compare_symbols): Return a value. * testsuite/testsuite_abi.h (compare_symbols): Adjust prototype. * testsuite/libstdc++-abi/abi.exp: New file. 2004-03-19 Phil Edwards <[EMAIL PROTECTED]> * testsuite/Makefile.am (site.exp): New target, based on that created by automake. Also set libiconv. Index: testsuite/Makefile.am =================================================================== RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/Makefile.am,v retrieving revision 1.33.4.3 diff -c -5 -p -r1.33.4.3 Makefile.am *** testsuite/Makefile.am 15 May 2004 20:44:13 -0000 1.33.4.3 --- testsuite/Makefile.am 12 May 2005 17:22:43 -0000 *************** noinst_LIBRARIES = libv3test.a *** 46,64 **** libv3test_a_SOURCES = \ testsuite_abi.cc \ testsuite_allocator.cc \ testsuite_hooks.cc - ## Build support utilities. - if GLIBCXX_TEST_ABI - noinst_PROGRAMS = abi_check - else - noinst_PROGRAMS = - endif - abi_check_SOURCES = abi_check.cc - abi_check_DEPENDENCIES = libv3test.a - all-local: stamp_wchar testsuite_files # Enable wchar_t tests if capable. if GLIBCXX_TEST_WCHAR_T stamp_wchar: --- 46,55 ---- *************** lists_of_files = \ *** 76,85 **** --- 67,103 ---- # This is automatically run after the generated check-DEJAGNU rule. check-local: check-abi + # We need more things in site.exp, but automake completely controls the + # creation of that file; there's no way to append to it without messing up + # the dependancy chains. So we overrule automake. This rule is exactly + # what it would have generated, plus our own additions. + site.exp: Makefile + @echo 'Making a new site.exp file...' + @echo '## these variables are automatically generated by make ##' >site.tmp + @echo '# Do not edit here. If you wish to override these values' >>site.tmp + @echo '# edit the last section' >>site.tmp + @echo 'set srcdir $(srcdir)' >>site.tmp + @echo "set objdir `pwd`" >>site.tmp + @echo 'set build_alias "$(build_alias)"' >>site.tmp + @echo 'set build_triplet $(build_triplet)' >>site.tmp + @echo 'set host_alias "$(host_alias)"' >>site.tmp + @echo 'set host_triplet $(host_triplet)' >>site.tmp + @echo 'set target_alias "$(target_alias)"' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set baseline_file "$(baseline_file)"' >> site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + baseline_file = ${baseline_dir}/baseline_symbols.txt extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers current_symbols.txt: ${extract_symvers} ../src/.libs/libstdc++.so -@(${extract_symvers} ../src/.libs/libstdc++.so current_symbols.txt) *************** new-abi-baseline: *** 103,125 **** ${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: abi_check baseline_symbols current_symbols.txt ! [EMAIL PROTECTED]/abi_check --check ./current_symbols.txt ${baseline_file} \ ! 2>&1 | tee libstdc++-abi.sum ! [EMAIL PROTECTED] libstdc++-abi.sum libstdc++-abi.log ! ! check-abi-verbose: abi_check baseline_symbols current_symbols.txt ! [EMAIL PROTECTED]/abi_check --check-verbose ./current_symbols.txt ${baseline_file} \ ! 2>&1 | tee libstdc++-abi.sum ! [EMAIL PROTECTED] libstdc++-abi.sum libstdc++-abi.log ! else check-abi: - check-abi-verbose: endif # These two special 'check-script' rules use the bash script # 'check_survey' to do testing. This script is not as portable as the --- 121,134 ---- ${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 ! [EMAIL PROTECTED] --tool libstdc++ abi.exp else check-abi: endif # These two special 'check-script' rules use the bash script # 'check_survey' to do testing. This script is not as portable as the Index: testsuite/abi_check.cc =================================================================== RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/Attic/abi_check.cc,v retrieving revision 1.19.14.2 diff -c -5 -p -r1.19.14.2 abi_check.cc *** testsuite/abi_check.cc 22 May 2004 17:09:52 -0000 1.19.14.2 --- testsuite/abi_check.cc 12 May 2005 17:22:43 -0000 *************** main(int argc, char** argv) *** 75,85 **** if (access(baseline_file, R_OK) != 0) { cerr << "Cannot read baseline file " << baseline_file << endl; exit(1); } ! compare_symbols(baseline_file, test_file, verbose); } if (argv1 == "--examine") { const char* file = argv[3]; --- 75,86 ---- if (access(baseline_file, R_OK) != 0) { cerr << "Cannot read baseline file " << baseline_file << endl; exit(1); } ! if (!compare_symbols(baseline_file, test_file, verbose)) ! exit (1); } if (argv1 == "--examine") { const char* file = argv[3]; Index: testsuite/testsuite_abi.cc =================================================================== RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/testsuite_abi.cc,v retrieving revision 1.2.2.6 diff -c -5 -p -r1.2.2.6 testsuite_abi.cc *** testsuite/testsuite_abi.cc 23 Dec 2004 21:53:36 -0000 1.2.2.6 --- testsuite/testsuite_abi.cc 12 May 2005 17:22:43 -0000 *************** examine_symbol(const char* name, const c *** 277,287 **** } catch(...) { __throw_exception_again; } } ! void compare_symbols(const char* baseline_file, const char* test_file, bool verbose) { // Input both lists of symbols into container. symbols baseline = create_symbols(baseline_file); --- 277,287 ---- } catch(...) { __throw_exception_again; } } ! int compare_symbols(const char* baseline_file, const char* test_file, bool verbose) { // Input both lists of symbols into container. symbols baseline = create_symbols(baseline_file); *************** compare_symbols(const char* baseline_fil *** 389,398 **** --- 389,400 ---- cout << "# of added symbols:\t\t " << added_names.size() << endl; cout << "# of missing symbols:\t\t " << missing_names.size() << endl; cout << "# of incompatible symbols:\t " << incompatible.size() << endl; cout << endl; cout << "using: " << baseline_file << endl; + + return !(missing_names.size() || incompatible.size()); } symbols create_symbols(const char* file) Index: testsuite/testsuite_abi.h =================================================================== RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/testsuite_abi.h,v retrieving revision 1.1.2.1 diff -c -5 -p -r1.1.2.1 testsuite_abi.h *** testsuite/testsuite_abi.h 15 May 2004 20:44:14 -0000 1.1.2.1 --- testsuite/testsuite_abi.h 12 May 2005 17:22:43 -0000 *************** symbol& *** 98,108 **** get_symbol(const std::string& mangled, const symbols& list); extern "C" void examine_symbol(const char* name, const char* file); ! extern "C" void compare_symbols(const char* baseline_file, const char* test_file, bool verb); // Util. symbols --- 98,108 ---- get_symbol(const std::string& mangled, const symbols& list); extern "C" void examine_symbol(const char* name, const char* file); ! extern "C" int compare_symbols(const char* baseline_file, const char* test_file, bool verb); // Util. symbols Index: testsuite/libstdc++-abi/abi.exp =================================================================== RCS file: testsuite/libstdc++-abi/abi.exp diff -N testsuite/libstdc++-abi/abi.exp *** /dev/null 1 Jan 1970 00:00:00 -0000 --- testsuite/libstdc++-abi/abi.exp 12 May 2005 17:22:59 -0000 *************** *** 0 **** --- 1,43 ---- + # Copyright (C) 2005 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # 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] \ + || ![file exists $baseline_file] \ + || ![file exists "../src/.libs/libstdc++.so"] } { + return + } + + # Figure out what symbols are defined by the active build of the library. + 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/abi_check.cc" "abi_check" \ + "executable" [list "additional_flags=-w"]] != "" } { + error "could not compile abi_check.cc" + } + + remote_download "target" $baseline_file "baseline_symbols.txt" + remote_download "target" "current_symbols.txt" "current_symbols.txt" + set result [${tool}_load "./abi_check" \ + [list "--check-verbose" "current_symbols.txt" \ + "baseline_symbols.txt"]] + [lindex $result 0] "abi_check" Index: testsuite/Makefile.in =================================================================== RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/Makefile.in,v retrieving revision 1.69.4.3 diff -c -5 -p -r1.69.4.3 Makefile.in *** testsuite/Makefile.in 15 May 2004 20:44:13 -0000 1.69.4.3 --- testsuite/Makefile.in 12 May 2005 18:01:56 -0000 *************** *** 1,10 **** ! # Makefile.in generated by automake 1.7.8 from Makefile.am. # @configure_input@ ! # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 ! # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, --- 1,10 ---- ! # Makefile.in generated by automake 1.9.2 from Makefile.am. # @configure_input@ ! # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! # 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, *************** *** 12,29 **** # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c --- 12,30 ---- # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ + SOURCES = $(libv3test_a_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c *************** NORMAL_UNINSTALL = : *** 36,45 **** --- 37,84 ---- PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/fragment.am + subdir = testsuite + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/linkage.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ + $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + CONFIG_HEADER = $(top_builddir)/config.h + CONFIG_CLEAN_FILES = + LIBRARIES = $(noinst_LIBRARIES) + ARFLAGS = cru + libv3test_a_AR = $(AR) $(ARFLAGS) + libv3test_a_LIBADD = + am_libv3test_a_OBJECTS = testsuite_abi.$(OBJEXT) \ + testsuite_allocator.$(OBJEXT) testsuite_hooks.$(OBJEXT) + libv3test_a_OBJECTS = $(am_libv3test_a_OBJECTS) + DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) + depcomp = + am__depfiles_maybe = + CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) + LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) + CXXLD = $(CXX) + SOURCES = $(libv3test_a_SOURCES) + DIST_SOURCES = $(libv3test_a_SOURCES) + ETAGS = etags + CTAGS = ctags + DEJATOOL = $(PACKAGE) + RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir + EXPECT = expect + RUNTEST = runtest + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ ALLOCATOR_NAME = @ALLOCATOR_NAME@ AMTAR = @AMTAR@ AR = @AR@ *************** ac_ct_AS = @ac_ct_AS@ *** 145,154 **** --- 184,195 ---- ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__leading_dot = @am__leading_dot@ + am__tar = @am__tar@ + am__untar = @am__untar@ baseline_dir = @baseline_dir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ *************** install_sh = @install_sh@ *** 181,190 **** --- 222,232 ---- libdir = @libdir@ libexecdir = @libexecdir@ libtool_VERSION = @libtool_VERSION@ localstatedir = @localstatedir@ mandir = @mandir@ + mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ oldincludedir = @oldincludedir@ port_specific_symbol_files = @port_specific_symbol_files@ prefix = @prefix@ program_transform_name = @program_transform_name@ *************** target = @target@ *** 195,213 **** target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ toplevel_srcdir = @toplevel_srcdir@ - AUTOMAKE_OPTIONS = dejagnu - MAINT_CHARSET = latin1 - mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs PWD_COMMAND = $${PWDCMD-pwd} STAMP = echo timestamp > - toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) # These bits are all figured out from configure. Look in acinclude.m4 # or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. --- 237,251 ---- *************** WARN_CXXFLAGS = \ *** 218,263 **** $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once # -I/-D flags to pass when compiling. AM_CPPFLAGS = $(GLIBCXX_INCLUDES) - AM_MAKEFLAGS = -j1 AM_RUNTESTFLAGS = - testsuite_flags_script = ${glibcxx_builddir}/scripts/testsuite_flags AM_CXXFLAGS = $(shell ${testsuite_flags_script} --cxxflags) - GLIBGCC_DIR = `$(CC) -print-libgcc-file-name | sed 's,/[^/]*$$,,'` GLIBCXX_DIR = ${glibcxx_builddir}/src/.libs - CXXLINK = \ $(LIBTOOL) --tag=CXX --mode=link $(CXX) \ -R $(GLIBGCC_DIR) -R $(GLIBCXX_DIR) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -lv3test -L. -o $@ - noinst_LIBRARIES = libv3test.a libv3test_a_SOURCES = \ testsuite_abi.cc \ testsuite_allocator.cc \ testsuite_hooks.cc - @[EMAIL PROTECTED] = - - @[EMAIL PROTECTED] = abi_check - abi_check_SOURCES = abi_check.cc - abi_check_DEPENDENCIES = libv3test.a # Generated lists of files to run. All of these names are valid make # targets, if you wish to generate a list manually. lists_of_files = \ testsuite_files \ testsuite_files_interactive \ testsuite_files_performance - baseline_file = ${baseline_dir}/baseline_symbols.txt extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers # These two special 'check-script' rules use the bash script # 'check_survey' to do testing. This script is not as portable as the --- 256,290 ---- *************** performance_script = ${glibcxx_srcdir}/s *** 274,358 **** # By adding these files here, automake will remove them for 'make clean' CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ testsuite_* site.exp abi_check baseline_symbols - subdir = testsuite - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - CONFIG_HEADER = $(top_builddir)/config.h - CONFIG_CLEAN_FILES = - LIBRARIES = $(noinst_LIBRARIES) - - libv3test_a_AR = $(AR) cru - libv3test_a_LIBADD = - am_libv3test_a_OBJECTS = testsuite_abi.$(OBJEXT) \ - testsuite_allocator.$(OBJEXT) testsuite_hooks.$(OBJEXT) - libv3test_a_OBJECTS = $(am_libv3test_a_OBJECTS) - @[EMAIL PROTECTED] = abi_check$(EXEEXT) - @[EMAIL PROTECTED] = - PROGRAMS = $(noinst_PROGRAMS) - - am_abi_check_OBJECTS = abi_check.$(OBJEXT) - abi_check_OBJECTS = $(am_abi_check_OBJECTS) - abi_check_LDADD = $(LDADD) - abi_check_LDFLAGS = - - DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) - depcomp = - am__depfiles_maybe = - CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) - LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) - CXXLD = $(CXX) - DIST_SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES) - DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/fragment.am \ - Makefile.am - SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES) - all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj ! $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/fragment.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) cd $(top_srcdir) && \ ! $(AUTOMAKE) --foreign testsuite/Makefile ! Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status ! cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libv3test.a: $(libv3test_a_OBJECTS) $(libv3test_a_DEPENDENCIES) -rm -f libv3test.a $(libv3test_a_AR) libv3test.a $(libv3test_a_OBJECTS) $(libv3test_a_LIBADD) $(RANLIB) libv3test.a - clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done - abi_check$(EXEEXT): $(abi_check_OBJECTS) $(abi_check_DEPENDENCIES) - @rm -f abi_check$(EXEEXT) - $(CXXLINK) $(abi_check_LDFLAGS) $(abi_check_OBJECTS) $(abi_check_LDADD) $(LIBS) - mostlyclean-compile: ! -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cc.o: ! $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cc.obj: ! $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` .cc.lo: ! $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< mostlyclean-libtool: -rm -f *.lo clean-libtool: --- 301,365 ---- # By adding these files here, automake will remove them for 'make clean' CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ testsuite_* site.exp abi_check baseline_symbols all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj ! $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ! @for dep in $?; do \ ! case '$(am__configure_deps)' in \ ! *$$dep*) \ ! cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ ! && exit 0; \ ! exit 1;; \ ! esac; \ ! done; \ ! echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps testsuite/Makefile'; \ cd $(top_srcdir) && \ ! $(AUTOMAKE) --foreign --ignore-deps testsuite/Makefile ! .PRECIOUS: Makefile ! Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ! @case '$?' in \ ! *config.status*) \ ! cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ! *) \ ! echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ! cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ! esac; ! ! $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ! cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ! ! $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ! cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ! $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ! cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libv3test.a: $(libv3test_a_OBJECTS) $(libv3test_a_DEPENDENCIES) -rm -f libv3test.a $(libv3test_a_AR) libv3test.a $(libv3test_a_OBJECTS) $(libv3test_a_LIBADD) $(RANLIB) libv3test.a mostlyclean-compile: ! -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c .cc.o: ! $(CXXCOMPILE) -c -o $@ $< .cc.obj: ! $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: ! $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: *************** clean-libtool: *** 360,385 **** distclean-libtool: -rm -f libtool uninstall-info-am: - ETAGS = etags - ETAGSFLAGS = - - CTAGS = ctags - CTAGSFLAGS = - - tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ --- 367,385 ---- distclean-libtool: -rm -f libtool uninstall-info-am: ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique + tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ *************** TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEP *** 387,400 **** unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ ! test -z "$(ETAGS_ARGS)$$tags$$unique" \ ! || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ! $$tags $$unique ! ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ --- 387,401 ---- unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ ! if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ ! test -n "$$unique" || unique=$$empty_fix; \ ! $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ! $$tags $$unique; \ ! fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ *************** GTAGS: *** 413,427 **** && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - RUNTESTFLAGS = - DEJATOOL = $(PACKAGE) - RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir - EXPECT = expect - RUNTEST = runtest check-DEJAGNU: site.exp srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ EXPECT=$(EXPECT); export EXPECT; \ runtest=$(RUNTEST); \ --- 414,423 ---- *************** check-DEJAGNU: site.exp *** 429,470 **** l='$(DEJATOOL)'; for tool in $$l; do \ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ done; \ else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi - site.exp: Makefile - @echo 'Making a new site.exp file...' - @echo '## these variables are automatically generated by make ##' >site.tmp - @echo '# Do not edit here. If you wish to override these values' >>site.tmp - @echo '# edit the last section' >>site.tmp - @echo 'set srcdir $(srcdir)' >>site.tmp - @echo "set objdir `pwd`" >>site.tmp - @echo 'set build_alias "$(build_alias)"' >>site.tmp - @echo 'set build_triplet $(build_triplet)' >>site.tmp - @echo 'set host_alias "$(host_alias)"' >>site.tmp - @echo 'set host_triplet $(host_triplet)' >>site.tmp - @echo 'set target_alias "$(target_alias)"' >>site.tmp - @echo 'set target_triplet $(target_triplet)' >>site.tmp - @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp - @test ! -f site.exp || \ - sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp - @-rm -f site.bak - @test ! -f site.exp || mv site.exp site.bak - @mv site.tmp site.exp distclean-DEJAGNU: -rm -f site.exp site.bak -l='$(DEJATOOL)'; for tool in $$l; do \ rm -f $$tool.sum $$tool.log; \ done - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - - top_distdir = .. - distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) ! $(mkinstalldirs) $(distdir)/.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ --- 425,443 ---- l='$(DEJATOOL)'; for tool in $$l; do \ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ done; \ else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi distclean-DEJAGNU: -rm -f site.exp site.bak -l='$(DEJATOOL)'; for tool in $$l; do \ rm -f $$tool.sum $$tool.log; \ done distdir: $(DISTFILES) ! $(mkdir_p) $(distdir)/.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ *************** distdir: $(DISTFILES) *** 472,482 **** esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ ! $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ --- 445,455 ---- esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ ! $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ *************** distdir: $(DISTFILES) *** 490,501 **** fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local check: check-am ! all-am: Makefile $(LIBRARIES) $(PROGRAMS) all-local ! installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am --- 463,473 ---- fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local check: check-am ! all-am: Makefile $(LIBRARIES) all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am *************** install-am: all-am *** 504,541 **** @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: ! -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ ! clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-DEJAGNU distclean-compile \ distclean-generic distclean-libtool distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: --- 476,515 ---- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: ! -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ ! mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-DEJAGNU distclean-compile \ distclean-generic distclean-libtool distclean-tags dvi: dvi-am dvi-am: + html: html-am + info: info-am info-am: install-data-am: *************** ps-am: *** 567,586 **** uninstall-am: uninstall-info-am .PHONY: CTAGS GTAGS all all-am all-local check check-DEJAGNU check-am \ check-local clean clean-generic clean-libtool \ ! clean-noinstLIBRARIES clean-noinstPROGRAMS ctags distclean \ ! distclean-DEJAGNU distclean-compile distclean-generic \ ! distclean-libtool distclean-tags distdir dvi dvi-am info \ ! info-am install install-am install-data install-data-am \ ! install-exec install-exec-am install-info install-info-am \ ! install-man install-strip installcheck installcheck-am \ ! installdirs maintainer-clean maintainer-clean-generic \ ! mostlyclean mostlyclean-compile mostlyclean-generic \ ! mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ ! uninstall-am uninstall-info-am all-local: stamp_wchar testsuite_files # Enable wchar_t tests if capable. --- 541,560 ---- uninstall-am: uninstall-info-am .PHONY: CTAGS GTAGS all all-am all-local check check-DEJAGNU check-am \ check-local clean clean-generic clean-libtool \ ! clean-noinstLIBRARIES ctags distclean distclean-DEJAGNU \ ! distclean-compile distclean-generic distclean-libtool \ ! distclean-tags distdir dvi dvi-am html html-am info info-am \ ! install install-am install-data install-data-am install-exec \ ! install-exec-am install-info install-info-am install-man \ ! install-strip installcheck installcheck-am installdirs \ ! maintainer-clean maintainer-clean-generic mostlyclean \ ! mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ! pdf pdf-am ps ps-am tags uninstall uninstall-am \ ! uninstall-info-am all-local: stamp_wchar testsuite_files # Enable wchar_t tests if capable. *************** all-local: stamp_wchar testsuite_files *** 589,598 **** --- 563,599 ---- @[EMAIL PROTECTED]: # This is automatically run after the generated check-DEJAGNU rule. check-local: check-abi + # We need more things in site.exp, but automake completely controls the + # creation of that file; there's no way to append to it without messing up + # the dependancy chains. So we overrule automake. This rule is exactly + # what it would have generated, plus our own additions. + site.exp: Makefile + @echo 'Making a new site.exp file...' + @echo '## these variables are automatically generated by make ##' >site.tmp + @echo '# Do not edit here. If you wish to override these values' >>site.tmp + @echo '# edit the last section' >>site.tmp + @echo 'set srcdir $(srcdir)' >>site.tmp + @echo "set objdir `pwd`" >>site.tmp + @echo 'set build_alias "$(build_alias)"' >>site.tmp + @echo 'set build_triplet $(build_triplet)' >>site.tmp + @echo 'set host_alias "$(host_alias)"' >>site.tmp + @echo 'set host_triplet $(host_triplet)' >>site.tmp + @echo 'set target_alias "$(target_alias)"' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set baseline_file "$(baseline_file)"' >> site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + current_symbols.txt: ${extract_symvers} ../src/.libs/libstdc++.so -@(${extract_symvers} ../src/.libs/libstdc++.so current_symbols.txt) baseline_symbols: -@(output=${baseline_file}; \ *************** new-abi-baseline: *** 612,633 **** fi; \ ${extract_symvers} ../src/.libs/libstdc++.so $${output}) # Use 'new-abi-baseline' to create an initial symbol file. Then run # 'check-abi' to test for changes against that file. ! @[EMAIL PROTECTED]: abi_check baseline_symbols current_symbols.txt ! @GLIBCXX_TEST_ABI_TRUE@ [EMAIL PROTECTED]/abi_check --check ./current_symbols.txt ${baseline_file} \ ! @GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum ! @GLIBCXX_TEST_ABI_TRUE@ [EMAIL PROTECTED] libstdc++-abi.sum libstdc++-abi.log ! ! @[EMAIL PROTECTED]: abi_check baseline_symbols current_symbols.txt ! @GLIBCXX_TEST_ABI_TRUE@ [EMAIL PROTECTED]/abi_check --check-verbose ./current_symbols.txt ${baseline_file} \ ! @GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum ! @GLIBCXX_TEST_ABI_TRUE@ [EMAIL PROTECTED] libstdc++-abi.sum libstdc++-abi.log ! @[EMAIL PROTECTED]: - @[EMAIL PROTECTED]: check-script: ${survey_script} -@(chmod + ${survey_script}; \ ${survey_script} 0) check-script-install: ${survey_script} --- 613,625 ---- fi; \ ${extract_symvers} ../src/.libs/libstdc++.so $${output}) # Use 'new-abi-baseline' to create an initial symbol file. Then run # 'check-abi' to test for changes against that file. ! @[EMAIL PROTECTED]: baseline_symbols site.exp ! @GLIBCXX_TEST_ABI_TRUE@ [EMAIL PROTECTED] --tool libstdc++ abi.exp @[EMAIL PROTECTED]: check-script: ${survey_script} -@(chmod + ${survey_script}; \ ${survey_script} 0) check-script-install: ${survey_script} -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21523