diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index d6ea6baad8a1c43290124ba59ba35f6cb1330909..5df989bfd19ad6d1a024b323b83f602704814dc8 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,25 @@
 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
 
+	* ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
+	docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3,
+	docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE,
+	docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN,
+	docs/html/17_intro/howto.html, docs/html/17_intro/porting.html,
+	docs/html/17_intro/porting.texi, docs/html/18_support/howto.html,
+	docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
+	docs/html/21_strings/howto.html,
+	docs/html/23_containers/howto.html,
+	docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
+	docs/html/27_io/binary_iostreams_kuehl.txt,
+	docs/html/ext/sgiexts.html, docs/html/faq/index.html,
+	docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc,
+	include/bits/basic_file.h, include/bits/locale_facets.h,
+	include/bits/locale_facets.tcc, include/bits/std_sstream.h,
+	include/ext/ropeimpl.h, include/ext/stl_rope.h,
+	libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo,
+	libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure,
+	configure.target, ChangeLog-2000: Fix spelling errors.
+
 	* config/locale/moneypunct_members_gnu.cc,
 	include/bits/locale_facets.h: Fix spelling errors.
 
diff --git a/libstdc++-v3/ChangeLog-2000 b/libstdc++-v3/ChangeLog-2000
index 6b657f900fcb01ca237db988e8d0b18275bae9e2..d21b530839b65f4a3fdcb53d15bb54ccaff7b0bb 100644
--- a/libstdc++-v3/ChangeLog-2000
+++ b/libstdc++-v3/ChangeLog-2000
@@ -873,7 +873,7 @@
 2000-11-23  Gabriel Dos Reis  <gdr@codesourcery.com>
 
 	* include/bits/ios_base.h (ios_base::failure::~failure,
-	ios_base::failure::what): Move defintion to ...
+	ios_base::failure::what): Move definition to ...
 
 	* src/ios.cc (ios_base::failure::~failure): ... here.
 	src/ios.cc (ios::failure::what): Likewise.
@@ -2043,7 +2043,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 
 	* acinclude.m4 (GLIBCPP_CHECK_OS): Link to os_defines.h.
 	* aclocal.m4: Regenerate.
-	* config/os/*/bits/os_defintes: Adjust copyright dates.
+	* config/os/*/bits/os_defines: Adjust copyright dates.
 	
 2000-10-08  Phil Edwards  <pme@sources.redhat.com>
 
@@ -2768,7 +2768,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 	__codecvt_abstract_base in an attempt to point some light this way...
 	Move __enc_traits and codecvt bits to codecvt.h.
 	* src/locale-inst.cc: Remove codecvt<wchar_t, wchar_t, mbstate_t>
-	explicit instantiation. Separate out codecvt instantations, simplify.
+	explicit instantiation. Separate out codecvt instantiations, simplify.
 	* src/locale.cc: Move codecvt bits to codecvt.cc
 
 2000-08-15  Alexandre Oliva  <aoliva@redhat.com>
@@ -4796,7 +4796,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 	(ctype<wchar_t>): Same.
 	Move _S_touppper to _M_toupper and initialize in ctor.
 	Move _S_tolower  to _M_tolower and initialize in ctor.	
-	Move _S_table to _M_ctable and intialize in ctor.
+	Move _S_table to _M_ctable and initialize in ctor.
 	* bits/locale_facets.h (std): And here.
 	* src/locale.cc (std): Tweak.
 	* config/gnu-linux/ctype.cc: Change initialization here.
@@ -4807,7 +4807,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 	* bits/localefwd.h: Tweak.
 	* bits/std_streambuf.h: Tweak formatting.
 
-	* testsuite/27_io/filebuf.cc: Remove BUFSIZ dependancies.
+	* testsuite/27_io/filebuf.cc: Remove BUFSIZ dependencies.
 
 2000-03-05  Chip Salzenberg  <chip@valinux.com>
 
@@ -4822,7 +4822,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
         * std/strstream:  New file.
         * stl/bits/std_strstream.h:  New file.
         * bits/std_streambuf.h:  Add public access.
-        * src/Makefile.am:  Add strstream sources to list of dependancies.
+        * src/Makefile.am:  Add strstream sources to list of dependencies.
         * src/Makefile.in:  Regenerate.
 
 2000-03-03 2000  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
@@ -5318,7 +5318,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 	* math/complex-stub.h (nan): And here.
 	
 	* Makefile.am (rebuild-stamp): Remove libio and libio
-	dependancies.  Plan to take out libio subdir and just merge with
+	dependencies.  Plan to take out libio subdir and just merge with
 	libio in top level gcc directory. Of course, this assumes there is
 	a libio in the top level directory (ie ../src_dir). This will
 	probably change the way this library is configured by default.
@@ -5928,7 +5928,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
 
 	* bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
-	in and out buffers update independantly.
+	in and out buffers update independently.
 
 	* bits/basic_ios.h: Minor formatting.
 	* bits/fstream.tcc (std): Fix indentation.
@@ -7161,7 +7161,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 	* bits/std_sstream.h (_M_init_stringbuf): New function.
 	* bits/sstream.tcc: Tweak.
 	
-	* docs/27_io/iostreams_heirarchy.pdf: New file.
+	* docs/27_io/iostreams_hierarchy.pdf: New file.
 	
 	* docs/17_intro/CHECKLIST (basic_string<char>): Validation and
 	acceptance. Wooo-hoo!
@@ -7611,7 +7611,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
  	converting "long double" to struct long_double. Probably should be
  	done with one macro (HAVE_STRTOLD) at configure time.
 
