[PATCH] Fix libstdc++ build (PR bootstrap/51985)
Jakub Jelinek
jakub@redhat.com
Wed Jan 25 16:02:00 GMT 2012
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 <jakub@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
More information about the Libstdc++
mailing list