This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Re: -ffunction-sections -fdata-sections vs. string-inst
- To: libstdc++ at sourceware dot cygnus dot com
- Subject: Re: -ffunction-sections -fdata-sections vs. string-inst
- From: Loren James Rittle <rittle at latour dot rsch dot comm dot mot dot com>
- Date: Mon, 12 Jun 2000 23:34:09 -0500 (CDT)
- Reply-to: rittle at rsch dot comm dot mot dot com
Benjamin,
I had libstdc++-v3 testsuite output for a freshly-bootstrapped,
unpatched-mainline CVS tree. I added your patch, rebuilt all derived
$src files with the steps listed in $src/libstdc++-v3/configure.in,
ran ``make clean'' in $obj/libstdc++-v3, reconfigured in
$obj/libstdc++-v3, ran ``make Makefile'' at all levels in
$obj/libstdc++-v3 (for some reason this was not done automatically),
make, chmod +x mkcheck (for some reason whenever it is recreated, it
gets the wrong permission on my system), make check.
Most tests appear to get smaller. However, for some reason, some
tests appear to get *much* larger now. E.g. see 21_strings/append.cc.
I am rerunning the entire bootstrap to verify that I didn't somehow
mess up the libstdc++ rebuild process. Will report tomorrow.
Regards,
Loren
Below are the relevant changes in testsuite output (produced with this
handy es shell line: diff -u \
<{awk <test1 '{printf "%d\t%d\t%d\t%s\n", $4, $5, $6, $7}'} \
<{awk <test2 '{printf "%d\t%d\t%d\t%s\n", $4, $5, $6, $7}'} | grep '^[-+]' ):
--- /dev/fd/3 Fri Jan 7 13:49:20 2000
+++ /dev/fd/4 Fri Jan 7 13:49:20 2000
-199020 8549 1490930 17_intro/header_iostream.cc
+197268 8933 1382933 17_intro/header_iostream.cc
-199020 8549 1542009 17_intro/headers.cc
+197268 8933 1433988 17_intro/headers.cc
-63208 4504 345986 21_strings/append.cc
-13525 642 116031 21_strings/append.cc
+201504 9605 1403850 21_strings/append.cc
+13525 642 124347 21_strings/append.cc
-68984 4216 345588 21_strings/capacity.cc
-19464 380 171454 21_strings/capacity.cc
+70304 4224 349027 21_strings/capacity.cc
+19464 380 178160 21_strings/capacity.cc
-54008 4120 252518 21_strings/char_traits.cc
-4488 256 75057 21_strings/char_traits.cc
+55452 4128 256094 21_strings/char_traits.cc
+4488 256 77838 21_strings/char_traits.cc
-58276 4184 266264 21_strings/compare.cc
-8364 332 89811 21_strings/compare.cc
+59696 4192 269848 21_strings/compare.cc
+8364 332 95169 21_strings/compare.cc
-59456 4216 279269 21_strings/ctor_copy_dtor.cc
-10125 370 104351 21_strings/ctor_copy_dtor.cc
+60860 4224 282837 21_strings/ctor_copy_dtor.cc
+10125 370 110690 21_strings/ctor_copy_dtor.cc
-54720 4248 257626 21_strings/element_access.cc
-5353 394 81173 21_strings/element_access.cc
+56128 4256 261198 21_strings/element_access.cc
+5353 394 84937 21_strings/element_access.cc
-59032 4088 321122 21_strings/find.cc
-9332 252 87363 21_strings/find.cc
+202928 9189 1386245 21_strings/find.cc
+9332 252 90332 21_strings/find.cc
-61452 4696 284756 21_strings/insert.cc
-11985 854 110935 21_strings/insert.cc
+62856 4704 288324 21_strings/insert.cc
+11985 854 118078 21_strings/insert.cc
-212120 10373 1656440 21_strings/inserters_extractors.cc
-22139 1284 229335 21_strings/inserters_extractors.cc
+204588 10181 1469116 21_strings/inserters_extractors.cc
+22139 1284 236384 21_strings/inserters_extractors.cc
-62276 4248 282986 21_strings/invariants.cc
-12604 384 106839 21_strings/invariants.cc
+63596 4256 286425 21_strings/invariants.cc
+12604 384 112923 21_strings/invariants.cc
-67020 4248 288108 21_strings/nonmember.cc
-17348 384 113473 21_strings/nonmember.cc
+68440 4256 291679 21_strings/nonmember.cc
+17348 384 119682 21_strings/nonmember.cc
-55788 4120 261718 21_strings/operations.cc
-6320 268 86391 21_strings/operations.cc
+57108 4128 265157 21_strings/operations.cc
+6320 268 91145 21_strings/operations.cc
-61252 4184 288001 21_strings/replace.cc
-11580 324 112544 21_strings/replace.cc
+62656 4192 291524 21_strings/replace.cc
+11580 324 118928 21_strings/replace.cc
-55952 4184 265919 21_strings/substr.cc
-6569 342 90631 21_strings/substr.cc
+57360 4192 269491 21_strings/substr.cc
+6569 342 95876 21_strings/substr.cc
-199856 8645 1482138 22_locale/ctype.cc
+198096 9029 1374119 22_locale/ctype.cc
-201180 8901 1479908 22_locale/ctype_char_members.cc
-2472 379 86603 22_locale/ctype_char_members.cc
+198988 9285 1371366 22_locale/ctype_char_members.cc
+2472 379 86775 22_locale/ctype_char_members.cc
-61084 4312 337906 23_containers/bitset_ctor.cc
-11653 458 162775 23_containers/bitset_ctor.cc
+62076 4320 340994 23_containers/bitset_ctor.cc
+11653 458 168328 23_containers/bitset_ctor.cc
-72968 4184 381687 23_containers/bitset_shift.cc
-23825 332 205945 23_containers/bitset_shift.cc
+73960 4192 384788 23_containers/bitset_shift.cc
+23825 332 209190 23_containers/bitset_shift.cc
-205512 8549 1561702 23_containers/multiset.cc
-7140 18 165110 23_containers/multiset.cc
+203348 8933 1453069 23_containers/multiset.cc
+7140 18 165365 23_containers/multiset.cc
-7856 204 79426 23_containers/vector_capacity.cc
+7856 204 79628 23_containers/vector_capacity.cc
-226592 8773 1625864 23_containers/vector_ctor.cc
-28152 208 186056 23_containers/vector_ctor.cc
+224552 9125 1517399 23_containers/vector_ctor.cc
+28152 208 186258 23_containers/vector_ctor.cc
-13084 204 122369 23_containers/vector_modifiers.cc
+13084 204 122571 23_containers/vector_modifiers.cc
-206984 9221 1534734 24_iterators/istreambuf_iterator.cc
-12727 676 175281 24_iterators/istreambuf_iterator.cc
+201680 9573 1420967 24_iterators/istreambuf_iterator.cc
+12727 676 180545 24_iterators/istreambuf_iterator.cc
-78120 4088 435704 24_iterators/iterator.cc
-28600 228 259510 24_iterators/iterator.cc
+79440 4096 439143 24_iterators/iterator.cc
+28600 228 269453 24_iterators/iterator.cc
-753 200 20563 25_algorithms/min_max.cc
+753 200 20659 25_algorithms/min_max.cc
-203304 8549 1616664 26_numerics/binary_closure.cc
-4799 20 219169 26_numerics/binary_closure.cc
+201516 8933 1508595 26_numerics/binary_closure.cc
+4799 20 219273 26_numerics/binary_closure.cc
-733 1 9174 26_numerics/buggy_complex.cc
+733 1 9309 26_numerics/buggy_complex.cc
-215472 9541 1617090 26_numerics/complex_inserters_extractors.cc
-15631 804 178464 26_numerics/complex_inserters_extractors.cc
+208268 9829 1468102 26_numerics/complex_inserters_extractors.cc
+15631 804 182787 26_numerics/complex_inserters_extractors.cc
-659 12 50274 26_numerics/valarray.cc
+659 12 50378 26_numerics/valarray.cc
-212688 9509 1535213 27_io/filebuf.cc
-18307 980 188018 27_io/filebuf.cc
+208756 9925 1423906 27_io/filebuf.cc
+18307 980 191261 27_io/filebuf.cc
-2761 188 69835 27_io/fpos.cc
+2761 188 70163 27_io/fpos.cc
-204384 9093 1543378 27_io/ios_base_callbacks.cc
-9503 552 159453 27_io/ios_base_callbacks.cc
+198208 9445 1429150 27_io/ios_base_callbacks.cc
+9503 552 165108 27_io/ios_base_callbacks.cc
-202484 9029 1511762 27_io/ios_base_members_static.cc
-7148 481 149370 27_io/ios_base_members_static.cc
+197992 9381 1399596 27_io/ios_base_members_static.cc
+7148 481 153355 27_io/ios_base_members_static.cc
-204208 8997 1538225 27_io/ios_ctor.cc
-9451 456 154230 27_io/ios_ctor.cc
+199596 9349 1425751 27_io/ios_ctor.cc
+9451 456 158505 27_io/ios_ctor.cc
-206332 9221 1552708 27_io/ios_manip_basefield.cc
-13467 671 190141 27_io/ios_manip_basefield.cc
+191312 9253 1382042 27_io/ios_manip_basefield.cc
+13467 671 195205 27_io/ios_manip_basefield.cc
-207024 9253 1566399 27_io/ios_manip_fmtflags.cc
-15199 723 196195 27_io/ios_manip_fmtflags.cc
+201924 9637 1453241 27_io/ios_manip_fmtflags.cc
+15199 723 201664 27_io/ios_manip_fmtflags.cc
-202936 8901 1495216 27_io/ios_members.cc
-5815 360 103374 27_io/ios_members.cc
+198984 9285 1383651 27_io/ios_members.cc
+5815 360 106416 27_io/ios_members.cc
-199460 8613 1567718 27_io/iostream_objects.cc
-968 76 180588 27_io/iostream_objects.cc
+197580 8997 1459461 27_io/iostream_objects.cc
+968 76 180823 27_io/iostream_objects.cc
-213812 10053 1583276 27_io/istream_extractor_arith.cc
-23219 1512 217614 27_io/istream_extractor_arith.cc
+209112 10405 1470853 27_io/istream_extractor_arith.cc
+23219 1512 221956 27_io/istream_extractor_arith.cc
-209408 9317 1554306 27_io/istream_extractor_char.cc
-15175 780 173127 27_io/istream_extractor_char.cc
+203956 9669 1441070 27_io/istream_extractor_char.cc
+15175 780 177361 27_io/istream_extractor_char.cc
-209340 9317 1557528 27_io/istream_extractor_other.cc
-15654 780 190323 27_io/istream_extractor_other.cc
+203420 9669 1443583 27_io/istream_extractor_other.cc
+15654 780 195807 27_io/istream_extractor_other.cc
-205832 9413 1570080 27_io/istream_manip.cc
-10063 644 165078 27_io/istream_manip.cc
+199292 9541 1433376 27_io/istream_manip.cc
+10063 644 169625 27_io/istream_manip.cc
-202724 9093 1540390 27_io/istream_sentry.cc
-8151 556 156936 27_io/istream_sentry.cc
+198264 9445 1428339 27_io/istream_sentry.cc
+8151 556 160976 27_io/istream_sentry.cc
-224284 9989 1571585 27_io/istream_unformatted.cc
-32143 1452 218434 27_io/istream_unformatted.cc
+209764 10021 1401460 27_io/istream_unformatted.cc
+32143 1452 223571 27_io/istream_unformatted.cc
-203868 9253 1527825 27_io/istringstream_members.cc
-10691 708 171500 27_io/istringstream_members.cc
+198316 9605 1414073 27_io/istringstream_members.cc
+10691 708 176878 27_io/istringstream_members.cc
-214532 9733 1596363 27_io/ostream_inserter_arith.cc
-22833 1083 207736 27_io/ostream_inserter_arith.cc
+209192 9989 1463686 27_io/ostream_inserter_arith.cc
+22833 1083 213043 27_io/ostream_inserter_arith.cc
-210956 9829 1592163 27_io/ostream_inserter_char.cc
-21743 1188 214591 27_io/ostream_inserter_char.cc
+205780 10085 1459211 27_io/ostream_inserter_char.cc
+21743 1188 221382 27_io/ostream_inserter_char.cc
-201760 9637 1550044 27_io/ostream_inserter_other.cc
-10679 1088 187661 27_io/ostream_inserter_other.cc
+198676 9989 1439298 27_io/ostream_inserter_other.cc
+10679 1088 192006 27_io/ostream_inserter_other.cc
-203972 9157 1549823 27_io/ostream_manip.cc
-12131 612 172089 27_io/ostream_manip.cc
+199348 9509 1437159 27_io/ostream_manip.cc
+12131 612 177513 27_io/ostream_manip.cc
-202064 9221 1516522 27_io/ostream_unformatted.cc
-7800 673 156312 27_io/ostream_unformatted.cc
+197980 9573 1404749 27_io/ostream_unformatted.cc
+7800 673 160344 27_io/ostream_unformatted.cc
-209740 9221 1529643 27_io/streambuf.cc
-14227 692 143724 27_io/streambuf.cc
+203220 9605 1415134 27_io/streambuf.cc
+14227 692 149104 27_io/streambuf.cc
-219576 9157 1564952 27_io/stringbuf.cc
-25835 628 183359 27_io/stringbuf.cc
+213264 9541 1450261 27_io/stringbuf.cc
+25835 628 189320 27_io/stringbuf.cc
-206820 9573 1576357 27_io/stringstream.cc
-15572 1046 196067 27_io/stringstream.cc
+201724 9957 1462928 27_io/stringstream.cc
+15572 1046 202098 27_io/stringstream.cc
-199020 8709 1593117 ext/headers.cc
+197268 9093 1485096 ext/headers.cc