-	* bits/std_cmath.h: Comment out pow(double, int) defintion as
+	* bits/std_cmath.h: Comment out pow(double, int) definition as
  	gives re-declaration under hpux10.20. Revert previous change, as
  	kills linux/x86, solaris 2.7, hpux builds. These should be done
  	using autoconf, see std_cctype.h and the solutions started in
@@ -8804,7 +8804,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 
 	* bits/char_traits.h: Remove fpos definitions from here. . .
 	* bits/fpos.h: New file, put them here. Eventually, this may allow
-	the severing of char_traits and fpos dependancies.
+	the severing of char_traits and fpos dependencies.
 	* src/Makefile.in: Add fpos.h.
 	* src/Makefile.am: Ditto.
 	* bits/std_string.h: Add fpos.h include here.
@@ -9698,7 +9698,7 @@ Thu Nov  2 10:11:45 2000  Mark P Mitchell  <mark@codesourcery.com>
 
 	* bits/basic_string.h: Disable non-standard ctor declarations.
 	* bits/string.tcc: Disable definitions as well.
-	* src/string.cc: Disable <ios> dependancies.
+	* src/string.cc: Disable <ios> dependencies.
 	* bits/sbuf_iter.h (std): Add default to template parameter for
 	ostreambuf_iterator and istreambuf_iterator.
 	* bits/std_iosfwd.h: Change istreambuf_iterator to
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 16dce0f9f6addc646acc57a0a757c071d52e852e..5159d00d36de5d5ec6d535b8f3299f35ca6c179b 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -173,8 +173,8 @@ LIB_AC_PROG_CXX
   # at least currently, we never actually build a program, so we never
   # need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
   # fails, because we are probably configuring with a cross compiler
-  # which cant create executables.  So we include AC_EXEEXT to keep
-  # automake happy, but we dont execute it, since we dont care about
+  # which can't create executables.  So we include AC_EXEEXT to keep
+  # automake happy, but we don't execute it, since we don't care about
   # the result.
   if false; then
     # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4
index 9550f8a71fa8f9490fbed790f58fc63b32d3737d..205b321a65b90d01f28aed6fadc9036434712c98 100644
--- a/libstdc++-v3/aclocal.m4
+++ b/libstdc++-v3/aclocal.m4
@@ -185,8 +185,8 @@ LIB_AC_PROG_CXX
   # at least currently, we never actually build a program, so we never
   # need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
   # fails, because we are probably configuring with a cross compiler
-  # which cant create executables.  So we include AC_EXEEXT to keep
-  # automake happy, but we dont execute it, since we dont care about
+  # which can't create executables.  So we include AC_EXEEXT to keep
+  # automake happy, but we don't execute it, since we don't care about
   # the result.
   if false; then
     # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 8a6fe1fd5dff753669b7fba3706c0f2e468b752f..c640ec8cd5d3fbfc67eec389ebeba8b84d200ce6 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -1627,8 +1627,8 @@ fi
   # at least currently, we never actually build a program, so we never
   # need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
   # fails, because we are probably configuring with a cross compiler
-  # which cant create executables.  So we include AC_EXEEXT to keep
-  # automake happy, but we dont execute it, since we dont care about
+  # which can't create executables.  So we include AC_EXEEXT to keep
+  # automake happy, but we don't execute it, since we don't care about
   # the result.
   if false; then
     # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
diff --git a/libstdc++-v3/configure.target b/libstdc++-v3/configure.target
index eda3b1ab8a84dd537459f5fc0e0d55efb297a2e7..ad899e9893624c5c43806edba11dec906dc8aa4d 100644
--- a/libstdc++-v3/configure.target
+++ b/libstdc++-v3/configure.target
@@ -113,7 +113,7 @@ case "${target_os}" in
 esac
 
 
-# Set any flags dependant on the full target triplet.
+# Set any flags dependent on the full target triplet.
 # THIS TABLE IS SORTED.  KEEP IT THAT WAY.
 case "${target}" in
    *-*-aix[456789]*)
diff --git a/libstdc++-v3/docs/doxygen/Intro.3 b/libstdc++-v3/docs/doxygen/Intro.3
index b54bd559dcc1937a122bc9991cba964a90e31736..52998c9fdd4fab822d17c73b4518101fe7e33c88 100644
--- a/libstdc++-v3/docs/doxygen/Intro.3
+++ b/libstdc++-v3/docs/doxygen/Intro.3
@@ -66,7 +66,7 @@ lB lB lB lB.
 <complex>    <fstream>     <memory>    <vector>
 <csetjmp>    <functional>  <numeric>
 .TE
-.SS Backwards-Compatability Headers
+.SS Backwards-Compatibility Headers
 For GCC 3.0 these headers will be found automatically, unless you instruct
 the compiler otherwise.  You should not depend on this, instead you should
 read FAQ 5.4 and use a
diff --git a/libstdc++-v3/docs/doxygen/doxygroups.cc b/libstdc++-v3/docs/doxygen/doxygroups.cc
index 72e5ef3b8a37a3dd0091af830b87e137d84625ba..de304f13382f3ab6374f75c68e2e2b327ec709f8 100644
--- a/libstdc++-v3/docs/doxygen/doxygroups.cc
+++ b/libstdc++-v3/docs/doxygen/doxygroups.cc
@@ -67,7 +67,7 @@ following:
 As an example of the first case, @c vector is required to use a contiguous
 memory layout, while other sequences such as @c deque are not.
 
-The prime reason for chosing one sequence over another should be based on
+The prime reason for choosing one sequence over another should be based on
 the second category of differences, algorithmic complexity.  For example, if
 you need to perform many inserts and removals from the middle of a sequence,
 @c list would be ideal.  But if you need to perform constant-time access to
