Hi! Apparently $(inst_sources) is included in libc__98convenience_la_SOURCES and libc__98_la_SOURCES twice, once directly, once through $(host_sources_extra) included in $(sources). On x86_64-linux and others it causes just lots of bloat (libstdc++.a is much bigger, as several objects are there twice, and libstdc++.so.6 contains bigger .debug_* sections), but reportedly on other targets it results in build failures.
Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? I've verified abilists before Benjamin's change, after that without this patch and with this patch and the changes are ok (the only changes are some GLOBAL -> UNIQUE changes caused by Benjamin's patch, with this patch no abilist changes at all). 2012-01-25 Jakub Jelinek <ja...@redhat.com> PR bootstrap/51985 * src/c++98/Makefile.am (libc__98_la_SOURCES, libc__98convenience_la_SOURCES): Remove $(inst_sources). * src/c++98/Makefile.in: Regenerated. --- libstdc++-v3/src/c++98/Makefile.am.jj 2012-01-25 13:04:07.000000000 +0100 +++ libstdc++-v3/src/c++98/Makefile.am 2012-01-25 13:59:04.560221970 +0100 @@ -156,8 +156,8 @@ sources = \ vpath % $(top_srcdir)/src/c++98 vpath % $(top_srcdir) -libc__98_la_SOURCES = $(sources) $(inst_sources) -libc__98convenience_la_SOURCES = $(sources) $(inst_sources) +libc__98_la_SOURCES = $(sources) +libc__98convenience_la_SOURCES = $(sources) # Use special rules for the deprecated source files so that they find # deprecated include files. --- libstdc++-v3/src/c++98/Makefile.in.jj 2012-01-25 13:04:07.000000000 +0100 +++ libstdc++-v3/src/c++98/Makefile.in 2012-01-25 13:59:51.549947625 +0100 @@ -114,10 +114,10 @@ am__objects_6 = bitmap_allocator.lo pool math_stubs_long_double.lo stdexcept.lo strstream.lo tree.lo \ istream.lo streambuf.lo valarray.lo $(am__objects_1) \ $(am__objects_5) -am_libc__98_la_OBJECTS = $(am__objects_6) $(am__objects_2) +am_libc__98_la_OBJECTS = $(am__objects_6) libc__98_la_OBJECTS = $(am_libc__98_la_OBJECTS) libc__98convenience_la_LIBADD = -am_libc__98convenience_la_OBJECTS = $(am__objects_6) $(am__objects_2) +am_libc__98convenience_la_OBJECTS = $(am__objects_6) libc__98convenience_la_OBJECTS = $(am_libc__98convenience_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = @@ -423,8 +423,8 @@ sources = \ ${host_sources} \ ${host_sources_extra} -libc__98_la_SOURCES = $(sources) $(inst_sources) -libc__98convenience_la_SOURCES = $(sources) $(inst_sources) +libc__98_la_SOURCES = $(sources) +libc__98convenience_la_SOURCES = $(sources) # Use special rules for the deprecated source files so that they find # deprecated include files. Jakub