This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/21523] [3.4/4.0 Regression] 3.4.4 RC1 fails libstdc++ install on powerpc64-linux
- From: "mark at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 May 2005 18:06:50 -0000
- Subject: [Bug libstdc++/21523] [3.4/4.0 Regression] 3.4.4 RC1 fails libstdc++ install on powerpc64-linux
- References: <20050511230328.21523.janis@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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 <mark@codesourcery.com>
2005-04-04 Mark Mitchell <mark@codesourcery.com>
* 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 <mark@codesourcery.com>
* 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 <phil@codesourcery.com>
* 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
! -@./abi_check --check ./current_symbols.txt ${baseline_file} \
! 2>&1 | tee libstdc++-abi.sum
! -@cp libstdc++-abi.sum libstdc++-abi.log
!
! check-abi-verbose: abi_check baseline_symbols current_symbols.txt
! -@./abi_check --check-verbose ./current_symbols.txt ${baseline_file} \
! 2>&1 | tee libstdc++-abi.sum
! -@cp 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
! -@runtest --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
- @GLIBCXX_TEST_ABI_FALSE@noinst_PROGRAMS =
-
- @GLIBCXX_TEST_ABI_TRUE@noinst_PROGRAMS = 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)
- @GLIBCXX_TEST_ABI_TRUE@noinst_PROGRAMS = abi_check$(EXEEXT)
- @GLIBCXX_TEST_ABI_FALSE@noinst_PROGRAMS =
- 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 ----
@GLIBCXX_TEST_WCHAR_T_FALSE@stamp_wchar:
# 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.
! @GLIBCXX_TEST_ABI_TRUE@check-abi: abi_check baseline_symbols current_symbols.txt
! @GLIBCXX_TEST_ABI_TRUE@ -@./abi_check --check ./current_symbols.txt ${baseline_file} \
! @GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum
! @GLIBCXX_TEST_ABI_TRUE@ -@cp libstdc++-abi.sum libstdc++-abi.log
!
! @GLIBCXX_TEST_ABI_TRUE@check-abi-verbose: abi_check baseline_symbols current_symbols.txt
! @GLIBCXX_TEST_ABI_TRUE@ -@./abi_check --check-verbose ./current_symbols.txt ${baseline_file} \
! @GLIBCXX_TEST_ABI_TRUE@ 2>&1 | tee libstdc++-abi.sum
! @GLIBCXX_TEST_ABI_TRUE@ -@cp libstdc++-abi.sum libstdc++-abi.log
!
@GLIBCXX_TEST_ABI_FALSE@check-abi:
- @GLIBCXX_TEST_ABI_FALSE@check-abi-verbose:
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.
! @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-script: ${survey_script}
-@(chmod + ${survey_script}; \
${survey_script} 0)
check-script-install: ${survey_script}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21523