diff --git a/libstdc++-v3/docs/doxygen/maint.cfg.in b/libstdc++-v3/docs/doxygen/maint.cfg.in
index 10c43d4132059ee6969a19c3ac8019329273caa9..71801e6120acb00e8e8baf34a8f38b4dc47b8335 100644
--- a/libstdc++-v3/docs/doxygen/maint.cfg.in
+++ b/libstdc++-v3/docs/doxygen/maint.cfg.in
@@ -140,7 +140,7 @@ STRIP_CODE_COMMENTS    = YES
 # file names in lower case letters. If set to YES upper case letters are also 
 # allowed. This is useful if you have classes or files whose names only differ 
 # in case and if your file system supports case sensitive file names. Windows 
-# users are adviced to set this option to NO.
+# users are advised to set this option to NO.
 
 CASE_SENSE_NAMES       = YES
 
diff --git a/libstdc++-v3/docs/doxygen/user.cfg.in b/libstdc++-v3/docs/doxygen/user.cfg.in
index a78cd5c32f16bc0b3b95f9d21b65063e57d46d1b..b9d192a53c6f8f14163c79d45f1279a123f1ba9b 100644
--- a/libstdc++-v3/docs/doxygen/user.cfg.in
+++ b/libstdc++-v3/docs/doxygen/user.cfg.in
@@ -144,7 +144,7 @@ STRIP_CODE_COMMENTS    = YES
 # file names in lower case letters. If set to YES upper case letters are also 
 # allowed. This is useful if you have classes or files whose names only differ 
 # in case and if your file system supports case sensitive file names. Windows 
-# users are adviced to set this option to NO.
+# users are advised to set this option to NO.
 
 CASE_SENSE_NAMES       = NO
 
diff --git a/libstdc++-v3/docs/html/17_intro/BUGS b/libstdc++-v3/docs/html/17_intro/BUGS
index 150503593fe8c5febd5c3655f89880686dfd70ec..04e4bc8062367c182eaf9aeafd45bd3f3f20229d 100644
--- a/libstdc++-v3/docs/html/17_intro/BUGS
+++ b/libstdc++-v3/docs/html/17_intro/BUGS
@@ -5,7 +5,7 @@
 
 - _GLIBCPP_HAS_BUILTIN_SINF: We should still hold out for a cleaner solution the is currenly the case in bits/std_cmath.h. 
 
-- there may be one set of remaining string bugs, dependant on final
+- there may be one set of remaining string bugs, dependent on final
 clarification of the string::find technicalities when finding in an
 empty string or using an empty string for an argument. At the very
 least, v-3 has interpreted the standard in a way that is in opposition
diff --git a/libstdc++-v3/docs/html/17_intro/C++STYLE b/libstdc++-v3/docs/html/17_intro/C++STYLE
index 5d22d7e59faff7796f7dbdff5c25a6a0a7b37508..46fe3f3f160c88e29fcdcc34097e6d28c1cce08c 100644
--- a/libstdc++-v3/docs/html/17_intro/C++STYLE
+++ b/libstdc++-v3/docs/html/17_intro/C++STYLE
@@ -122,7 +122,7 @@ Notable areas of divergence from what may be previous local practice
     //
   }
 
-09. Member functions declarations and defintions
+09. Member functions declarations and definitions
    Keywords such as extern, static, export, explicit, inline, etc
    go on the line above the function name. Thus
 
diff --git a/libstdc++-v3/docs/html/17_intro/CHECKLIST b/libstdc++-v3/docs/html/17_intro/CHECKLIST
index bef9635e8507400c517c897782dc8808fa8c004f..9d3f80d3e36dcb1dce883b9877e6671dd8adf94c 100644
--- a/libstdc++-v3/docs/html/17_intro/CHECKLIST
+++ b/libstdc++-v3/docs/html/17_intro/CHECKLIST
@@ -958,7 +958,7 @@ T     X* get() const throw();
 T     X* release() throw();
 T     void reset(X* p =0) throw();
 
-      // _lib.auto.ptr.conv_ converions:
+      // _lib.auto.ptr.conv_ conversions:
 X     auto_ptr(auto_ptr_ref<X>) throw();
 X     template<class Y> operator auto_ptr_ref<Y>() throw();
 X     template<class Y> operator auto_ptr<Y>() throw();
diff --git a/libstdc++-v3/docs/html/17_intro/DESIGN b/libstdc++-v3/docs/html/17_intro/DESIGN
index 6979bc40f80d36e56883aa73ff5dd121f4b51679..5af3d9aed3be4442e4cf038fbee6acdca55e6b51 100644
--- a/libstdc++-v3/docs/html/17_intro/DESIGN
+++ b/libstdc++-v3/docs/html/17_intro/DESIGN
@@ -253,7 +253,7 @@ cases it may actually be excessive.
 
 To implement a library which does not use exceptions directly is
 not difficult given minor compiler support (to "turn off" exceptions
-and ignore exception contructs), and results in no great library
+and ignore exception constructs), and results in no great library
 maintenance difficulties.  To be precise, given "-fno-exceptions",
 the compiler should treat "try" blocks as ordinary blocks, and
 "catch" blocks as dead code to ignore or eliminate.  Compiler
diff --git a/libstdc++-v3/docs/html/17_intro/howto.html b/libstdc++-v3/docs/html/17_intro/howto.html
index c4bfcc3f28796d847a88ab6bdfc2cdca76a5f08e..3dce6f912a324c52a5de39da97da476db9625142 100644
--- a/libstdc++-v3/docs/html/17_intro/howto.html
+++ b/libstdc++-v3/docs/html/17_intro/howto.html
@@ -124,7 +124,7 @@
    </p>
    <p>Here is a small link farm to threads (no pun) in the mail archives
       that discuss the threading problem.  Each link is to the first
-      relevent message in the thread; from there you can use
+      relevant message in the thread; from there you can use
       &quot;Thread Next&quot; to move down the thread.  This farm is in
       latest-to-oldest order.
       <ul>
@@ -142,7 +142,7 @@
       (A large selection of links to older messages has been removed; many
       of the messages from 1999 were lost in a disk crash, and the few
       people with access to the backup tapes have been too swamped with work
-      to restore them.  Many of the points have been superceded anyhow.)
+      to restore them.  Many of the points have been superseded anyhow.)
    </p>
    <p>This section will be updated as new and interesting issues come
       to light.
diff --git a/libstdc++-v3/docs/html/17_intro/porting.html b/libstdc++-v3/docs/html/17_intro/porting.html
index 291393c60a92f2052334bf3e1e19c61cc2c95796..344fb4f31b3bb5c1ed34c22677db51e8e43bf538 100644
--- a/libstdc++-v3/docs/html/17_intro/porting.html
+++ b/libstdc++-v3/docs/html/17_intro/porting.html
@@ -140,7 +140,7 @@ Up:<a rel=up href="#Top">Top</a>
 <h1>Character types</h1>
 
 <p>The library requires that you provide three header files to implement
-character classification, analagous to that provided by the C libraries
+character classification, analogous to that provided by the C libraries
 <code>&lt;ctype.h&gt;</code> header.  You can model these on the files provided in
 <code>config/os/generic/bits</code>.  However, these files will almost
 certainly need some modification.
@@ -149,7 +149,7 @@ certainly need some modification.
 some very basic information about character classification.  The libstdc++-v3
 library assumes that your C library implements <code>&lt;ctype.h&gt;</code> by using
 a table (indexed by character code) containing integers, where each of
-these integers is a bit-mask indicating whether the charcter is
+these integers is a bit-mask indicating whether the character is
 upper-case, lower-case, alphabetic, etc.  The <code>bits/ctype_base.h</code>
 file gives the type of the integer, and the values of the various bit
 masks.  You will have to peer at your own <code>&lt;ctype.h&gt;</code> to figure out
@@ -273,7 +273,7 @@ contains a few more functions.  On most systems, you can just copy
 <code>config/os/generic/ctype_inline.h</code> and use it on your system.
 
 <p>In detail, the functions provided test characters for particular
-properties; they are analagous to the functions like <code>isalpha</code> and
+properties; they are analogous to the functions like <code>isalpha</code> and
 <code>islower</code> provided by the C library.
 
 <p>The first function is implemented like this on IRIX:
diff --git a/libstdc++-v3/docs/html/17_intro/porting.texi b/libstdc++-v3/docs/html/17_intro/porting.texi
index 018cbdeb41f4cae09b9847f483aefd0c4b77d8c1..d5d32b4a2f45023843e9eca4d3bfc83ae23e93e2 100644
--- a/libstdc++-v3/docs/html/17_intro/porting.texi
+++ b/libstdc++-v3/docs/html/17_intro/porting.texi
@@ -176,7 +176,7 @@ starting point.
 @chapter Character types
 
 The library requires that you provide three header files to implement
-character classification, analagous to that provided by the C libraries
+character classification, analogous to that provided by the C libraries
 @file{<ctype.h>} header.  You can model these on the files provided in
 @file{config/os/generic/bits}.  However, these files will almost
 certainly need some modification.
@@ -185,7 +185,7 @@ The first file to write is @file{bits/ctype_base.h}.  This file provides
 some very basic information about character classification.  The libstdc++-v3
 library assumes that your C library implements @file{<ctype.h>} by using
 a table (indexed by character code) containing integers, where each of
-these integers is a bit-mask indicating whether the charcter is
+these integers is a bit-mask indicating whether the character is
 upper-case, lower-case, alphabetic, etc.  The @file{bits/ctype_base.h}
 file gives the type of the integer, and the values of the various bit
 masks.  You will have to peer at your own @file{<ctype.h>} to figure out
@@ -316,7 +316,7 @@ contains a few more functions.  On most systems, you can just copy
 @file{config/os/generic/ctype_inline.h} and use it on your system.
 
 In detail, the functions provided test characters for particular
-properties; they are analagous to the functions like @code{isalpha} and
+properties; they are analogous to the functions like @code{isalpha} and
 @code{islower} provided by the C library.
 
 The first function is implemented like this on IRIX:
diff --git a/libstdc++-v3/docs/html/18_support/howto.html b/libstdc++-v3/docs/html/18_support/howto.html
index ec7a2d096b21eb2d6c0edaebe1ffcefc88bc7df0..13adbfd56fcb69852fd4b08053a508858cbbd18c 100644
--- a/libstdc++-v3/docs/html/18_support/howto.html
+++ b/libstdc++-v3/docs/html/18_support/howto.html
@@ -182,7 +182,7 @@
               atexit(f2);
             </pre>then at a call of <code>exit()</code>, f2 will be called, then
             obj2 will be destroyed, then f1 will be called, and finally obj1
-            will be destroyed.  If f1 or f2 allow an exception to propogate
+            will be destroyed.  If f1 or f2 allow an exception to propagate
             out of them, Bad Things happen.
       </ol>
    </p>
diff --git a/libstdc++-v3/docs/html/19_diagnostics/howto.html b/libstdc++-v3/docs/html/19_diagnostics/howto.html
index d30b5d97dab1413aeb2e3a7e892d13ccd31ee666..e85d57d3d3444414a8a245fc7decc5efea1053d5 100644
--- a/libstdc++-v3/docs/html/19_diagnostics/howto.html
+++ b/libstdc++-v3/docs/html/19_diagnostics/howto.html
@@ -37,7 +37,7 @@
    <p>The standard exception classes carry with them a single string as
       data (usually describing what went wrong or where the 'throw' took
       place).  It's good to remember that you can add your own data to
-      these exceptions when extending the heirarchy:
+      these exceptions when extending the hierarchy:
    </p>
    <pre>
    struct My_Exception : public std::runtime_error
diff --git a/libstdc++-v3/docs/html/20_util/howto.html b/libstdc++-v3/docs/html/20_util/howto.html
index 1d34b491467e1aa58375b67fe9476200c8de9744..d90b5d6654ac6e92ac73f5d280e2fdc37e91b59f 100644
--- a/libstdc++-v3/docs/html/20_util/howto.html
+++ b/libstdc++-v3/docs/html/20_util/howto.html
@@ -91,7 +91,7 @@
 <h2><a name="2"><code>auto_ptr</code> inside container classes</a></h2>
    <p>All of the <a href="../23_containers/howto.html">containers</a>
       described in the standard library require their contained types
-      to have, among other things, a copy contructor like this:
+      to have, among other things, a copy constructor like this:
       <pre>
     struct My_Type
     {
diff --git a/libstdc++-v3/docs/html/21_strings/howto.html b/libstdc++-v3/docs/html/21_strings/howto.html
index c9aabe017aeea943e36df2e72b02656c71e45bbb..6acd357c959831ef382b2bb45d51c34114fdb405 100644
--- a/libstdc++-v3/docs/html/21_strings/howto.html
+++ b/libstdc++-v3/docs/html/21_strings/howto.html
@@ -37,7 +37,7 @@
       CString.  Often programmers realize that a standard portable
       answer is better than a proprietary nonportable one, but in porting
       their application from a Win32 platform, they discover that they
-      are relying on special functons offered by the CString class.
+      are relying on special functions offered by the CString class.
    </p>
    <p>Things are not as bad as they seem.  In
       <a href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html">this
@@ -58,7 +58,7 @@
       stringstream classes.  These are the bridge between the iostream
       hierarchy and the string class, and they operate with regular
       streams seamlessly because they inherit from the iostream
-      heirarchy.  An quick example:
+      hierarchy.  An quick example:
       <pre>
    #include &lt;iostream&gt;
    #include &lt;string&gt;
@@ -315,7 +315,7 @@
    str.erase(notwhite+1); </pre>
       Obviously, the calls to <code>find</code> could be inserted directly
       into the calls to <code>erase</code>, in case your compiler does not
-      optimize named temporaries out of existance.
+      optimize named temporaries out of existence.
    </p>
    <p>Return <a href="#top">to top of page</a> or
       <a href="../faq/index.html">to the FAQ</a>.
diff --git a/libstdc++-v3/docs/html/23_containers/howto.html b/libstdc++-v3/docs/html/23_containers/howto.html
index 8cdaab1615ae9c1a3a03e81ff8a08bef0bfbc01d..29c721850418c9286814717c64e66e870c11cc50 100644
--- a/libstdc++-v3/docs/html/23_containers/howto.html
+++ b/libstdc++-v3/docs/html/23_containers/howto.html
@@ -165,7 +165,7 @@
       <code>bitset</code>
       for the required number of bits, inside some wrapper functions with
       unchanging signatures.  Have your program then call the
-      compiler on that file using Position Independant Code, then open the
+      compiler on that file using Position Independent Code, then open the
       newly-created object file and load those wrapper functions.  You'll have
       an instantiation of <code>bitset&lt;N&gt;</code> for the exact
       <code>N</code>
@@ -324,7 +324,7 @@
           be the entry in the container pointed to by <code>hint</code>, that
           is, <code>h = *hint</code>.  Then the item being inserted should have
           a key less than that of <code>h</code>, and greater than that of the
-          item preceeding <code>h</code>.  The new item will be inserted
+          item preceding <code>h</code>.  The new item will be inserted
           between <code>h</code> and <code>h</code>'s predecessor.
      </ul>
    </p>
diff --git a/libstdc++-v3/docs/html/26_numerics/howto.html b/libstdc++-v3/docs/html/26_numerics/howto.html
index 83614e6d86d2682ec60dd3ecd4a845f1b007886c..e15870f57bf2ec0082e1a1885e7ade4cfac54423 100644
--- a/libstdc++-v3/docs/html/26_numerics/howto.html
+++ b/libstdc++-v3/docs/html/26_numerics/howto.html
@@ -133,7 +133,7 @@
    <p>The C99 features depend on the <code>--enable-c99</code> configure flag.
       This flag is already on by default, but it can be disabled by the
       user.  Also, the configuration machinery will disable it if the
-      neccessary support for C99 (e.g., header files) cannot be found.
+      necessary support for C99 (e.g., header files) cannot be found.
    </p>
    <p>As of GCC 3.0, C99 support includes classification functions
       such as <code>isnormal</code>, <code>isgreater</code>,
diff --git a/libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt b/libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt
index 901701ff4805651e2c5231102f38e489f0c22c29..44c78225306f6396c63d03c8700061331abc2c2f 100644
--- a/libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt
+++ b/libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt
@@ -80,7 +80,7 @@ on the streams level.
 
 When I wrote the above paragraph about confirming your choice, I haven't
 read this question! As I said above: You told us what solution you have
-choosen without stating what problem is solved. We cannot determine
+chosen without stating what problem is solved. We cannot determine
 whether your choice is the right one. Actually, I'm pretty sure it is
 the wrong one but without seen the details I can't be certain.
 --
diff --git a/libstdc++-v3/docs/html/27_io/howto.html b/libstdc++-v3/docs/html/27_io/howto.html
index e83c2e6da49f1846201932f0ea5f17251c8c4929..23489525aa4127a512c44aa36d6e014f4114fb28 100644
--- a/libstdc++-v3/docs/html/27_io/howto.html
+++ b/libstdc++-v3/docs/html/27_io/howto.html
@@ -113,7 +113,7 @@
       when the output stream is, in fact, a terminal and not a file
       or some other device -- and <em>that</em> may not even be true
       since C++ says nothing about files nor terminals.  All of that is
-      system-dependant.  (The &quot;newline-buffer-flushing only occuring
+      system-dependent.  (The &quot;newline-buffer-flushing only occurring
       on terminals&quot; thing is mostly true on Unix systems, though.)
    </p>
    <p>Some people also believe that sending <code>endl</code> down an
@@ -167,7 +167,7 @@
       arguments are the same as those for the Standard C I/O Library
       function (a buffer area followed by its size).
    </p>
-   <p>A great deal of this is implementation-dependant.  For example,
+   <p>A great deal of this is implementation-dependent.  For example,
       <code>streambuf</code> does not specify any actions for its own 
       <code>setbuf()</code>-ish functions; the classes derived from
       <code>streambuf</code> each define behavior that &quot;makes 
@@ -183,7 +183,7 @@
    <p>A last reminder:  there are usually more buffers involved than
       just those at the language/library level.  Kernel buffers, disk
       buffers, and the like will also have an effect.  Inspecting and
-      changing those are system-dependant.
+      changing those are system-dependent.
    </p>
    <p>Return <a href="#top">to top of page</a> or
       <a href="../faq/index.html">to the FAQ</a>.
@@ -445,7 +445,7 @@
       </pre>
    </p>
    <p>You must do this before performing any I/O via the C++ stream objects.
-      Once you call this, the C++ streams will operate independantly of the
+      Once you call this, the C++ streams will operate independently of the
       (unused) C streams.  For GCC 3.0, this means that <code>cout</code> and
       company will become fully buffered on their own.
    </p>
diff --git a/libstdc++-v3/docs/html/ext/sgiexts.html b/libstdc++-v3/docs/html/ext/sgiexts.html
index 62db99c0e4a6ee15138168a309a4cf3cf71c88cd..636f9f8b83b34c24b4648bcc8d1ada0ca4875fa7 100644
--- a/libstdc++-v3/docs/html/ext/sgiexts.html
+++ b/libstdc++-v3/docs/html/ext/sgiexts.html
@@ -25,7 +25,7 @@ libstdc++-v3</a></h1>
    for a description).  Not every chapter may have extensions, and the
    extensions may come and go.  Also, this page is incomplete because the
    author is pressed for time.  Check back often; the latest change was on
-   $Date: 2001/10/09 20:18:13 $ (UTC).
+   $Date: 2001/10/11 18:41:47 $ (UTC).
 </p>
 
 <p>Descriptions range from the scanty to the verbose.  You should also check
@@ -83,7 +83,7 @@ libstdc++-v3</a></h1>
 
 <hr>
 <a name="ch23"><h3>Chapter 23</h3></a>
-<p>A few extensions and nods to backwards-compatability have been made with
+<p>A few extensions and nods to backwards-compatibility have been made with
    containers.  Those dealing with older SGI-style allocators are dealt with
    elsewhere.  The remaining ones all deal with bits:
 </p>
diff --git a/libstdc++-v3/docs/html/faq/index.html b/libstdc++-v3/docs/html/faq/index.html
index e7da17e30831ce273fbd1b0820adaf1767d0883c..7b5878553722dbd0c3f6d3b1f4f111a7638e0b0c 100644
--- a/libstdc++-v3/docs/html/faq/index.html
+++ b/libstdc++-v3/docs/html/faq/index.html
@@ -137,7 +137,7 @@ http://gcc.gnu.org/onlinedocs/libstdc++/faq/</a>.</p>
          (such as <code>string</code>, <code>vector&lt;&gt;</code>, iostreams,
          and algorithms) will be freely available and fully compliant.
          Programmers will no longer need to &quot;roll their own&quot;
-         nor be worried about platform-specific incompatabilities.
+         nor be worried about platform-specific incompatibilities.
       </p>
 
 <hr>
@@ -390,7 +390,7 @@ which is no longer available, thanks deja...-->
       </p>
       <p>Since the goal of ISO Standardization is for all C++
          implementations to be able to share code, the final libstdc++
-         should, in theory, be useable under any ISO-compliant
+         should, in theory, be usable under any ISO-compliant
          compiler.  It will still be targeted and optimized for
          GCC/g++, however.
       </p> 
diff --git a/libstdc++-v3/docs/html/faq/index.txt b/libstdc++-v3/docs/html/faq/index.txt
index 4b7487b86dde43b1cca135fe6a768b2b53b62136..9aff7fb2d67b49fa233114bc106e1eda5599bffb 100644
--- a/libstdc++-v3/docs/html/faq/index.txt
+++ b/libstdc++-v3/docs/html/faq/index.txt
@@ -89,7 +89,7 @@
    That means that all of the Standard classes and functions (such as
    string, vector<>, iostreams, and algorithms) will be freely available
    and fully compliant. Programmers will no longer need to "roll their
-   own" nor be worried about platform-specific incompatabilities.
+   own" nor be worried about platform-specific incompatibilities.
      _________________________________________________________________
 
 1.3 Who's in charge of it?
@@ -314,7 +314,7 @@
 
    Since the goal of ISO Standardization is for all C++ implementations
    to be able to share code, the final libstdc++ should, in theory, be
-   useable under any ISO-compliant compiler. It will still be targeted
+   usable under any ISO-compliant compiler. It will still be targeted
    and optimized for GCC/g++, however.
      _________________________________________________________________
 
diff --git a/libstdc++-v3/include/bits/basic_file.h b/libstdc++-v3/include/bits/basic_file.h
index e7c220a3801ee765a0262f5c86b8279012484c6d..aa624eec448e4664711902d0ce5dd6214d4df529 100644
--- a/libstdc++-v3/include/bits/basic_file.h
+++ b/libstdc++-v3/include/bits/basic_file.h
@@ -254,7 +254,7 @@ namespace std
     };
 } // namespace std
 
-// Now include the bits that are dependant on the underlying I/O
+// Now include the bits that are dependent on the underlying I/O
 // model chosen at configure time.
 #include <bits/basic_file_model.h>
 
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index 05b54c55cf5cadd0f8869020865eeb0087d0c8f2..8ea0ed547ef9b0a092bf1fa84a5a16f68e78d760 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -502,7 +502,7 @@ namespace std
 
       ~_Format_cache() throw() { }
 
-      // Given a member of the ios heirarchy as an argument, extract
+      // Given a member of the ios hierarchy as an argument, extract
       // out all the current formatting information into a
       // _Format_cache object and return a pointer to it.
       static _Format_cache<_CharT>* 
diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc
index 0fe180b348699532a3de7ec84a01f3a89344c313..b4c7f7c69e741d06418cbfde716471a5a0cc9791 100644
--- a/libstdc++-v3/include/bits/locale_facets.tcc
+++ b/libstdc++-v3/include/bits/locale_facets.tcc
@@ -1841,7 +1841,7 @@ namespace std
       // NB: In IEE 1003.1-200x, and perhaps other locale models, it
       // is possible that the format character will be longer than one
       // character. Possibilities include 'E' or 'O' followed by a
-      // format charcter: if __mod is not the default argument, assume
+      // format character: if __mod is not the default argument, assume
       // it's a valid modifier.
       char_type __fmt[4];
       __fmt[0] = __ctype.widen('%'); 
diff --git a/libstdc++-v3/include/bits/std_sstream.h b/libstdc++-v3/include/bits/std_sstream.h
index 1b8d5eff9472f6b4e5dc8a4dc0742b96615d4b09..d36070a8abe7fed70d35c0f82644607039e9b343 100644
--- a/libstdc++-v3/include/bits/std_sstream.h
+++ b/libstdc++-v3/include/bits/std_sstream.h
@@ -90,7 +90,7 @@ namespace std
 	if (_M_mode & ios_base::out)
 	  {
 	    // This is the deal: _M_string.size() is a value that
-	    // represents the size of the intial string that makes
+	    // represents the size of the initial string that makes
 	    // _M_string, and may not be the correct size of the
 	    // current stringbuf internal buffer.
 	    __size_type __len = _M_string.size();
diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
index b8f45688a58f42d8e2aa48b5e434a50a1d005497..4d15517845fa165bc01f28931edc29b1aa0ca305 100644
--- a/libstdc++-v3/include/ext/ropeimpl.h
+++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -977,7 +977,7 @@ rope<_CharT,_Alloc>::_S_flatten(_RopeRep* __r, _CharT* __buffer)
 	    }
 	case _RopeRep::_S_function:
 	case _RopeRep::_S_substringfn:
-	    // We dont yet do anything with substring nodes.
+	    // We don't yet do anything with substring nodes.
 	    // This needs to be fixed before ropefiles will work well.
 	    {
 		_RopeFunction* __f = (_RopeFunction*)__r;
diff --git a/libstdc++-v3/include/ext/stl_rope.h b/libstdc++-v3/include/ext/stl_rope.h
index 00db893c92378ffec6d8b942c7cc118261526183..72bdeb3437303742d35818043646a2d5aab960f9 100644
--- a/libstdc++-v3/include/ext/stl_rope.h
+++ b/libstdc++-v3/include/ext/stl_rope.h
@@ -340,7 +340,7 @@ identity_element(_Rope_Concat_fn<_CharT, _Alloc>)
 // that doesn't work, since it makes it impossible to define generic
 // equality on rope iterators.  According to the draft standard, the
 // template parameters for such an equality operator cannot be inferred
-// from the occurence of a member class as a parameter.
+// from the occurrence of a member class as a parameter.
 // (SGI compilers in fact allow this, but the __result wouldn't be
 // portable.)
 // Similarly, some of the static member functions are member functions
@@ -543,7 +543,7 @@ struct _Rope_RopeLeaf : public _Rope_RopeRep<_CharT,_Alloc> {
   public:
     // Apparently needed by VC++
     // The data fields of leaves are allocated with some
-    // extra space, to accomodate future growth and for basic
+    // extra space, to accommodate future growth and for basic
     // character types, to hold a trailing eos character.
     enum { _S_alloc_granularity = 8 };
     static size_t _S_rounded_up_size(size_t __n) {
@@ -845,7 +845,7 @@ class _Rope_iterator_base
   public:
     typedef _Alloc _allocator_type; // used in _Rope_rotate, VC++ workaround
     typedef _Rope_RopeRep<_CharT,_Alloc> _RopeRep;
-        // Borland doesnt want this to be protected.
+        // Borland doesn't want this to be protected.
   protected:
     enum { _S_path_cache_len = 4 }; // Must be <= 9.
     enum { _S_iterator_buf_len = 15 };
@@ -1321,7 +1321,7 @@ class rope : public _Rope_base<_CharT,_Alloc> {
                                           const _CharT* __iter, size_t __slen)
                 // As above, but one reference to __r is about to be
                 // destroyed.  Thus the pieces may be recycled if all
-                // relevent reference counts are 1.
+                // relevant reference counts are 1.
 #           ifdef __GC
                 // We can't really do anything since refcounts are unavailable.
                 { return _S_concat_char_iter(__r, __iter, __slen); }
diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h
index e695ce5a2239fd339efb2b72ef7b850dea344fe4..dd6b774116e1645937f525bb686b28add5296f0c 100644
--- a/libstdc++-v3/libsupc++/cxxabi.h
+++ b/libstdc++-v3/libsupc++/cxxabi.h
@@ -45,7 +45,7 @@
 #ifdef __cplusplus
 
 // We use the compiler builtins __SIZE_TYPE__ and __PTRDIFF_TYPE__ instead of
-// std::size_t and std::ptrdiff_t respectively. This makes us independant of
+// std::size_t and std::ptrdiff_t respectively. This makes us independent of
 // the conformance level of <cstddef> and whether -fhonor-std was supplied.
 // <cstddef> is not currently available during compiler building anyway.
 // Including <stddef.h> would be wrong, as that would rudely place size_t in
@@ -363,7 +363,7 @@ protected:
 class __vmi_class_type_info : public __class_type_info {
 /* abi defined member variables */
 public:
-  unsigned int __flags;         /* details about the class heirarchy */
+  unsigned int __flags;         /* details about the class hierarchy */
   unsigned int __base_count;    /* number of direct bases */
   __base_class_info const __base_info[1]; /* array of bases */
   /* The array of bases uses the trailing array struct hack
diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc
index a8e9ba34557aa282a5193145b4ccdbc98f2ad0ad..407b829f24b15278023b89eacb3c596074d384ea 100644
--- a/libstdc++-v3/libsupc++/eh_throw.cc
+++ b/libstdc++-v3/libsupc++/eh_throw.cc
@@ -40,7 +40,7 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc)
 {
   __cxa_exception *header = __get_exception_header_from_ue (exc);
 
-  // If we havn't been caught by a foreign handler, then this is
+  // If we haven't been caught by a foreign handler, then this is
   // some sort of unwind error.  In that case just die immediately.
   if (code != _URC_FOREIGN_EXCEPTION_CAUGHT)
     __terminate (header->terminateHandler);
diff --git a/libstdc++-v3/libsupc++/tinfo.cc b/libstdc++-v3/libsupc++/tinfo.cc
index 732609cf0482b48f710d4d77dfe7a258cd6428d8..8559a25a0391460300974308e8a0614effad3822 100644
--- a/libstdc++-v3/libsupc++/tinfo.cc
+++ b/libstdc++-v3/libsupc++/tinfo.cc
@@ -172,12 +172,12 @@ __vmi_class_type_info::
 {}
 
 // __upcast_result is used to hold information during traversal of a class
-// heirarchy when catch matching.
+// hierarchy when catch matching.
 struct __class_type_info::__upcast_result
 {
   const void *dst_ptr;        // pointer to caught object
   __sub_kind part2dst;        // path from current base to target
-  int src_details;            // hints about the source type heirarchy
+  int src_details;            // hints about the source type hierarchy
   const __class_type_info *base_type; // where we found the target,
                               // if in vbase the __class_type_info of vbase
                               // if a non-virtual base then 1
@@ -189,14 +189,14 @@ struct __class_type_info::__upcast_result
 };
 
 // __dyncast_result is used to hold information during traversal of a class
-// heirarchy when dynamic casting.
+// hierarchy when dynamic casting.
 struct __class_type_info::__dyncast_result
 {
   const void *dst_ptr;        // pointer to target object or NULL
   __sub_kind whole2dst;       // path from most derived object to target
   __sub_kind whole2src;       // path from most derived object to sub object
   __sub_kind dst2src;         // path from target to sub object
-  int whole_details;          // details of the whole class heirarchy
+  int whole_details;          // details of the whole class hierarchy
   
   public:
   __dyncast_result (int details_ = __vmi_class_type_info::__flags_unknown_mask)
@@ -483,7 +483,7 @@ __do_dyncast (ptrdiff_t src2dst,
                   || !(result.whole_details & __diamond_shaped_mask)))
             {
               // We already found SRC_PTR as a base of most derived, and
-              // either it was non-virtual, or the whole heirarchy is
+              // either it was non-virtual, or the whole hierarchy is
               // not-diamond shaped. Therefore if it is in either choice, it
               // can only be in one of them, and we will already know.
               if (old_sub_kind == __unknown)
diff --git a/libstdc++-v3/libsupc++/typeinfo b/libstdc++-v3/libsupc++/typeinfo
index a1d62c3d79143e55495f917bb1d26845489a85c5..3d9afc90470a59b7f84a4797b046194eedb50538 100644
--- a/libstdc++-v3/libsupc++/typeinfo
+++ b/libstdc++-v3/libsupc++/typeinfo
@@ -90,7 +90,7 @@ namespace std
     // type. Uniqueness must use the _name value, not object address.
     bool operator==(const type_info& __arg) const;
 #else
-    /** Returns true if @c *this preceeds @c __arg in the implementation's
+    /** Returns true if @c *this precedes @c __arg in the implementation's
      *  collation order.  */
     // In new abi we can rely on type_info's NTBS being unique,
     // and therefore address comparisons are sufficient.
diff --git a/libstdc++-v3/testsuite/24_iterators/iterator.cc b/libstdc++-v3/testsuite/24_iterators/iterator.cc
index a5a6974f80ad3805de54d613abfc0464bf8800d0..98aa8c0b2589fa250fdf2db045d97396eaf3793e 100644
--- a/libstdc++-v3/testsuite/24_iterators/iterator.cc
+++ b/libstdc++-v3/testsuite/24_iterators/iterator.cc
@@ -1,4 +1,4 @@
-// 24.1.5 Random accesss iterators
+// 24.1.5 Random access iterators
 // 24.3.1 Iterator traits
 // (basic_string and vector implementations)
 //