about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--INSTALL2
-rw-r--r--Makerules2
-rw-r--r--NEWS32
-rw-r--r--argp/argp-help.c2
-rw-r--r--argp/argp-parse.c2
-rw-r--r--argp/tst-argp1.c2
-rw-r--r--benchtests/bench-pthread-locks.c4
-rw-r--r--benchtests/bench-util.c4
-rwxr-xr-xbenchtests/scripts/plot_strings.py2
-rw-r--r--bits/siginfo-consts.h2
-rw-r--r--bits/socket.h2
-rw-r--r--configure.ac2
-rw-r--r--crypt/badsalttest.c2
-rw-r--r--crypt/crypt_util.c2
-rw-r--r--csu/check_fds.c2
-rw-r--r--csu/init-first.c2
-rw-r--r--debug/explicit_bzero_chk.c2
-rw-r--r--debug/pcprofiledump.c2
-rw-r--r--debug/tst-fortify.c2
-rw-r--r--dlfcn/moddummy2.c2
-rw-r--r--gmon/mcount.c2
-rw-r--r--grp/initgroups.c2
-rw-r--r--hesiod/README.hesiod2
-rw-r--r--htl/Makefile2
-rw-r--r--htl/pt-create.c2
-rw-r--r--htl/pt-internal.h2
-rw-r--r--hurd/fd-close.c2
-rw-r--r--hurd/hurd/signal.h2
-rw-r--r--hurd/hurdexec.c2
-rw-r--r--hurd/hurdsig.c2
-rw-r--r--hurd/lookup-retry.c2
-rw-r--r--include/alloc_buffer.h2
-rw-r--r--include/arpa/nameser.h2
-rw-r--r--include/file_change_detection.h2
-rw-r--r--include/libc-pointer-arith.h2
-rw-r--r--include/libc-symbols.h6
-rw-r--r--include/printf_buffer.h2
-rw-r--r--include/sys/socket.h4
-rw-r--r--inet/arpa/inet.h2
-rw-r--r--inet/idna_name_classify.c2
-rw-r--r--inet/netinet/igmp.h2
-rw-r--r--inet/rexec.c2
-rw-r--r--io/file_change_detection.c2
-rw-r--r--io/tst-fts.c2
-rw-r--r--libio/oldfmemopen.c2
-rw-r--r--libio/tst-fopenloc.c2
-rw-r--r--libio/tst-memstream.h2
-rw-r--r--libio/tst-setvbuf1.c2
-rw-r--r--libio/tst-vtables-interposed.c2
-rw-r--r--libio/tst-wmemstream3.c2
-rw-r--r--login/programs/utmpdump.c2
-rw-r--r--login/utmp_file.c2
-rw-r--r--mach/Machrules2
-rw-r--r--mach/errorlib.h2
-rw-r--r--malloc/arena.c2
-rw-r--r--malloc/malloc-debug.c2
-rw-r--r--malloc/malloc.c16
-rw-r--r--malloc/tst-mallocfork2.c4
-rw-r--r--malloc/tst-mallocfork3.c2
-rw-r--r--malloc/tst-mallocstate.c2
-rw-r--r--math/bits/mathcalls.h2
-rw-r--r--math/fenv.h2
-rw-r--r--math/libm-test-support.c2
-rw-r--r--math/math.h2
-rw-r--r--math/test-fenv.c2
-rw-r--r--math/tgmath.h2
-rw-r--r--misc/hsearch_r.c2
-rw-r--r--misc/preadv64v2.c2
-rw-r--r--misc/pwritev64v2.c2
-rw-r--r--misc/search.h2
-rw-r--r--misc/tst-efgcvt-template.c4
-rw-r--r--misc/tst-mntent-blank-corrupt.c2
-rw-r--r--nptl/TODO6
-rw-r--r--nptl/descr.h2
-rw-r--r--nptl/futex-internal.c2
-rw-r--r--nptl/perf.c4
-rw-r--r--nptl/pthread_cond_common.c2
-rw-r--r--nptl/pthread_cond_wait.c4
-rw-r--r--nptl/pthread_create.c2
-rw-r--r--nptl/pthread_getattr_np.c2
-rw-r--r--nptl/pthread_mutex_lock.c4
-rw-r--r--nptl/sem_waitcommon.c2
-rw-r--r--nptl/tst-dlsym1.c2
-rw-r--r--nptl/tst-rwlock20.c2
-rw-r--r--nptl/tst-stack4.c4
-rw-r--r--nptl/tst-tls3.c2
-rw-r--r--nptl/tst-tsd3.c6
-rw-r--r--nptl/tst-tsd4.c4
-rw-r--r--nptl_db/td_thr_get_info.c2
-rw-r--r--nptl_db/thread_dbP.h2
-rw-r--r--nscd/connections.c6
-rw-r--r--nscd/initgrcache.c2
-rw-r--r--nscd/nscd-client.h2
-rw-r--r--nscd/nscd.c2
-rw-r--r--nscd/nscd_helper.c4
-rw-r--r--nscd/nscd_setup_thread.c2
-rw-r--r--nscd/nscd_stat.c2
-rw-r--r--nss/nss_compat/compat-grp.c2
-rw-r--r--nss/nss_compat/compat-pwd.c2
-rw-r--r--nss/nss_compat/compat-spwd.c2
-rw-r--r--nss/nss_database.c2
-rw-r--r--nss/nss_db/db-open.c2
-rw-r--r--nss/nss_db/nss_db.h2
-rw-r--r--nss/nss_files/files-network.c2
-rw-r--r--nss/nss_parse_line_result.c2
-rw-r--r--nss/nsswitch.conf2
-rw-r--r--nss/test-netdb.c2
-rw-r--r--posix/BOOST.tests4
-rw-r--r--posix/PTESTS2
-rw-r--r--posix/globtest.c2
-rw-r--r--posix/regexbug1.c4
-rw-r--r--posix/runptests.c2
-rw-r--r--posix/runtests.c2
-rw-r--r--posix/rxspencer/tests2
-rw-r--r--posix/spawn.h2
-rw-r--r--posix/tst-exec.c2
-rw-r--r--posix/tst-execveat.c4
-rw-r--r--posix/tst-glob_lstat_compat.c2
-rw-r--r--posix/tst-pcre.c2
-rw-r--r--posix/tst-posix_fadvise-common.c2
-rw-r--r--posix/tst-regcomp-truncated.c2
-rw-r--r--posix/tst-regex.c4
-rw-r--r--posix/tst-regex.input50
-rw-r--r--posix/tst-spawn5.c2
-rw-r--r--posix/wordexp.c4
-rw-r--r--resolv/arpa/nameser_compat.h4
-rw-r--r--resolv/bits/types/res_state.h2
-rw-r--r--resolv/gai_misc.c4
-rw-r--r--resolv/gai_misc.h2
-rw-r--r--resolv/inet_net_pton.c2
-rw-r--r--resolv/inet_pton.c2
-rw-r--r--resolv/ns_print.c2
-rw-r--r--resolv/ns_rr_cursor_next.c2
-rw-r--r--resolv/nss_dns/dns-host.c6
-rw-r--r--resolv/res-noaaaa.c2
-rw-r--r--resolv/resolv-internal.h2
-rw-r--r--resolv/resolv.h2
-rw-r--r--resolv/resolv_conf.c6
-rw-r--r--resolv/resolv_context.c2
-rw-r--r--resolv/resolv_context.h2
-rw-r--r--resolv/tst-resolv-canonname.c2
-rw-r--r--resolv/tst-resolv-edns.c2
-rw-r--r--resolv/tst-resolv-qtypes.c2
-rw-r--r--resolv/tst-resolv-res_init-skeleton.c4
-rw-r--r--resolv/tst-resolv-res_ninit.c4
-rw-r--r--rt/aio.h2
-rw-r--r--rt/aio_cancel.c2
-rw-r--r--rt/aio_misc.c2
-rw-r--r--rt/timer_create.c2
-rw-r--r--rt/timer_gettime.c2
-rw-r--r--rt/tst-mqueue2.c4
-rw-r--r--rt/tst-mqueue3.c4
-rw-r--r--rt/tst-mqueue4.c2
-rw-r--r--rt/tst-mqueue5.c2
-rw-r--r--scripts/dso-ordering-test.py2
-rw-r--r--scripts/glibcelf.py2
-rw-r--r--scripts/glibcpp.py6
-rw-r--r--scripts/pylintrc2
-rw-r--r--socket/sys/socket.h2
-rw-r--r--stdio-common/printf_fphex.c2
-rw-r--r--stdio-common/tst-fmemopen2.c2
-rw-r--r--stdio-common/tst-fmemopen3.c6
-rw-r--r--stdio-common/tst-printf-bz25691.c2
-rw-r--r--stdio-common/tst-sscanf.c2
-rw-r--r--stdio-common/vfscanf-internal.c6
-rw-r--r--stdlib/inttypes.h2
-rw-r--r--stdlib/lldiv.c2
-rw-r--r--stdlib/longlong.h2
-rw-r--r--stdlib/tst-arc4random-stats.c2
-rw-r--r--stdlib/tst-arc4random-thread.c2
-rw-r--r--stdlib/tst-canon-bz26341.c2
-rw-r--r--stdlib/tst-random.c6
-rw-r--r--stdlib/tst-setcontext.c2
-rw-r--r--string/memcmpeq.c2
-rw-r--r--string/strcoll_l.c2
-rw-r--r--string/test-memcmp.c2
-rw-r--r--string/test-strcasecmp.c2
-rw-r--r--string/test-strcmp.c2
-rw-r--r--string/test-strncasecmp.c2
-rw-r--r--string/test-strncmp.c2
-rw-r--r--string/test-strnlen.c2
-rw-r--r--string/tst-memmove-overflow.c2
-rw-r--r--sunrpc/key_call.c2
-rw-r--r--sunrpc/rpc/clnt.h4
-rw-r--r--sunrpc/tst-svc_register.c2
-rw-r--r--sunrpc/xdr_rec.c2
-rw-r--r--sunrpc/xdr_ref.c2
-rw-r--r--support/Makefile2
-rw-r--r--support/README2
-rw-r--r--support/delayed_exit.c2
-rw-r--r--support/resolv_test.c10
-rw-r--r--support/resolv_test.h4
-rw-r--r--support/support_record_failure.c2
-rw-r--r--support/support_test_main.c2
-rw-r--r--support/temp_file.c2
-rw-r--r--support/test-container.c10
-rw-r--r--support/tst-timespec.c16
-rw-r--r--sysvipc/semop.c2
-rw-r--r--sysvipc/semtimedop.c2
-rw-r--r--time/asctime.c2
-rw-r--r--time/tst-clock.c2
-rw-r--r--time/tst-difftime.c2
-rw-r--r--time/tst-strptime2.c2
-rw-r--r--time/tzfile.c2
-rw-r--r--wcsmbs/tst-btowc.c2
-rw-r--r--wcsmbs/tst-mbrtowc.c6
206 files changed, 313 insertions, 313 deletions
diff --git a/INSTALL b/INSTALL
index 91262cfe00..6d51475536 100644
--- a/INSTALL
+++ b/INSTALL
@@ -469,7 +469,7 @@ build the GNU C Library:
 
    * GNU 'make' 4.0 or newer
 
-     As of relase time, GNU 'make' 4.4 is the newest verified to work to
+     As of release time, GNU 'make' 4.4 is the newest verified to work to
      build the GNU C Library.
 
    * GCC 6.2 or newer
diff --git a/Makerules b/Makerules
index 31064470e5..2ccf26d320 100644
--- a/Makerules
+++ b/Makerules
@@ -200,7 +200,7 @@ endif
 ifndef subdir
 # If a makefile needs to do something conditional on something that
 # can only be figured out from headers, write a FOO.make.c input
-# file that uses cpp contructs and contains @@@ LINE @@@ for each LINE
+# file that uses cpp constructs and contains @@@ LINE @@@ for each LINE
 # to emit in the generated makefile, and use -include $(common-objpfx)FOO.make.
 #
 # We only generate these in the top-level makefile, to avoid any weirdness
diff --git a/NEWS b/NEWS
index a52c17c677..23051cf139 100644
--- a/NEWS
+++ b/NEWS
@@ -183,7 +183,7 @@ Major new features:
 
 * On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions
   have been added.  The pidfd functionality provides access to a process
-  while avoiding the issue of PID reuse on tranditional Unix systems.
+  while avoiding the issue of PID reuse on traditional Unix systems.
 
 * On Linux, the process_madvise function has been added. It has the
   same functionality as madvise but alters the target process identified
@@ -288,7 +288,7 @@ The following bugs are resolved with this release:
     inaccurate without /sys and /proc
   [28868] dynamic-link: Dynamic loader DFS algorithm segfaults on
     missing libraries
-  [28880] libc: Program crashes if date beyone 2038
+  [28880] libc: Program crashes if date beyond 2038
   [28883] libc: sysdeps/unix/sysv/linux/select.c: __select64
     !__ASSUME_TIME64_SYSCALLS && !__ASSUME_PSELECT fails on Microblaze
   [28896] string: strncmp-avx2-rtm and wcsncmp-avx2-rtm fallback on non-
@@ -529,7 +529,7 @@ Changes to build and runtime requirements:
 * The audit module interface version LAV_CURRENT is increased to enable
   proper bind-now support.  The loader now advertises via the la_symbind
   flags that PLT trace is not possible.  New audit modules require the
-  new dynamic loader supporing the latest LAV_CURRENT version. Old audit
+  new dynamic loader supporting the latest LAV_CURRENT version. Old audit
   modules are still loaded for all targets except aarch64.
 
 * The audit interface on aarch64 is extended to support both the indirect
@@ -765,7 +765,7 @@ Major new features:
   to configure the size of the thread stack cache.
 
 * The function _Fork has been added as an async-signal-safe fork replacement
-  since Austin Group issue 62 droped the async-signal-safe requirement for
+  since Austin Group issue 62 dropped the async-signal-safe requirement for
   fork (and it will be included in the future POSIX standard).  The new _Fork
   function does not run any atfork function neither resets any internal state
   or lock (such as the malloc one), and only sets up a minimal state required
@@ -1122,7 +1122,7 @@ Changes to build and runtime requirements:
 
 * On Linux, the system administrator needs to configure /dev/pts with
   the intended access modes for pseudo-terminals.  glibc no longer
-  attemps to adjust permissions of terminal devices.  The previous glibc
+  attempts to adjust permissions of terminal devices.  The previous glibc
   defaults ("tty" group, user read/write and group write) already
   corresponded to what most systems used, so that grantpt did not
   perform any adjustments.
@@ -1183,7 +1183,7 @@ The following bugs are resolved with this release:
   [26100] libc: Race in syslog(3) with regards to tag printing.
   [26124] libc: Export <cpu-features.h>
   [26130] nscd: Inconsistent nscd cache during pruning
-  [26203] libc: GLRO(dl_x86_cpu_features) may not be intialized
+  [26203] libc: GLRO(dl_x86_cpu_features) may not be initialized
   [26224] locale: iconv hangs when converting some invalid inputs from
     several IBM character sets (CVE-2020-27618)
   [26341] libc: realpath cyclically call __alloca(path_max) to consume
@@ -1472,7 +1472,7 @@ The following bugs are resolved with this release:
   [20338] libc: Parsing of /etc/gshadow can return bad pointers causing
     segfaults in applications
   [20543] libc: Please move from .gnu.linkonce to comdat
-  [22489] network: gcc warns about implicit convertion in
+  [22489] network: gcc warns about implicit conversion in
     ICMP6_FILTER_SETPASS with -Wsign-conversion
   [22525] localedata: or_IN  LC_COLLATE does not use copy "iso14651_t1"
   [23294] math: Complex _FloatN functions are redirected to the wrong
@@ -3513,7 +3513,7 @@ The following bugs are resolved with this release:
     frame-pointer on i386
   [21049] libc: segfault in longjmp_chk() due to clobbered processor
     register
-  [21075] libc: unused assigment to %g4 in sparc/sparc{64,32}/clone.S
+  [21075] libc: unused assignment to %g4 in sparc/sparc{64,32}/clone.S
   [21088] libc: Build fails with --enable-static-nss
   [21094] math: cosf(1.57079697) has 3 ulp error on targets where the
     generic c code is used
@@ -3920,7 +3920,7 @@ The following bugs are resolved with this release:
   [17730] malloc: thread-local storage is sometimes improperly free()'d
     after being __libc_memalign()'d
   [18241] stdio: failed fseek on memstream does not set errno and can fail
-    when it shouldnt
+    when it shouldn't
   [18243] nptl: sem_wait, sem_timedwait are cancellation points shm_open is
     not
   [18463] nptl: pthread_cond_broadcast issue when surrounded by
@@ -4384,7 +4384,7 @@ Version 2.23
   glibc 2.10 via --enable-experimental-malloc (2009), could result in the
   unnecessary serialization of memory allocation requests across threads.
   The defect is now corrected.  Users should see a substantial increase in
-  the concurent throughput of allocation requests for applications which
+  the concurrent throughput of allocation requests for applications which
   trigger this bug.  Affected applications typically create and
   destroy threads frequently.  (Bug 19048 was reported and analyzed by
   Ericsson.)
@@ -4462,7 +4462,7 @@ The following bugs are resolved with this release:
   [2898] libc: [improve]  warning: the use  of `mktemp' is dangerous, better
     use `mkstemp'
   [4404] localedata: German translation of "Alarm clock" is misleading
-  [6799] math: nextafter() and nexttoward() doen't set errno on
+  [6799] math: nextafter() and nexttoward() doesn't set errno on
     overflow/underflow errors
   [6803] math: scalb(), scalbln(), scalbn() do not set errno on
     overflow/underflow
@@ -4641,7 +4641,7 @@ The following bugs are resolved with this release:
   [19094] math: lrint, llrint missing exceptions close to overflow threshold
   [19095] math: dbl-64 lrint incorrect for 64-bit long
   [19122] dynamic-link: Unnecessary PLT relocations in librtld.os
-  [19124] dynamic-link: ld.so failed to build with older assmebler
+  [19124] dynamic-link: ld.so failed to build with older assembler
   [19125] math: [powerpc32] llroundf, llround incorrect exceptions
   [19129] dynamic-link: [arm] Concurrent lazy TLSDESC resolution can crash
   [19134] math: [powerpc32] lround, lroundf spurious exceptions
@@ -5809,7 +5809,7 @@ Version 2.8
 * ARG_MAX is not anymore constant on Linux.  Use sysconf(_SC_ARG_MAX).
   Implemented by Ulrich Drepper.
 
-* Faster sqrt and sqrtf implemention for some PPC variants.
+* Faster sqrt and sqrtf implementation for some PPC variants.
   Implemented by Steven Munroe.
 
 Version 2.7
@@ -6090,7 +6090,7 @@ Version 2.3.2
 * The `btowc' function should work at least twice as fast due to
   specialized callbacks in the iconv modules.  Implemented by Bruno Haible.
 
-* With approriate thread add-ons cancelable functions are now implemented
+* With appropriate thread add-ons cancelable functions are now implemented
   in libc.so as well.  No need to call the function in libpthread.  This
   change allowed to finally disable the incorrect and expensive handling
   of weak definition in ld.so.
@@ -6421,7 +6421,7 @@ Version 2.1
 * Eric Youngdale and Ulrich Drepper implemented versioning of objects on
   symbol level.
 
-* Miles Bader provided the `argp' function family to support hierachical
+* Miles Bader provided the `argp' function family to support hierarchical
   command line argument parsing, layered on top of getopt.
 
 * strtod accepts new hexadecimal floating-point format from ISO C 9X.
@@ -6965,7 +6965,7 @@ Version 2.0
 * Ulrich Drepper has contributed a new suite of functions for operation on
   wide-character and multibyte-character strings, in <wchar.h>;
   and classification and case conversion of wide characters, in <wctype.h>.
-  These new functions are conforming to the ISO C, Amendement 1 specification.
+  These new functions are conforming to the ISO C, Amendment 1 specification.
 
 * There is now a second implementation of the standard I/O library available.
   It comes from GNU libg++ as was written by Per Bothner, heavily modified
diff --git a/argp/argp-help.c b/argp/argp-help.c
index aef380a573..d019ed58d2 100644
--- a/argp/argp-help.c
+++ b/argp/argp-help.c
@@ -1560,7 +1560,7 @@ argp_args_usage (const struct argp *argp, const struct argp_state *state,
 }
 
 /* Print the documentation for ARGP to STREAM; if POST is false, then
-   everything preceeding a `\v' character in the documentation strings (or
+   everything preceding a `\v' character in the documentation strings (or
    the whole string, for those with none) is printed, otherwise, everything
    following the `\v' character (nothing for strings without).  Each separate
    bit of documentation is separated a blank line, and if PRE_BLANK is true,
diff --git a/argp/argp-parse.c b/argp/argp-parse.c
index 1711684294..a44b50f8e4 100644
--- a/argp/argp-parse.c
+++ b/argp/argp-parse.c
@@ -228,7 +228,7 @@ struct group
      particular short options is from.  */
   char *short_end;
 
-  /* The number of non-option args sucessfully handled by this parser.  */
+  /* The number of non-option args successfully handled by this parser.  */
   unsigned args_processed;
 
   /* This group's parser's parent's group.  */
diff --git a/argp/tst-argp1.c b/argp/tst-argp1.c
index 4d1c54dc74..766c776b17 100644
--- a/argp/tst-argp1.c
+++ b/argp/tst-argp1.c
@@ -30,7 +30,7 @@
 static const struct argp_option test_options[] =
   {
     { NULL, 0, NULL, 0, "\
-This is a test for threads so we allow ther user to selection the number of \
+This is a test for threads so we allow the user to select the number of \
 threads which are used at any one time.  Independently the total number of \
 rounds can be selected.  This is the total number of threads which will have \
 run when the process terminates:" },
diff --git a/benchtests/bench-pthread-locks.c b/benchtests/bench-pthread-locks.c
index c20bb4f6dd..8d5d6d62c6 100644
--- a/benchtests/bench-pthread-locks.c
+++ b/benchtests/bench-pthread-locks.c
@@ -351,7 +351,7 @@ test_producer_thread (void *v)
 
   for (j = iters; j >= 0; --j)
     {
-      /* Aquire lock on the queue.  */
+      /* Acquire lock on the queue.  */
       pthread_mutex_lock (&m);
       /* if something's already there, wait.  */
       while (queued > 0)
@@ -388,7 +388,7 @@ test_consumer_producer (long iters, int filler)
 
   for (long j = iters; j >= 0; --j)
     {
-      /* Aquire lock on the queue.  */
+      /* Acquire lock on the queue.  */
       pthread_mutex_lock (&m);
       /* Wait for something to be on the queue.  */
       while (queued == 0)
diff --git a/benchtests/bench-util.c b/benchtests/bench-util.c
index d684b78054..4996f8c4ac 100644
--- a/benchtests/bench-util.c
+++ b/benchtests/bench-util.c
@@ -22,12 +22,12 @@ static volatile unsigned int dontoptimize = 0;
 void
 bench_start (void)
 {
-  /* This loop should cause CPU to switch to maximal freqency.
+  /* This loop should cause CPU to switch to maximal frequency.
      This makes subsequent measurement more accurate.  We need a side effect
      to prevent the loop being deleted by compiler.
      This should be enough to cause CPU to speed up and it is simpler than
      running loop for constant time.  This is used when user does not have root
-     access to set a constant freqency.  */
+     access to set a constant frequency.  */
 
   for (int k = 0; k < START_ITER; k++)
     dontoptimize += 23 * dontoptimize + 2;
diff --git a/benchtests/scripts/plot_strings.py b/benchtests/scripts/plot_strings.py
index 1fb934d112..56b98da8a8 100755
--- a/benchtests/scripts/plot_strings.py
+++ b/benchtests/scripts/plot_strings.py
@@ -276,7 +276,7 @@ def plotRecursive(json_iter, routine, ifuncs, bench_variant, title, outpath,
     domain = np.unique(np.array(domain))
     averages = []
 
-    # Compute geometric mean if there are multple timings for each
+    # Compute geometric mean if there are multiple timings for each
     # parameter value.
     for parameter in domain:
         averages.append(gmean(timings[parameter]))
diff --git a/bits/siginfo-consts.h b/bits/siginfo-consts.h
index 8743fd5cf6..98cf3c1416 100644
--- a/bits/siginfo-consts.h
+++ b/bits/siginfo-consts.h
@@ -93,7 +93,7 @@ enum
 {
   BUS_ADRALN = 1,		/* Invalid address alignment.  */
 #  define BUS_ADRALN	BUS_ADRALN
-  BUS_ADRERR,			/* Non-existant physical address.  */
+  BUS_ADRERR,			/* Non-existent physical address.  */
 #  define BUS_ADRERR	BUS_ADRERR
   BUS_OBJERR			/* Object specific hardware error.  */
 #  define BUS_OBJERR	BUS_OBJERR
diff --git a/bits/socket.h b/bits/socket.h
index 1b5938e9ad..a22ff3b07b 100644
--- a/bits/socket.h
+++ b/bits/socket.h
@@ -143,7 +143,7 @@ enum __socket_type
 #define	AF_MAX		PF_MAX
 
 /* Maximum queue length specifiable by listen.  */
-#define SOMAXCONN	128	/* 5 on the origional 4.4 BSD.  */
+#define SOMAXCONN	128	/* 5 on the original 4.4 BSD.  */
 
 /* Get the definition of the macro to define the common sockaddr members.  */
 #include <bits/sockaddr.h>
diff --git a/configure.ac b/configure.ac
index 88df3e5eed..21879c933c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1372,7 +1372,7 @@ AC_SUBST(libc_cv_mtls_dialect_gnu2)
 LIBC_CONFIG_VAR([have-mtls-dialect-gnu2], [$libc_cv_mtls_dialect_gnu2])
 
 dnl clang emits an warning for a double alias redirection, to warn the
-dnl original symbol is sed even when weak definition overriddes it.
+dnl original symbol is sed even when weak definition overrides it.
 dnl It is a usual pattern for weak_alias, where multiple alias point to
 dnl same symbol.
 AC_CACHE_CHECK([if -Wno-ignored-attributes is required for aliases],
diff --git a/crypt/badsalttest.c b/crypt/badsalttest.c
index b8239a695b..5e1c65d5c2 100644
--- a/crypt/badsalttest.c
+++ b/crypt/badsalttest.c
@@ -29,7 +29,7 @@ static const char *tests[][2] =
     { "first char bad", "!x" },
     { "second char bad", "Z%" },
     { "both chars bad", ":@" },
-    { "un$upported algorithm", "$2$" },
+    { "unsupported algorithm", "$2$" },
     { "unsupported_algorithm", "_1" },
   };
 
diff --git a/crypt/crypt_util.c b/crypt/crypt_util.c
index d095ab04a4..daca4f72dc 100644
--- a/crypt/crypt_util.c
+++ b/crypt/crypt_util.c
@@ -204,7 +204,7 @@ static const ufc_long longmask[32] = {
  * do_pc1: permform pc1 permutation in the key schedule generation.
  *
  * The first   index is the byte number in the 8 byte ASCII key
- *  -  second    -      -    the two 28 bits halfs of the result
+ *  -  second    -      -    the two 28 bits halves of the result
  *  -  third     -   selects the 7 bits actually used of each byte
  *
  * The result is kept with 28 bit per 32 bit with the 4 most significant
diff --git a/csu/check_fds.c b/csu/check_fds.c
index de6dd716f9..4402762bd1 100644
--- a/csu/check_fds.c
+++ b/csu/check_fds.c
@@ -68,7 +68,7 @@ check_one_fd (int fd, int mode)
 
 	 Note that the following code assumes that STDIN_FILENO,
 	 STDOUT_FILENO, STDERR_FILENO are the three lowest file
-	 decsriptor numbers, in this order.  */
+	 descriptor numbers, in this order.  */
       struct __stat64_t64 st;
       if (__glibc_unlikely (nullfd != fd)
 	  || __glibc_likely (__fstat64_time64 (fd, &st) != 0)
diff --git a/csu/init-first.c b/csu/init-first.c
index 4544eb6d2c..228bed53cf 100644
--- a/csu/init-first.c
+++ b/csu/init-first.c
@@ -28,7 +28,7 @@
 
 #include <ldsodefs.h>
 
-/* Remember the command line argument and enviroment contents for
+/* Remember the command line argument and environment contents for
    later calls of initializers for dynamic libraries.  */
 int __libc_argc attribute_hidden;
 char **__libc_argv attribute_hidden;
diff --git a/debug/explicit_bzero_chk.c b/debug/explicit_bzero_chk.c
index 4045aef6cb..77a5255ef8 100644
--- a/debug/explicit_bzero_chk.c
+++ b/debug/explicit_bzero_chk.c
@@ -18,7 +18,7 @@
 
 /* This is the generic definition of __explicit_bzero_chk.  The
    __explicit_bzero_chk symbol is used as the implementation of
-   explicit_bzero throughout glibc.  If this file is overriden by an
+   explicit_bzero throughout glibc.  If this file is overridden by an
    architecture, both __explicit_bzero_chk and
    __explicit_bzero_chk_internal have to be defined (the latter not as
    an IFUNC).  */
diff --git a/debug/pcprofiledump.c b/debug/pcprofiledump.c
index 9f98aa8218..0bf3e501f5 100644
--- a/debug/pcprofiledump.c
+++ b/debug/pcprofiledump.c
@@ -108,7 +108,7 @@ main (int argc, char *argv[])
     }
 
   /* Read the first 4-byte word.  It contains the information about
-     the word size and the endianess.  */
+     the word size and the endianness.  */
   uint32_t word;
   if (TEMP_FAILURE_RETRY (read (fd, &word, 4)) != 4)
     error (EXIT_FAILURE, errno, _("cannot read header"));
diff --git a/debug/tst-fortify.c b/debug/tst-fortify.c
index 7850a4e558..9f962f2a75 100644
--- a/debug/tst-fortify.c
+++ b/debug/tst-fortify.c
@@ -1509,7 +1509,7 @@ do_test (void)
       CHK_FAIL_END
 #endif
 
-      /* Bug 29030 regresion check */
+      /* Bug 29030 regression check */
       cp = "HelloWorld";
       if (mbsrtowcs (NULL, &cp, (size_t)-1, &s) != 10)
         FAIL ();
diff --git a/dlfcn/moddummy2.c b/dlfcn/moddummy2.c
index cb4edc8da7..babc8f3380 100644
--- a/dlfcn/moddummy2.c
+++ b/dlfcn/moddummy2.c
@@ -6,7 +6,7 @@ int
 dummy2 (void)
 {
   printf ("Called dummy2()\n");
-  /* If the outer dlopen is not dummy1 (becuase of some error)
+  /* If the outer dlopen is not dummy1 (because of some error)
      then tst-rec-dlopen will see a value of -1 as the returned
      result and fail.  */
   return -1;
diff --git a/gmon/mcount.c b/gmon/mcount.c
index f7180fdb83..07bf060331 100644
--- a/gmon/mcount.c
+++ b/gmon/mcount.c
@@ -91,7 +91,7 @@ _MCOUNT_DECL(frompc, selfpc)	/* _mcount; may be static, inline, etc */
 	   But we can simplify this if we assume the profiling data
 	   is always initialized by the functions in gmon.c.  But
 	   then it is possible to avoid a runtime check and use the
-	   smae `if' as in gmon.c.  So keep these tests in sync.  */
+	   same `if' as in gmon.c.  So keep these tests in sync.  */
 	if ((HASHFRACTION & (HASHFRACTION - 1)) == 0) {
 	  /* avoid integer divide if possible: */
 	    i = frompc >> p->log_hashfraction;
diff --git a/grp/initgroups.c b/grp/initgroups.c
index d8a24628d5..2ebd623d7b 100644
--- a/grp/initgroups.c
+++ b/grp/initgroups.c
@@ -191,7 +191,7 @@ initgroups (const char *user, gid_t group)
   long int limit = __sysconf (_SC_NGROUPS_MAX);
 
   if (limit > 0)
-    /* We limit the size of the intially allocated array.  */
+    /* We limit the size of the initially allocated array.  */
     size = MIN (limit, 64);
   else
     /* No fixed limit on groups.  Pick a starting buffer size.  */
diff --git a/hesiod/README.hesiod b/hesiod/README.hesiod
index 259ce8d447..5c44fae13e 100644
--- a/hesiod/README.hesiod
+++ b/hesiod/README.hesiod
@@ -139,7 +139,7 @@ information like encrypted passwords in the Hesiod database.  There
 are some ways to improve security by using features provided by
 `named' (see the discussion about `secure zones' in the BIND
 documentation), but one should keep in mind that Hesiod was never
-intended to distribute passwords.  In the origional design
+intended to distribute passwords.  In the original design
 authenticating users was the job of the Kerberos service.
 
 
diff --git a/htl/Makefile b/htl/Makefile
index 67a2f7fe72..5de036acfd 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -188,7 +188,7 @@ subdir_install: $(inst_libdir)/libpthread2.a $(inst_libdir)/libpthread_syms.a
 # XXX: These rules are a hack.  But it is better than messing with
 # ../Makeconf at the moment.  Note that the linker scripts
 # $(srcdir)/libpthread.a and $(srcdir)/libpthread_pic.a get overwritten
-# when building in $(srcdir) and not a seperate build directory.
+# when building in $(srcdir) and not a separate build directory.
 $(inst_libdir)/libpthread2.a: $(inst_libdir)/libpthread.a
 	mv $< $@
 	$(INSTALL_DATA) $(srcdir)/libpthread.a $<
diff --git a/htl/pt-create.c b/htl/pt-create.c
index 203b808591..261358696f 100644
--- a/htl/pt-create.c
+++ b/htl/pt-create.c
@@ -199,7 +199,7 @@ __pthread_create_internal (struct __pthread **thread,
   /* Set the new thread's signal mask and set the pending signals to
      empty.  POSIX says: "The signal mask shall be inherited from the
      creating thread.  The set of signals pending for the new thread
-     shall be empty."  If the currnet thread is not a pthread then we
+     shall be empty."  If the current thread is not a pthread then we
      just inherit the process' sigmask.  */
   if (GL (dl_pthread_num_threads) == 1)
     err = __sigprocmask (0, 0, &pthread->init_sigset);
diff --git a/htl/pt-internal.h b/htl/pt-internal.h
index 5179428ce7..6e43f78457 100644
--- a/htl/pt-internal.h
+++ b/htl/pt-internal.h
@@ -303,7 +303,7 @@ extern void __pthread_destroy_specific (struct __pthread *thread);
    structures.  */
 extern error_t __pthread_sigstate_init (struct __pthread *thread);
 
-/* Destroy the signal state data structures associcated with thread
+/* Destroy the signal state data structures associated with thread
    *THREAD.  */
 extern void __pthread_sigstate_destroy (struct __pthread *thread);
 
diff --git a/hurd/fd-close.c b/hurd/fd-close.c
index 91cf95d93a..90be1e66c9 100644
--- a/hurd/fd-close.c
+++ b/hurd/fd-close.c
@@ -33,7 +33,7 @@ _hurd_fd_close (struct hurd_fd *fd)
   else
     {
       /* Clear the descriptor's port cells.
-	 This deallocates the ports if noone else is still using them.  */
+	 This deallocates the ports if no one else is still using them.  */
       _hurd_port_set (&fd->ctty, MACH_PORT_NULL);
       _hurd_port_locked_set (&fd->port, MACH_PORT_NULL);
       err = 0;
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index 89cf7ac87c..96b6fae007 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -146,7 +146,7 @@ extern struct hurd_sigstate *_hurd_global_sigstate;
 extern void _hurd_sigstate_set_global_rcv (struct hurd_sigstate *ss);
 
 /* A thread can either use its own action vector and pending signal set
-   or use the global ones, depending on wether it has been marked as a
+   or use the global ones, depending on whether it has been marked as a
    global receiver. The accessors below take that into account.  */
 
 extern void _hurd_sigstate_lock (struct hurd_sigstate *ss);
diff --git a/hurd/hurdexec.c b/hurd/hurdexec.c
index f8f174e4a2..e358d846c8 100644
--- a/hurd/hurdexec.c
+++ b/hurd/hurdexec.c
@@ -234,7 +234,7 @@ retry:
   __mutex_lock (&_hurd_id.lock);
   err = _hurd_check_ids ();
 
-  /* Avoid leaking the rid_auth port reference to the new progam */
+  /* Avoid leaking the rid_auth port reference to the new program */
   if (_hurd_id.rid_auth != MACH_PORT_NULL)
     {
       __mach_port_deallocate (__mach_task_self (), _hurd_id.rid_auth);
diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
index 313e95aeec..ce56d28520 100644
--- a/hurd/hurdsig.c
+++ b/hurd/hurdsig.c
@@ -917,7 +917,7 @@ post_signal (struct hurd_sigstate *ss,
 			       | __sigmask (SIGTSTP))))
     {
       /* If we would ordinarily stop for a job control signal, but we are
-	 orphaned so noone would ever notice and continue us again, we just
+	 orphaned so no one would ever notice and continue us again, we just
 	 quietly die, alone and in the dark.  */
       detail->code = signo;
       signo = SIGKILL;
diff --git a/hurd/lookup-retry.c b/hurd/lookup-retry.c
index 62f94bbc92..9a9b2718c0 100644
--- a/hurd/lookup-retry.c
+++ b/hurd/lookup-retry.c
@@ -144,7 +144,7 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
 		     refusing symlinks while accepting mount points.
 		     Note that we actually permit something Linux doesn't:
 		     we follow root-owned symlinks; if that is deemed
-		     undesireable, we can add a final check for that
+		     undesirable, we can add a final check for that
 		     one exception to our general translator-based rule.  */
 		  struct stat64 st;
 		  err = __io_stat (*result, &st);
diff --git a/include/alloc_buffer.h b/include/alloc_buffer.h
index 748a5f0dbf..5dcd009405 100644
--- a/include/alloc_buffer.h
+++ b/include/alloc_buffer.h
@@ -304,7 +304,7 @@ __alloc_buffer_next (struct alloc_buffer *buf, size_t align)
 }
 
 /* Like alloc_buffer_alloc, but do not advance the pointer beyond the
-   object (so a subseqent call to alloc_buffer_next or
+   object (so a subsequent call to alloc_buffer_next or
    alloc_buffer_alloc returns the same pointer).  Note that the buffer
    is still aligned according to the requirements of TYPE, potentially
    consuming buffer space.  The effect of this function is similar to
diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h
index 0ef5ab409f..70c634a69d 100644
--- a/include/arpa/nameser.h
+++ b/include/arpa/nameser.h
@@ -126,7 +126,7 @@ ns_rr_cursor_qtype (const struct ns_rr_cursor *c)
   return c->first_rr[-4] * 256 + c->first_rr[-3];
 }
 
-/* Returns the clss of the first and only question (usally C_IN).  */
+/* Returns the clss of the first and only question (usually C_IN).  */
 static inline const int
 ns_rr_cursor_qclass (const struct ns_rr_cursor *c)
 {
diff --git a/include/file_change_detection.h b/include/file_change_detection.h
index 241b45d123..c9b86b727e 100644
--- a/include/file_change_detection.h
+++ b/include/file_change_detection.h
@@ -55,7 +55,7 @@ bool __file_change_detection_for_path (struct file_change_detection *file,
                                        const char *path);
 
 /* Writes file change information for the stream FP to *FILE.  Returns
-   ture on success, false on failure.  If FP is NULL, treat the file
+   true on success, false on failure.  If FP is NULL, treat the file
    as non-existing.  */
 bool __file_change_detection_for_fp (struct file_change_detection *file,
                                      FILE *fp);
diff --git a/include/libc-pointer-arith.h b/include/libc-pointer-arith.h
index 1faf0209c4..aa57e598d5 100644
--- a/include/libc-pointer-arith.h
+++ b/include/libc-pointer-arith.h
@@ -64,7 +64,7 @@
 #define PTR_IS_ALIGNED(base, size) \
   ((((uintptr_t) (base)) & (size - 1)) == 0)
 
-/* Returns the ptrdiff_t diference between P1 and P2.  */
+/* Returns the ptrdiff_t difference between P1 and P2.  */
 #define PTR_DIFF(p1, p2) \
   ((ptrdiff_t)((uintptr_t)(p1) - (uintptr_t)(p2)))
 
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 37c91bb3a4..5794614488 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -338,7 +338,7 @@ for linking")
   _set_symbol_version (real, #name "@@" #version)
 # endif
 
-/* Evalutes to a string literal for VERSION in LIB.  */
+/* Evaluates to a string literal for VERSION in LIB.  */
 # define symbol_version_string(lib, version) \
   _symbol_version_stringify_1 (VERSION_##lib##_##version)
 # define _symbol_version_stringify_1(arg) _symbol_version_stringify_2 (arg)
@@ -712,7 +712,7 @@ for linking")
 
    If you have an implementation for foo which e.g. uses a special hardware
    feature which isn't available on all machines where this libc.so will be
-   used but decideable if available at runtime e.g. via hwcaps, you can provide
+   used but decidable if available at runtime e.g. via hwcaps, you can provide
    two or multiple implementations of foo:
 
    int __foo_default (int __bar)
@@ -765,7 +765,7 @@ for linking")
 			  : __foo_default);
 
    This will define the ifunc'ed symbol foo like above.  The redirection of foo
-   in header file is needed to omit an additional defintion of __GI_foo which
+   in header file is needed to omit an additional definition of __GI_foo which
    would end in a linker error while linking libc.so.  You have to specify
    __redirect_foo as first parameter which is used within libc_ifunc_redirected
    macro in conjunction with typeof to define the ifunc'ed symbol foo.
diff --git a/include/printf_buffer.h b/include/printf_buffer.h
index 4d787e4b2c..21f3882b88 100644
--- a/include/printf_buffer.h
+++ b/include/printf_buffer.h
@@ -156,7 +156,7 @@ void __printf_buffer_pad_1 (struct __printf_buffer *buf,
                             char ch, size_t count) attribute_hidden;
 
 /* __printf_buffer_pad with fast path for no padding.  COUNT is
-   ssize_t to accomodate signed uses in printf and elsewhere.  */
+   ssize_t to accommodate signed uses in printf and elsewhere.  */
 static inline void
 __printf_buffer_pad (struct __printf_buffer *buf, char ch, ssize_t count)
 {
diff --git a/include/sys/socket.h b/include/sys/socket.h
index 6e4cf5077f..b9fbc4925c 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -44,7 +44,7 @@ extern ssize_t __libc_sendto (int __fd, const void *__buf, size_t __n,
 			      socklen_t __addr_len);
 
 /* Read N bytes into BUF through socket FD.
-   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
+   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of
    the sender, and store the actual size of the address in *ADDR_LEN.
    Returns the number of bytes read or -1 for errors.  */
 extern ssize_t __libc_recvfrom (int __fd, void *__restrict __buf, size_t __n,
@@ -78,7 +78,7 @@ extern ssize_t __sendto (int __fd, const void *__buf, size_t __n,
 			 socklen_t __addr_len) attribute_hidden;
 
 /* Read N bytes into BUF through socket FD.
-   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
+   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of
    the sender, and store the actual size of the address in *ADDR_LEN.
    Returns the number of bytes read or -1 for errors.  */
 extern ssize_t __recvfrom (int __fd, void *__restrict __buf, size_t __n,
diff --git a/inet/arpa/inet.h b/inet/arpa/inet.h
index 004f0a0565..dffb711137 100644
--- a/inet/arpa/inet.h
+++ b/inet/arpa/inet.h
@@ -78,7 +78,7 @@ extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW
   __attribute_deprecated_msg__ ("Use inet_ntop instead");
 
 /* Convert network number for interface type AF in buffer starting at
-   CP to presentation format.  The result will specifiy BITS bits of
+   CP to presentation format.  The result will specify BITS bits of
    the number.  */
 extern char *inet_net_ntop (int __af, const void *__cp, int __bits,
 			    char *__buf, size_t __len) __THROW;
diff --git a/inet/idna_name_classify.c b/inet/idna_name_classify.c
index 8b34d89104..a48c72b2fc 100644
--- a/inet/idna_name_classify.c
+++ b/inet/idna_name_classify.c
@@ -40,7 +40,7 @@ __idna_name_classify (const char *name)
         break;
       else if (result == (size_t) -2)
         /* Incomplete trailing multi-byte character.  This is an
-           encoding error becaue we received the full name.  */
+           encoding error because we received the full name.  */
         return idna_name_encoding_error;
       else if (result == (size_t) -1)
         {
diff --git a/inet/netinet/igmp.h b/inet/netinet/igmp.h
index e4d9928e3b..50141712fc 100644
--- a/inet/netinet/igmp.h
+++ b/inet/netinet/igmp.h
@@ -110,7 +110,7 @@ struct igmp {
 #define IGMP_v2_ROUTER		2
 
 /*
- * The following four defininitions are for backwards compatibility.
+ * The following four definitions are for backwards compatibility.
  * They should be removed as soon as all applications are updated to
  * use the new constant names.
  */
diff --git a/inet/rexec.c b/inet/rexec.c
index 1985fa4418..d479753fc2 100644
--- a/inet/rexec.c
+++ b/inet/rexec.c
@@ -154,7 +154,7 @@ retry:
 	struct iovec iov[3] =
 	  {
 	    [0] = { .iov_base = (void *) name, .iov_len = strlen (name) + 1 },
-	    /* should public key encypt the password here */
+	    /* should public key encrypt the password here */
 	    [1] = { .iov_base = (void *) pass, .iov_len = strlen (pass) + 1 },
 	    [2] = { .iov_base = (void *) cmd, .iov_len = strlen (cmd) + 1 }
 	  };
diff --git a/io/file_change_detection.c b/io/file_change_detection.c
index d7b861694a..4f53aa76ac 100644
--- a/io/file_change_detection.c
+++ b/io/file_change_detection.c
@@ -86,7 +86,7 @@ __file_change_detection_for_path (struct file_change_detection *file,
         /* Other errors are fatal.  */
         return false;
       }
-  else /* stat64 was successfull.  */
+  else /* stat64 was successful.  */
     {
       __file_change_detection_for_stat (file, &st);
       return true;
diff --git a/io/tst-fts.c b/io/tst-fts.c
index 41121db4cf..b65b285aeb 100644
--- a/io/tst-fts.c
+++ b/io/tst-fts.c
@@ -201,7 +201,7 @@ do_test (void)
 	}
     }
   /* fts_read returns NULL when done (and clears errno)
-     or when an error occured (with errno set).  */
+     or when an error occurred (with errno set).  */
   if (errno != 0)
     {
       printf ("FAIL: fts_read: %m\n");
diff --git a/libio/oldfmemopen.c b/libio/oldfmemopen.c
index e320a860fc..61d02fc662 100644
--- a/libio/oldfmemopen.c
+++ b/libio/oldfmemopen.c
@@ -32,7 +32,7 @@
  * - I never used the "original" fmemopen(). I am sure that "my"
  *   fmemopen() behaves differently than the original version.
  *
- * - The documentation doesn't say wether a string stream allows
+ * - The documentation doesn't say whether a string stream allows
  *   seeks. I checked the old fmemopen implementation in glibc's stdio
  *   directory, wasn't quite able to see what is going on in that
  *   source, but as far as I understand there was no seek there. For
diff --git a/libio/tst-fopenloc.c b/libio/tst-fopenloc.c
index 67c49d74cc..089c61bf41 100644
--- a/libio/tst-fopenloc.c
+++ b/libio/tst-fopenloc.c
@@ -47,7 +47,7 @@ do_bz17916 (void)
   FILE *fp = fopen (inputfile, ccs);
   if (fp != NULL)
     {
-      printf ("unxpected success\n");
+      printf ("unexpected success\n");
       return 1;
     }
   free (ccs);
diff --git a/libio/tst-memstream.h b/libio/tst-memstream.h
index de9bb549f7..2a9743fa62 100644
--- a/libio/tst-memstream.h
+++ b/libio/tst-memstream.h
@@ -28,7 +28,7 @@
 #ifdef TEST_WCHAR
 # include <wchar.h>
 
-/* Straighforward implementation so tst-memstream3 could use check
+/* Straightforward implementation so tst-memstream3 could use check
    fwrite on open_memstream.  */
 static size_t __attribute__ ((used))
 fwwrite (const void *ptr, size_t size, size_t nmemb, FILE *arq)
diff --git a/libio/tst-setvbuf1.c b/libio/tst-setvbuf1.c
index 9222d4050d..44ae15815a 100644
--- a/libio/tst-setvbuf1.c
+++ b/libio/tst-setvbuf1.c
@@ -1,4 +1,4 @@
-/* Dereived from the test case in BZ #2337.  */
+/* Derived from the test case in BZ #2337.  */
 #include <errno.h>
 #include <error.h>
 #include <fcntl.h>
diff --git a/libio/tst-vtables-interposed.c b/libio/tst-vtables-interposed.c
index e656f2b203..6f7d99a0ea 100644
--- a/libio/tst-vtables-interposed.c
+++ b/libio/tst-vtables-interposed.c
@@ -20,7 +20,7 @@
 
 /* Provide an interposed definition of the standard file handles with
    our own vtable.  stdout/stdin/stderr will not work as a result, but
-   a succesful test does not print anything, so this is fine.  */
+   a successful test does not print anything, so this is fine.  */
 #include "libioP.h"
 #undef _IO_file_jumps
 #define _IO_file_jumps jumps
diff --git a/libio/tst-wmemstream3.c b/libio/tst-wmemstream3.c
index e22326820d..5edc01144c 100644
--- a/libio/tst-wmemstream3.c
+++ b/libio/tst-wmemstream3.c
@@ -18,7 +18,7 @@
 
 #include <wchar.h>
 
-/* Straighforward implementation so tst-memstream3 could use check
+/* Straightforward implementation so tst-memstream3 could use check
    fwrite on open_memstream.  */
 static size_t
 fwwrite (const void *ptr, size_t size, size_t nmemb, FILE *arq)
diff --git a/login/programs/utmpdump.c b/login/programs/utmpdump.c
index 950e927200..f85654b9d1 100644
--- a/login/programs/utmpdump.c
+++ b/login/programs/utmpdump.c
@@ -28,7 +28,7 @@ print_entry (struct utmp *up)
   /* Mixed 32-/64-bit systems may have timeval structs of different sixe
      but need struct utmp to be the same size.  So in 64-bit up->ut_tv may
      not be a timeval but a struct of __int32_t's.  This would cause a compile
-     time warning and a formating error when 32-bit int is passed where
+     time warning and a formatting error when 32-bit int is passed where
      a 64-bit long is expected. So copy up->up_tv to a temporary timeval.
      This is 32-/64-bit agnostic and expands the timeval fields to the
      expected size as needed. */
diff --git a/login/utmp_file.c b/login/utmp_file.c
index 1ef0782139..7055041d5f 100644
--- a/login/utmp_file.c
+++ b/login/utmp_file.c
@@ -153,7 +153,7 @@ __libc_setutent (void)
   return 1;
 }
 
-/* Preform initialization if necessary.  */
+/* Perform initialization if necessary.  */
 static bool
 maybe_setutent (void)
 {
diff --git a/mach/Machrules b/mach/Machrules
index d52f672d32..bbba63b2e0 100644
--- a/mach/Machrules
+++ b/mach/Machrules
@@ -54,7 +54,7 @@ $(objpfx)dummy.mk:
 
 MIGFLAGS = -DSTANDALONE -DTypeCheck=0 \
 	   $(+includes) $(migdefines) -subrprefix __
-# Putting CC in the enivronment makes the mig wrapper script
+# Putting CC in the environment makes the mig wrapper script
 # use the same compiler setup we are using to run cpp.
 MIG := CC='${CC}' CPP='${CPP} -x c' $(MIG)
 
diff --git a/mach/errorlib.h b/mach/errorlib.h
index ff0c55eb36..5c145b8af8 100644
--- a/mach/errorlib.h
+++ b/mach/errorlib.h
@@ -42,7 +42,7 @@
  *	Author:	Douglas Orr, Carnegie Mellon University
  *	Date:	Mar. 1988
  *
- *	Error bases for subsytems errors.
+ *	Error bases for subsystems errors.
  */
 
 #include <mach/error.h>
diff --git a/malloc/arena.c b/malloc/arena.c
index e98b779dbb..6f03955ff2 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -39,7 +39,7 @@
    mmap threshold, so that requests with a size just below that
    threshold can be fulfilled without creating too many heaps.  */
 
-/* When huge pages are used to create new arenas, the maximum and minumum
+/* When huge pages are used to create new arenas, the maximum and minimum
    size are based on the runtime defined huge page size.  */
 
 static inline size_t
diff --git a/malloc/malloc-debug.c b/malloc/malloc-debug.c
index da9d2340d3..f9d131d22f 100644
--- a/malloc/malloc-debug.c
+++ b/malloc/malloc-debug.c
@@ -588,7 +588,7 @@ malloc_set_state (void *msptr)
   __malloc_debug_disable (MALLOC_CHECK_HOOK);
 
   /* We do not need to perform locking here because malloc_set_state
-     must be called before the first call into the malloc subsytem (usually via
+     must be called before the first call into the malloc subsystem (usually via
      __malloc_initialize_hook).  pthread_create always calls calloc and thus
      must be called only afterwards, so there cannot be more than one thread
      when we reach this point.  Also handle initialization if either we ended
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 5d8b61d66c..b8c0f4f580 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -271,7 +271,7 @@
   is fairly extensive, and will slow down execution
   noticeably. Calling malloc_stats or mallinfo with MALLOC_DEBUG set
   will attempt to check every non-mmapped allocated and free chunk in
-  the course of computing the summmaries. (By nature, mmapped regions
+  the course of computing the summaries. (By nature, mmapped regions
   cannot be checked very much automatically.)
 
   Setting MALLOC_DEBUG may also be helpful if you are trying to modify
@@ -672,7 +672,7 @@ void*  __libc_valloc(size_t);
   arena:     current total non-mmapped bytes allocated from system
   ordblks:   the number of free chunks
   smblks:    the number of fastbin blocks (i.e., small chunks that
-	       have been freed but not use resused or consolidated)
+	       have been freed but not reused or consolidated)
   hblks:     current number of mmapped regions
   hblkhd:    total bytes held in mmapped regions
   usmblks:   always 0
@@ -1017,7 +1017,7 @@ libc_hidden_proto (__libc_mallopt)
 
   In 2001, the kernel had a maximum size for brk() which was about 800
   megabytes on 32 bit x86, at that point brk() would hit the first
-  mmaped shared libaries and couldn't expand anymore. With current 2.6
+  mmaped shared libraries and couldn't expand anymore. With current 2.6
   kernels, the VA space layout is different and brk() and mmap
   both can span the entire heap at will.
 
@@ -1486,7 +1486,7 @@ tag_new_usable (void *ptr)
     and consolidated sets of chunks, which is what these bins hold, so
     they can be found quickly.  All procedures maintain the invariant
     that no consolidated chunk physically borders another one, so each
-    chunk in a list is known to be preceeded and followed by either
+    chunk in a list is known to be preceded and followed by either
     inuse chunks or the ends of memory.
 
     Chunks in bins are kept in size order, with ties going to the
@@ -2475,7 +2475,7 @@ sysmalloc_mmap (INTERNAL_SIZE_T nb, size_t pagesize, int extra_flags, mstate av)
 /*
    Allocate memory using mmap() based on S and NB requested size, aligning to
    PAGESIZE if required.  The EXTRA_FLAGS is used on mmap() call.  If the call
-   succeedes S is updated with the allocated size.  This is used as a fallback
+   succeeds S is updated with the allocated size.  This is used as a fallback
    if MORECORE fails.
  */
 static void *
@@ -2557,7 +2557,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av)
       char *mm;
       if (mp_.hp_pagesize > 0 && nb >= mp_.hp_pagesize)
 	{
-	  /* There is no need to isse the THP madvise call if Huge Pages are
+	  /* There is no need to issue the THP madvise call if Huge Pages are
 	     used directly.  */
 	  mm = sysmalloc_mmap (nb, mp_.hp_pagesize, mp_.hp_flags, av);
 	  if (mm != MAP_FAILED)
@@ -3439,7 +3439,7 @@ __libc_realloc (void *oldmem, size_t bytes)
     }
 
   /* Little security check which won't hurt performance: the allocator
-     never wrapps around at the end of the address space.  Therefore
+     never wraps around at the end of the address space.  Therefore
      we can exclude some size values which might appear here by
      accident or by "design" from some intruder.  */
   if ((__builtin_expect ((uintptr_t) oldp > (uintptr_t) -oldsize, 0)
@@ -4486,7 +4486,7 @@ _int_free (mstate av, mchunkptr p, int have_lock)
   size = chunksize (p);
 
   /* Little security check which won't hurt performance: the
-     allocator never wrapps around at the end of the address space.
+     allocator never wraps around at the end of the address space.
      Therefore we can exclude some size values which might appear
      here by accident or by "design" from some intruder.  */
   if (__builtin_expect ((uintptr_t) p > (uintptr_t) -size, 0)
diff --git a/malloc/tst-mallocfork2.c b/malloc/tst-mallocfork2.c
index 6ef0f180e9..8a2979ad07 100644
--- a/malloc/tst-mallocfork2.c
+++ b/malloc/tst-mallocfork2.c
@@ -147,7 +147,7 @@ do_test (void)
 {
   atexit (kill_children);
 
-  /* shared->barrier is intialized along with sigusr1_sender_pids
+  /* shared->barrier is initialized along with sigusr1_sender_pids
      below.  */
   shared = support_shared_allocate (sizeof (*shared));
 
@@ -175,7 +175,7 @@ do_test (void)
     signal_sender (SIGUSR2, true);
 
   /* Send SIGUSR1 signals from several processes.  Hopefully, one
-     signal will hit one of the ciritical functions.  Use a barrier to
+     signal will hit one of the critical functions.  Use a barrier to
      avoid sending signals while not running fork/free/malloc.  */
   {
     pthread_barrierattr_t attr;
diff --git a/malloc/tst-mallocfork3.c b/malloc/tst-mallocfork3.c
index 254f71d2a1..80fc2dd06c 100644
--- a/malloc/tst-mallocfork3.c
+++ b/malloc/tst-mallocfork3.c
@@ -142,7 +142,7 @@ do_test (void)
   sigusr2_sender = xpthread_create (NULL, signal_sender, &sigusr2_args);
 
   /* Send SIGUSR1 signals from several threads.  Hopefully, one
-     signal will hit one of the ciritical functions.  Use a barrier to
+     signal will hit one of the critical functions.  Use a barrier to
      avoid sending signals while not running fork/free/malloc.  */
   struct signal_send_args sigusr1_args = { self, SIGUSR1, false };
   xpthread_barrier_init (&barrier, NULL,
diff --git a/malloc/tst-mallocstate.c b/malloc/tst-mallocstate.c
index 704ec88a6e..340a394d1a 100644
--- a/malloc/tst-mallocstate.c
+++ b/malloc/tst-mallocstate.c
@@ -45,7 +45,7 @@ enum allocation_action
     action_free,                /* Dumped and freed.  */
     action_realloc,             /* Dumped and realloc'ed.  */
     action_realloc_same,        /* Dumped and realloc'ed, same size.  */
-    action_realloc_smaller,     /* Dumped and realloc'ed, shrinked.  */
+    action_realloc_smaller,     /* Dumped and realloc'ed, shrunk.  */
     action_count
   };
 
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index f27ffddee1..a0388c907e 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -271,7 +271,7 @@ __MATHCALL (nextdown,, (_Mdouble_ __x));
 __MATHCALL (nextup,, (_Mdouble_ __x));
 # endif
 
-/* Return the remainder of integer divison X / Y with infinite precision.  */
+/* Return the remainder of integer division X / Y with infinite precision.  */
 __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
 
 # ifdef __USE_ISOC99
diff --git a/math/fenv.h b/math/fenv.h
index 6bb6e2d2ac..2279244372 100644
--- a/math/fenv.h
+++ b/math/fenv.h
@@ -25,7 +25,7 @@
 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
 #include <bits/libc-header-start.h>
 
-/* Get the architecture dependend definitions.  The following definitions
+/* Get the architecture dependent definitions.  The following definitions
    are expected to be done:
 
    fenv_t	type for object representing an entire floating-point
diff --git a/math/libm-test-support.c b/math/libm-test-support.c
index a827e95361..8fe3082929 100644
--- a/math/libm-test-support.c
+++ b/math/libm-test-support.c
@@ -83,7 +83,7 @@
    functions.
 
    Inline functions: Inlining functions should give an improvement in
-   speed - but not in precission.  The inlined functions return
+   speed - but not in precision.  The inlined functions return
    reasonable values for a reasonable range of input values.  The
    result is not necessarily correct for all values and exceptions are
    not correctly raised in all cases.  Problematic input and return
diff --git a/math/math.h b/math/math.h
index 6dc0604132..6427c72276 100644
--- a/math/math.h
+++ b/math/math.h
@@ -1301,7 +1301,7 @@ iszero (__T __val)
    these operations.  Generic support in GCC for these as builtins went
    in 2.97, but not all cpus added their patterns until 3.1.  Therefore
    we enable the builtins from 3.1 onwards and use a generic implementation
-   othwerwise.  */
+   otherwise.  */
 #  define isgreater(x, y)	__builtin_isgreater(x, y)
 #  define isgreaterequal(x, y)	__builtin_isgreaterequal(x, y)
 #  define isless(x, y)		__builtin_isless(x, y)
diff --git a/math/test-fenv.c b/math/test-fenv.c
index 5b5f461dcd..0af7141ba7 100644
--- a/math/test-fenv.c
+++ b/math/test-fenv.c
@@ -761,7 +761,7 @@ initial_tests (void)
   test_exceptions ("Initially all exceptions should be cleared",
                    NO_EXC, 0);
 #ifdef FE_TONEAREST
-  test_rounding ("Rounding direction should be initalized to nearest",
+  test_rounding ("Rounding direction should be initialized to nearest",
                  FE_TONEAREST);
 #endif
 }
diff --git a/math/tgmath.h b/math/tgmath.h
index 0bcfb7ca85..ca90c5b4da 100644
--- a/math/tgmath.h
+++ b/math/tgmath.h
@@ -961,7 +961,7 @@
 #define nexttoward(Val1, Val2) \
      __TGMATH_BINARY_FIRST_REAL_STD_ONLY (Val1, Val2, nexttoward)
 
-/* Return the remainder of integer divison X / Y with infinite precision.  */
+/* Return the remainder of integer division X / Y with infinite precision.  */
 #define remainder(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, remainder)
 
 /* Return X times (2 to the Nth power).  */
diff --git a/misc/hsearch_r.c b/misc/hsearch_r.c
index 05085d3eb5..35b4328ae7 100644
--- a/misc/hsearch_r.c
+++ b/misc/hsearch_r.c
@@ -160,7 +160,7 @@ __hsearch_r (ENTRY item, ACTION action, ENTRY **retval,
   if (hval == 0)
     ++hval;
 
-  /* First hash function: simply take the modul but prevent zero. */
+  /* First hash function: simply take the modulo but prevent zero. */
   idx = hval % htab->size + 1;
 
   if (htab->table[idx].used)
diff --git a/misc/preadv64v2.c b/misc/preadv64v2.c
index 3d838d97cc..4570b13524 100644
--- a/misc/preadv64v2.c
+++ b/misc/preadv64v2.c
@@ -19,7 +19,7 @@
 #include <errno.h>
 #include <sys/uio.h>
 
-/* Same as preadv64 but with an addional flag argument.  */
+/* Same as preadv64 but with an additional flag argument.  */
 ssize_t
 preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
 	    int flags)
diff --git a/misc/pwritev64v2.c b/misc/pwritev64v2.c
index 7f7c70816e..0be19d7b4d 100644
--- a/misc/pwritev64v2.c
+++ b/misc/pwritev64v2.c
@@ -19,7 +19,7 @@
 #include <errno.h>
 #include <sys/uio.h>
 
-/* Same as preadv64 but with an addional flag argument.  */
+/* Same as preadv64 but with an additional flag argument.  */
 ssize_t
 pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
 	     int flags)
diff --git a/misc/search.h b/misc/search.h
index 0ca868e12a..30191d40cc 100644
--- a/misc/search.h
+++ b/misc/search.h
@@ -78,7 +78,7 @@ struct _ENTRY;
 
 /* Family of hash table handling functions.  The functions also
    have reentrant counterparts ending with _r.  The non-reentrant
-   functions all work on a signle internal hashing table.  */
+   functions all work on a single internal hashing table.  */
 
 /* Search for entry matching ITEM.key in internal hash table.  If
    ACTION is `FIND' return found entry or signal error by returning
diff --git a/misc/tst-efgcvt-template.c b/misc/tst-efgcvt-template.c
index 87e3ebe4fa..cc1a226237 100644
--- a/misc/tst-efgcvt-template.c
+++ b/misc/tst-efgcvt-template.c
@@ -208,13 +208,13 @@ special (void)
   res = ECVT_R (123.456, 10, &decpt, &sign, buf, 1);
   if (res == 0)
     {
-      printf (NAME (ECVT_R) " with a too small buffer was succesful.\n");
+      printf (NAME (ECVT_R) " with a too small buffer was successful.\n");
       support_record_failure ();
     }
   res = FCVT_R (123.456, 10, &decpt, &sign, buf, 1);
   if (res == 0)
     {
-      printf (NAME (FCVT_R) " with a too small buffer was succesful.\n");
+      printf (NAME (FCVT_R) " with a too small buffer was successful.\n");
       support_record_failure ();
     }
 }
diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c
index 5cde4ced47..ef7fe03a6d 100644
--- a/misc/tst-mntent-blank-corrupt.c
+++ b/misc/tst-mntent-blank-corrupt.c
@@ -34,7 +34,7 @@ do_test (void)
 
   /* The corruption happens here ...  */
   getmntent (fp);
-  /* ... but trigers here.  */
+  /* ... but triggers here.  */
   endmntent (fp);
 
   /* If the test failed, we would crash, and not hit this point.  */
diff --git a/nptl/TODO b/nptl/TODO
index 70b8fe4f76..357ee790b0 100644
--- a/nptl/TODO
+++ b/nptl/TODO
@@ -26,6 +26,6 @@ syscall needed.
     post if they get canceled.
 
   - possibly add counter field.  This requires reviving the
-    differences between old and new semaphose funtions.  The old ones
-    stay as they are now.  The new once can use an additional field
-    wich is the counter for the number of waiters
+    differences between old and new semaphore functions.  The old ones
+    stay as they are now.  The new ones can use an additional field
+    which is the counter for the number of waiters
diff --git a/nptl/descr.h b/nptl/descr.h
index f8b5ac7c22..746a4b9e4a 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -119,7 +119,7 @@ struct robust_list_head
 };
 
 
-/* Data strcture used to handle thread priority protection.  */
+/* Data structure used to handle thread priority protection.  */
 struct priority_protection_data
 {
   int priomax;
diff --git a/nptl/futex-internal.c b/nptl/futex-internal.c
index 9815060646..5a64d14338 100644
--- a/nptl/futex-internal.c
+++ b/nptl/futex-internal.c
@@ -59,7 +59,7 @@ __futex_abstimed_wait_common64 (unsigned int* futex_word,
 				    FUTEX_BITSET_MATCH_ANY);
   else
     return INTERNAL_SYSCALL_CALL (futex_time64, futex_word, op, expected,
-				  abstime, NULL /* Ununsed.  */,
+				  abstime, NULL /* Unused.  */,
 				  FUTEX_BITSET_MATCH_ANY);
 }
 
diff --git a/nptl/perf.c b/nptl/perf.c
index 1f50c1035d..1f29a678b7 100644
--- a/nptl/perf.c
+++ b/nptl/perf.c
@@ -50,7 +50,7 @@
 static const struct argp_option options[] =
   {
     { NULL, 0, NULL, 0, "\
-This is a test for threads so we allow ther user to selection the number of \
+This is a test for threads so we allow the user to select the number of \
 threads which are used at any one time.  Independently the total number of \
 rounds can be selected.  This is the total number of threads which will have \
 run when the process terminates:" },
@@ -387,7 +387,7 @@ main (int argc, char *argv[])
   tmain = pthread_self ();
 
   /* We use signal SIGUSR1 for communication between the threads and
-     the main thread.  We only want sychronous notification.  */
+     the main thread.  We only want synchronous notification.  */
   if (sync_method == sync_signal)
     {
       sigemptyset (&ss);
diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
index 3ca9ab92b9..7440bb18e6 100644
--- a/nptl/pthread_cond_common.c
+++ b/nptl/pthread_cond_common.c
@@ -230,7 +230,7 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
 
   /* First, set the closed flag on __g_signals.  This tells waiters that are
      about to wait that they shouldn't do that anymore.  This basically
-     serves as an advance notificaton of the upcoming change to __g1_start;
+     serves as an advance notification of the upcoming change to __g1_start;
      waiters interpret it as if __g1_start was larger than their waiter
      sequence position.  This allows us to change __g1_start after waiting
      for all existing waiters with group references to leave, which in turn
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index 15bbd8b7e8..806c432d13 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -583,7 +583,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
 		     the futex.  We also need to do that if we skipped adding
 		     a signal because the group is being closed because
 		     while __condvar_quiesce_and_switch_g1 could have closed
-		     the group, it might stil be waiting for futex waiters to
+		     the group, it might still be waiting for futex waiters to
 		     leave (and one of those waiters might be the one we stole
 		     the signal from, which cause it to block using the
 		     futex).  */
@@ -603,7 +603,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
   __condvar_confirm_wakeup (cond, private);
 
   /* Woken up; now re-acquire the mutex.  If this doesn't fail, return RESULT,
-     which is set to ETIMEDOUT if a timeout occured, or zero otherwise.  */
+     which is set to ETIMEDOUT if a timeout occurred, or zero otherwise.  */
   err = __pthread_mutex_cond_lock (mutex);
   /* XXX Abort on errors that are disallowed by POSIX?  */
   return (err != 0) ? err : result;
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
index a3619da1e2..1ac8862ed2 100644
--- a/nptl/pthread_create.c
+++ b/nptl/pthread_create.c
@@ -218,7 +218,7 @@ late_init (void)
    __pthread_current_priority reuse the same lock, PD->lock, for a
    similar purpose e.g. synchronizing the setting of similar thread
    attributes.  These functions are never called before the thread is
-   created, so don't participate in startup syncronization, but given
+   created, so don't participate in startup synchronization, but given
    that the lock is present already and in the unlocked state, reusing
    it saves space.
 
diff --git a/nptl/pthread_getattr_np.c b/nptl/pthread_getattr_np.c
index de7edfa092..65647bda57 100644
--- a/nptl/pthread_getattr_np.c
+++ b/nptl/pthread_getattr_np.c
@@ -43,7 +43,7 @@ __pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
   lll_lock (thread->lock, LLL_PRIVATE);
 
   /* The thread library is responsible for keeping the values in the
-     thread desriptor up-to-date in case the user changes them.  */
+     thread descriptor up-to-date in case the user changes them.  */
   memcpy (&iattr->schedparam, &thread->schedparam,
 	  sizeof (struct sched_param));
   iattr->schedpolicy = thread->schedpolicy;
diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
index d4f96c70ef..643841472f 100644
--- a/nptl/pthread_mutex_lock.c
+++ b/nptl/pthread_mutex_lock.c
@@ -234,7 +234,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
 	      /* The previous owner died.  Try locking the mutex.  */
 	      int newval = id;
 #ifdef NO_INCR
-	      /* We are not taking assume_other_futex_waiters into accoount
+	      /* We are not taking assume_other_futex_waiters into account
 		 here simply because we'll set FUTEX_WAITERS anyway.  */
 	      newval |= FUTEX_WAITERS;
 #else
@@ -438,7 +438,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
 	    int private = (robust
 			   ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
 			   : PTHREAD_MUTEX_PSHARED (mutex));
-	    int e = __futex_lock_pi64 (&mutex->__data.__lock, 0 /* ununsed  */,
+	    int e = __futex_lock_pi64 (&mutex->__data.__lock, 0 /* unused  */,
 				       NULL, private);
 	    if (e == ESRCH || e == EDEADLK)
 	      {
diff --git a/nptl/sem_waitcommon.c b/nptl/sem_waitcommon.c
index 647132c1ea..30200c941f 100644
--- a/nptl/sem_waitcommon.c
+++ b/nptl/sem_waitcommon.c
@@ -325,7 +325,7 @@ __sem_wait_32_finish (struct new_sem *sem)
   unsigned int wguess = atomic_load_relaxed (&sem->nwaiters);
   if (wguess == 1)
     /* We might be the last waiter, so unset.  This needs acquire MO so that
-       it syncronizes with the release MO when setting the bit above; if we
+       it synchronizes with the release MO when setting the bit above; if we
        overwrite someone else that set the bit, we'll read in the following
        decrement of nwaiters at least from that release sequence, so we'll
        see if the other waiter is still active or if another writer entered
diff --git a/nptl/tst-dlsym1.c b/nptl/tst-dlsym1.c
index 19ba8f5640..bdf252b353 100644
--- a/nptl/tst-dlsym1.c
+++ b/nptl/tst-dlsym1.c
@@ -53,7 +53,7 @@ do_test (void)
     }
   if (pthread_join (tid3, NULL) != 0)
     {
-      puts ("2rd join failed");
+      puts ("2nd join failed");
       exit (1);
     }
 
diff --git a/nptl/tst-rwlock20.c b/nptl/tst-rwlock20.c
index 0904d4b658..0ea18fc428 100644
--- a/nptl/tst-rwlock20.c
+++ b/nptl/tst-rwlock20.c
@@ -26,7 +26,7 @@
 #include <atomic.h>
 #include <support/xthread.h>
 
-/* We realy want to set threads to 2 to reproduce this issue. The goal
+/* We really want to set threads to 2 to reproduce this issue. The goal
    is to have one primary writer and a single reader, and to hit the
    bug that happens in the interleaving of those two phase transitions.
    However, on most hardware, adding a second writer seems to help the
diff --git a/nptl/tst-stack4.c b/nptl/tst-stack4.c
index 565eea4ebd..a27cfacb9c 100644
--- a/nptl/tst-stack4.c
+++ b/nptl/tst-stack4.c
@@ -1,4 +1,4 @@
-/* Test DTV size oveflow when pthread_create reuses old DTV and TLS is
+/* Test DTV size overflow when pthread_create reuses old DTV and TLS is
    used by dlopened shared object.
    Copyright (C) 2014-2023 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
@@ -23,7 +23,7 @@
 #include <assert.h>
 #include <pthread.h>
 
-/* The choices of thread count, and file counts are arbitary.
+/* The choices of thread count, and file counts are arbitrary.
    The point is simply to run enough threads that an exiting
    thread has it's stack reused by another thread at the same
    time as new libraries have been loaded.  */
diff --git a/nptl/tst-tls3.c b/nptl/tst-tls3.c
index 33d94c8cc5..748037131e 100644
--- a/nptl/tst-tls3.c
+++ b/nptl/tst-tls3.c
@@ -30,7 +30,7 @@
 
 #define THE_SIG SIGUSR1
 
-/* The stack size can be overriden.  With a sufficiently large stack
+/* The stack size can be overridden.  With a sufficiently large stack
    size, thread stacks for terminated threads are freed, but this does
    not happen with the default size of 1 MiB.  */
 enum { default_stack_size_in_mb = 1 };
diff --git a/nptl/tst-tsd3.c b/nptl/tst-tsd3.c
index c755c0ceb4..0b3b01fe47 100644
--- a/nptl/tst-tsd3.c
+++ b/nptl/tst-tsd3.c
@@ -36,7 +36,7 @@ destr1 (void *arg)
     {
       puts ("set key2");
 
-      /* Use an arbirary but valid pointer to avoid GCC warnings.  */
+      /* Use an arbitrary but valid pointer to avoid GCC warnings.  */
       if (pthread_setspecific (key2, (void *) &left) != 0)
 	{
 	  puts ("destr1: setspecific failed");
@@ -53,7 +53,7 @@ destr2 (void *arg)
     {
       puts ("set key1");
 
-      /* Use an arbirary but valid pointer to avoid GCC warnings.  */
+      /* Use an arbitrary but valid pointer to avoid GCC warnings.  */
       if (pthread_setspecific (key1, (void *) &left) != 0)
 	{
 	  puts ("destr2: setspecific failed");
@@ -69,7 +69,7 @@ tf (void *arg)
   /* Let the destructors work.  */
   left = 7;
 
-  /* Use an arbirary but valid pointer to avoid GCC warnings.  */
+  /* Use an arbitrary but valid pointer to avoid GCC warnings.  */
   if (pthread_setspecific (key1, (void *) &left) != 0
       || pthread_setspecific (key2, (void *) &left) != 0)
     {
diff --git a/nptl/tst-tsd4.c b/nptl/tst-tsd4.c
index f832f4bc17..2ae577a642 100644
--- a/nptl/tst-tsd4.c
+++ b/nptl/tst-tsd4.c
@@ -33,7 +33,7 @@ destr (void *arg)
 {
   ++rounds;
 
-  /* Use an arbirary but valid pointer to avoid GCC warnings.  */
+  /* Use an arbitrary but valid pointer to avoid GCC warnings.  */
   if (pthread_setspecific (key, (void *) &rounds) != 0)
     {
       puts ("destr: setspecific failed");
@@ -45,7 +45,7 @@ destr (void *arg)
 static void *
 tf (void *arg)
 {
-  /* Use an arbirary but valid pointer to avoid GCC warnings.  */
+  /* Use an arbitrary but valid pointer to avoid GCC warnings.  */
   if (pthread_setspecific (key, (void *) &rounds) != 0)
     {
       puts ("tf: setspecific failed");
diff --git a/nptl_db/td_thr_get_info.c b/nptl_db/td_thr_get_info.c
index 1021039b4f..786abe3115 100644
--- a/nptl_db/td_thr_get_info.c
+++ b/nptl_db/td_thr_get_info.c
@@ -85,7 +85,7 @@ td_thr_get_info (const td_thrhandle_t *th, td_thrinfo_t *infop)
   if (err != TD_OK)
     return err;
 
-  /* Fill in information.  Clear first to provide reproducable
+  /* Fill in information.  Clear first to provide reproducible
      results for the fields we do not fill in.  */
   memset (infop, '\0', sizeof (td_thrinfo_t));
 
diff --git a/nptl_db/thread_dbP.h b/nptl_db/thread_dbP.h
index b52c254300..bf9ea27544 100644
--- a/nptl_db/thread_dbP.h
+++ b/nptl_db/thread_dbP.h
@@ -32,7 +32,7 @@
 #include <gnu/lib-names.h>
 #include <libc-diag.h>
 
-/* Indeces for the symbol names.  */
+/* Indices for the symbol names.  */
 enum
   {
 # define DB_STRUCT(type)		SYM_SIZEOF_##type,
diff --git a/nscd/connections.c b/nscd/connections.c
index b1231a96db..a405a44a9b 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -1454,7 +1454,7 @@ cannot change to old working directory: %s; disabling paranoia mode"),
   paranoia = 0;
   free (cmdline);
 
-  /* Reenable the databases.  */
+  /* Re-enable the databases.  */
   time_t now = time (NULL);
   for (int cnt = 0; cnt < lastdb; ++cnt)
     if (dbs[cnt].enabled)
@@ -1532,11 +1532,11 @@ nscd_run_prune (void *p)
       if (e == ETIMEDOUT || now >= dbs[my_number].wakeup_time
 	  || dbs[my_number].clear_cache)
 	{
-	  /* We will determine the new timout values based on the
+	  /* We will determine the new timeout values based on the
 	     cache content.  Should there be concurrent additions to
 	     the cache which are not accounted for in the cache
 	     pruning we want to know about it.  Therefore set the
-	     timeout to the maximum.  It will be descreased when adding
+	     timeout to the maximum.  It will be decreased when adding
 	     new entries to the cache, if necessary.  */
 	  dbs[my_number].wakeup_time = MAX_TIMEOUT_VALUE;
 
diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
index b8060da64f..be44951bd6 100644
--- a/nscd/initgrcache.c
+++ b/nscd/initgrcache.c
@@ -93,7 +93,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
 
   long int size;
   if (limit > 0)
-    /* We limit the size of the intially allocated array.  */
+    /* We limit the size of the initially allocated array.  */
     size = MIN (limit, 64);
   else
     /* No fixed limit on groups.  Pick a starting buffer size.  */
diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h
index 7275ccb665..5588ade982 100644
--- a/nscd/nscd-client.h
+++ b/nscd/nscd-client.h
@@ -389,7 +389,7 @@ extern int __nscd_open_socket (const char *key, size_t keylen,
 			       request_type type, void *response,
 			       size_t responselen) attribute_hidden;
 
-/* Try to get a file descriptor for the shared meory segment
+/* Try to get a file descriptor for the shared memory segment
    containing the database.  */
 extern struct mapped_database *__nscd_get_mapping (request_type type,
 						   const char *key,
diff --git a/nscd/nscd.c b/nscd/nscd.c
index 424106421f..eb79136b0f 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -600,7 +600,7 @@ check_pid (const char *file)
 
       /* If we cannot parse the file default to assuming nscd runs.
 	 If the PID is alive, assume it is running.  That all unless
-	 the PID is the same as the current process' since tha latter
+	 the PID is the same as the current process' since the latter
 	 can mean we re-exec.  */
       if ((n != 1 || kill (pid, 0) == 0) && pid != getpid ())
 	return 1;
diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
index 6a498b363c..aa41dc158d 100644
--- a/nscd/nscd_helper.c
+++ b/nscd/nscd_helper.c
@@ -251,7 +251,7 @@ __nscd_unmap (struct mapped_database *mapped)
 }
 
 
-/* Try to get a file descriptor for the shared meory segment
+/* Try to get a file descriptor for the shared memory segment
    containing the database.  */
 struct mapped_database *
 __nscd_get_mapping (request_type type, const char *key,
@@ -443,7 +443,7 @@ __nscd_get_map_ref (request_type type, const char *name,
 #define MINIMUM_HASHENTRY_SIZE \
   (offsetof (struct hashentry, dellist) + sizeof (int32_t))
 
-/* Don't return const struct datahead *, as eventhough the record
+/* Don't return const struct datahead *, as even though the record
    is normally constant, it can change arbitrarily during nscd
    garbage collection.  */
 struct datahead *
diff --git a/nscd/nscd_setup_thread.c b/nscd/nscd_setup_thread.c
index ca363e66fe..5d6eff7a59 100644
--- a/nscd/nscd_setup_thread.c
+++ b/nscd/nscd_setup_thread.c
@@ -1,4 +1,4 @@
-/* Setup of nscd worker threads.  Stub verison.
+/* Setup of nscd worker threads.  Stub version.
    Copyright (C) 2004-2023 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/nscd/nscd_stat.c b/nscd/nscd_stat.c
index 1db4bee2ff..a1c2053234 100644
--- a/nscd/nscd_stat.c
+++ b/nscd/nscd_stat.c
@@ -275,7 +275,7 @@ receive_print_stats (void)
       if (enabled[0] == '\0')
 	/* The locale does not provide this information so we have to
 	   translate it ourself.  Since we should avoid short translation
-	   terms we artifically increase the length.  */
+	   terms we artificially increase the length.  */
 	enabled = data.dbs[i].enabled ? yesstr : nostr;
       if (check_file[0] == '\0')
 	check_file = data.dbs[i].check_file ? yesstr : nostr;
diff --git a/nss/nss_compat/compat-grp.c b/nss/nss_compat/compat-grp.c
index 5d8a768a6e..92d099eb23 100644
--- a/nss/nss_compat/compat-grp.c
+++ b/nss/nss_compat/compat-grp.c
@@ -213,7 +213,7 @@ getgrent_next_nss (struct group *result, ent_t *ent, char *buffer,
   return NSS_STATUS_SUCCESS;
 }
 
-/* This function handle the +group entrys in /etc/group */
+/* This function handle the +group entries in /etc/group */
 static enum nss_status
 getgrnam_plusgroup (const char *name, struct group *result, ent_t *ent,
 		    char *buffer, size_t buflen, int *errnop)
diff --git a/nss/nss_compat/compat-pwd.c b/nss/nss_compat/compat-pwd.c
index 5e07274db5..f9ad94006d 100644
--- a/nss/nss_compat/compat-pwd.c
+++ b/nss/nss_compat/compat-pwd.c
@@ -437,7 +437,7 @@ getpwent_next_nss (struct passwd *result, ent_t *ent, char *buffer,
   return NSS_STATUS_SUCCESS;
 }
 
-/* This function handle the +user entrys in /etc/passwd */
+/* This function handle the +user entries in /etc/passwd */
 static enum nss_status
 getpwnam_plususer (const char *name, struct passwd *result, ent_t *ent,
 		   char *buffer, size_t buflen, int *errnop)
diff --git a/nss/nss_compat/compat-spwd.c b/nss/nss_compat/compat-spwd.c
index 44220ad577..c3ce41b186 100644
--- a/nss/nss_compat/compat-spwd.c
+++ b/nss/nss_compat/compat-spwd.c
@@ -387,7 +387,7 @@ getspent_next_nss (struct spwd *result, ent_t *ent,
 }
 
 
-/* This function handle the +user entrys in /etc/shadow */
+/* This function handle the +user entries in /etc/shadow */
 static enum nss_status
 getspnam_plususer (const char *name, struct spwd *result, ent_t *ent,
 		   char *buffer, size_t buflen, int *errnop)
diff --git a/nss/nss_database.c b/nss/nss_database.c
index 2edcab4b9d..128b73afeb 100644
--- a/nss/nss_database.c
+++ b/nss/nss_database.c
@@ -331,7 +331,7 @@ nss_database_reload (struct nss_database_data *staging,
   if (fp != NULL)
     ok = nss_database_reload_1 (staging, fp);
 
-  /* Now we have non-NULL entries where the user explictly listed the
+  /* Now we have non-NULL entries where the user explicitly listed the
      service in nsswitch.conf.  */
 
   /* Apply defaults.  */
diff --git a/nss/nss_db/db-open.c b/nss/nss_db/db-open.c
index 136706001d..a5279dc08d 100644
--- a/nss/nss_db/db-open.c
+++ b/nss/nss_db/db-open.c
@@ -27,7 +27,7 @@
 
 #include "nss_db.h"
 
-/* Open the database stored in FILE.  If succesful, store either a
+/* Open the database stored in FILE.  If successful, store either a
    pointer to the mapped file or a file handle for the file in H and
    return NSS_STATUS_SUCCESS.  On failure, return the appropriate
    lookup status.  */
diff --git a/nss/nss_db/nss_db.h b/nss/nss_db/nss_db.h
index 6e77b4c419..a408b89ef1 100644
--- a/nss/nss_db/nss_db.h
+++ b/nss/nss_db/nss_db.h
@@ -57,7 +57,7 @@ struct nss_db_map
 };
 
 
-/* Open the database stored in FILE.  If succesful, store the database
+/* Open the database stored in FILE.  If successful, store the database
    handle in *MAPPINGP or a file descriptor for the file in *FDP and
    return NSS_STATUS_SUCCESS.  On failure, return the appropriate
    lookup status.  */
diff --git a/nss/nss_files/files-network.c b/nss/nss_files/files-network.c
index 4b1ab0537f..c010d21fde 100644
--- a/nss/nss_files/files-network.c
+++ b/nss/nss_files/files-network.c
@@ -42,7 +42,7 @@ LINE_PARSER
 
    STRING_FIELD (addr, isspace, 1);
    /* 'inet_network' does not add zeroes at the end if the network number
-      does not four byte values.  We add them outselves if necessary.  */
+      does not four byte values.  We add them ourselves if necessary.  */
    cp = strchr (addr, '.');
    if (cp != NULL)
      {
diff --git a/nss/nss_parse_line_result.c b/nss/nss_parse_line_result.c
index 1d257af4fb..8f9917168d 100644
--- a/nss/nss_parse_line_result.c
+++ b/nss/nss_parse_line_result.c
@@ -29,7 +29,7 @@ __nss_parse_line_result (FILE *fp, off64_t offset, int parse_line_result)
   switch (__builtin_expect (parse_line_result, 1))
     {
     case 1:
-      /* Sucess.  */
+      /* Success.  */
       return 0;
     case 0:
       /* Parse error.  */
diff --git a/nss/nsswitch.conf b/nss/nsswitch.conf
index 40030d1dd7..07c3476e9c 100644
--- a/nss/nsswitch.conf
+++ b/nss/nsswitch.conf
@@ -50,7 +50,7 @@
 # shadow:    db files
 # group:     db files
 
-# In alphabetical order. Re-order as required to optimize peformance.
+# In alphabetical order. Re-order as required to optimize performance.
 aliases:    files
 ethers:     files
 group:      files
diff --git a/nss/test-netdb.c b/nss/test-netdb.c
index e835ba6a53..d76eea4b48 100644
--- a/nss/test-netdb.c
+++ b/nss/test-netdb.c
@@ -157,7 +157,7 @@ test_hosts (void)
 	}
       else if (strcmp (hptr1->h_name, hptr2->h_name) != 0)
 	{
-	  printf ("localhost and LocalHost have different canoncial name\n");
+	  printf ("localhost and LocalHost have different canonical name\n");
 	  printf ("gethostbyname (\"localhost\")->%s\n", hptr1->h_name);
 	  printf ("gethostbyname (\"LocalHost\")->%s\n", hptr2->h_name);
 	  ++error_count;
diff --git a/posix/BOOST.tests b/posix/BOOST.tests
index 98fd3b6abf..756fa00486 100644
--- a/posix/BOOST.tests
+++ b/posix/BOOST.tests
@@ -93,7 +93,7 @@ aa\) !
 . \0 0 1
 
 ;
-; now move on to the repetion ops,
+; now move on to the repetition ops,
 ; starting with operator *
 - match_default normal REG_EXTENDED
 a* b 0 0
@@ -275,7 +275,7 @@ a(b*)c\1d abbcbbbd -1 -1
 ^(.)\1 abc -1 -1
 a([bc])\1d abcdabbd	4 8 5 6
 ; strictly speaking this is at best ambiguous, at worst wrong, this is what most
-; re implimentations will match though.
+; re implementations will match though.
 a(([bc])\2)*d abbccd 0 6 3 5 3 4
 
 a(([bc])\2)*d abbcbd -1 -1
diff --git a/posix/PTESTS b/posix/PTESTS
index 65e5084915..601cef8d72 100644
--- a/posix/PTESTS
+++ b/posix/PTESTS
@@ -3,7 +3,7 @@
 # other plain ASCII character had been used by a test.  Characters
 # outside the plain ASCII range have a risk of being mangled by modern
 # editors.  So, avoid using | in a test, or if needed, select a new
-# delimeter.
+# delimiter.
 # 2.8.2  Regular Expression General Requirement
 2|4|bb*|abbbc|
 2|2|bb*|ababbbc|
diff --git a/posix/globtest.c b/posix/globtest.c
index 2bba5228f5..d1712656dd 100644
--- a/posix/globtest.c
+++ b/posix/globtest.c
@@ -106,7 +106,7 @@ main (int argc, char *argv[])
   if ((glob_flags & GLOB_DOOFFS) && g.gl_pathv[0] == NULL)
     g.gl_pathv[0] = (char *) "abc";
 
-  /* Print out the names.  Unless otherwise specified, qoute them.  */
+  /* Print out the names.  Unless otherwise specified, quote them.  */
   if (g.gl_pathv)
     {
       for (i = 0; i < g.gl_offs + g.gl_pathc; ++i)
diff --git a/posix/regexbug1.c b/posix/regexbug1.c
index 17643e7e4d..165bc07b2f 100644
--- a/posix/regexbug1.c
+++ b/posix/regexbug1.c
@@ -26,7 +26,7 @@ main (void)
       error (0, 0, "\"0*[0-9][0-9]\" does not match \"002\"");
       res = 1;
     }
-  puts ("Succesful match with \"0*[0-9][0-9]\"");
+  puts ("Successful match with \"0*[0-9][0-9]\"");
 
   regfree (&re);
 
@@ -43,7 +43,7 @@ main (void)
       error (0, 0, "\"[0a]*[0-9][0-9]\" does not match \"002\"");
       res = 1;
     }
-  puts ("Succesful match with \"[0a]*[0-9][0-9]\"");
+  puts ("Successful match with \"[0a]*[0-9][0-9]\"");
 
   regfree (&re);
 
diff --git a/posix/runptests.c b/posix/runptests.c
index 02fe0061ff..acb800b57a 100644
--- a/posix/runptests.c
+++ b/posix/runptests.c
@@ -77,7 +77,7 @@ main (int argc, char *argv[])
 	  }
 	else if (tests[cnt].start == -2)
 	  {
-	    puts ("compiling suceeds, FAIL");
+	    puts ("compiling succeeds, FAIL");
 	    errors++;
 	    continue;
 	  }
diff --git a/posix/runtests.c b/posix/runtests.c
index d44bf36266..b40b785572 100644
--- a/posix/runtests.c
+++ b/posix/runtests.c
@@ -81,7 +81,7 @@ run_a_test (int id, const struct a_test * t)
       else if (t->expected == 2)
 	{
 	  printf ("test %d\n", id);
-	  printf ("pattern \"%s\" successfull compilation not expected\n",
+	  printf ("pattern \"%s\" successful compilation not expected\n",
 		  t->pattern);
 	  return 1;
 	}
diff --git a/posix/rxspencer/tests b/posix/rxspencer/tests
index 3ad46e2a61..810e4be79c 100644
--- a/posix/rxspencer/tests
+++ b/posix/rxspencer/tests
@@ -183,7 +183,7 @@ a\(***\)b	bC	BADRPT
 # The following two tests are not correct:
 #{		&	{	{
 #{abc		&	{abc	{abc
-# '{' is always a special char outside bracket expressions.  So test ony BRE:
+# '{' is always a special char outside bracket expressions.  So test only BRE:
 {		b	{	{
 {abc		b	{abc	{abc
 {1		C	BADRPT
diff --git a/posix/spawn.h b/posix/spawn.h
index 0a6a070523..04cc525fa5 100644
--- a/posix/spawn.h
+++ b/posix/spawn.h
@@ -220,7 +220,7 @@ posix_spawn_file_actions_addclosefrom_np (posix_spawn_file_actions_t *,
 					  int __from)
      __THROW __nonnull ((1));
 
-/* Add an action to set the process group of the forground process group
+/* Add an action to set the process group of the foreground process group
    associated with the terminal TCFD.  */
 extern int
 posix_spawn_file_actions_addtcsetpgrp_np (posix_spawn_file_actions_t *,
diff --git a/posix/tst-exec.c b/posix/tst-exec.c
index a8c0ba2e05..2ba4dcdaa3 100644
--- a/posix/tst-exec.c
+++ b/posix/tst-exec.c
@@ -131,7 +131,7 @@ do_test (int argc, char *argv[])
      - three parameters left if called through re-execution
        + file descriptor number which is supposed to be closed
        + the open file descriptor
-       + the name of the closed desriptor
+       + the name of the closed descriptor
   */
 
   if (restart)
diff --git a/posix/tst-execveat.c b/posix/tst-execveat.c
index 59157ff217..c1aba3886b 100644
--- a/posix/tst-execveat.c
+++ b/posix/tst-execveat.c
@@ -111,14 +111,14 @@ do_test (void)
   call_execveat (AT_FDCWD, "/bin/sh", 0, 0, __LINE__);
   fd = xopen ("/usr", O_PATH | O_DIRECTORY, 0);
   /* Same check for absolute pathname, but with input file descriptor
-     openend with different flags.  The dirfd should be ignored.  */
+     opened with different flags.  The dirfd should be ignored.  */
   call_execveat (fd, "/bin/sh", 0, 0, __LINE__);
   xclose (fd);
 #endif
 
   fd = xopen ("/usr", O_RDONLY, 0);
   /* Same check for absolute pathname, but with input file descriptor
-     openend with different flags.  The dirfd should be ignored.  */
+     opened with different flags.  The dirfd should be ignored.  */
   call_execveat (fd, "/bin/sh", 0, 0, __LINE__);
   xclose (fd);
 
diff --git a/posix/tst-glob_lstat_compat.c b/posix/tst-glob_lstat_compat.c
index 79d83e0ec0..937ad77da3 100644
--- a/posix/tst-glob_lstat_compat.c
+++ b/posix/tst-glob_lstat_compat.c
@@ -43,7 +43,7 @@ compat_symbol_reference (libc, glob, glob, GLIBC_2_0);
 #endif
 
 /* Compat glob should not call gl_lstat since for some old binaries it
-   might be unitialized (for instance GNUmake).  Check if it is indeed
+   might be uninitialized (for instance GNUmake).  Check if it is indeed
    not called.  */
 static bool stat_called;
 static bool lstat_called;
diff --git a/posix/tst-pcre.c b/posix/tst-pcre.c
index 220baa3bab..e7a33a36a8 100644
--- a/posix/tst-pcre.c
+++ b/posix/tst-pcre.c
@@ -177,7 +177,7 @@ main (int argc, char **argv)
 
       if (!rm_valid)
 	{
-	  printf ("%zd: No preceeding pattern or search string\n", linenum);
+	  printf ("%zd: No preceding pattern or search string\n", linenum);
 	  ret = 1;
 	  continue;
 	}
diff --git a/posix/tst-posix_fadvise-common.c b/posix/tst-posix_fadvise-common.c
index fb461d30d2..2a4e4d6a7f 100644
--- a/posix/tst-posix_fadvise-common.c
+++ b/posix/tst-posix_fadvise-common.c
@@ -53,7 +53,7 @@ do_prepare (int argc, char **argv)
     FAIL_EXIT1 ("cannot open fifo: %m");
 }
 
-/* Effectivelly testing posix_fadvise is hard because side effects are not
+/* Effectively testing posix_fadvise is hard because side effects are not
    observed without checking either performance or any kernel specific
    supplied information.  Also, the syscall is meant to be an advisory,
    so the kernel is free to use this information in any way it deems fit,
diff --git a/posix/tst-regcomp-truncated.c b/posix/tst-regcomp-truncated.c
index cd8f1c5bca..c601ae62d8 100644
--- a/posix/tst-regcomp-truncated.c
+++ b/posix/tst-regcomp-truncated.c
@@ -82,7 +82,7 @@ do_test (void)
 
   /* Arbitrary Unicode codepoint at which we stop generating
      characters.  We do not probe the whole range because that would
-     take too long due to combinatorical exploision as the result of
+     take too long due to combinatorial explosion as the result of
      combination with other flags.  */
   static const wchar_t last_character = 0xfff;
 
diff --git a/posix/tst-regex.c b/posix/tst-regex.c
index a10785464c..a6684a7744 100644
--- a/posix/tst-regex.c
+++ b/posix/tst-regex.c
@@ -127,7 +127,7 @@ do_test (void)
   result |= test_expr ("[äáàâéèêíìîñöóòôüúùû]", 4, 4);
   result |= test_expr ("G.ran", 2, 3);
   result |= test_expr ("G.\\{1\\}ran", 2, 3);
-  result |= test_expr ("G.*ran", 3, 44);
+  result |= test_expr ("G.*ran", 3, 43);
   result |= test_expr ("[äáàâ]", 0, 0);
   result |= test_expr ("Uddeborg", 2, 2);
   result |= test_expr (".Uddeborg", 2, 2);
@@ -511,7 +511,7 @@ run_test_backwards (const char *expr, const char *mem, size_t memlen,
   return cnt != expected;
 }
 
-/* If --timing is used we will need a larger timout.  */
+/* If --timing is used we will need a larger timeout.  */
 #define TIMEOUT 50
 #define CMDLINE_OPTIONS \
    {"timing", no_argument, &timing, 1 },
diff --git a/posix/tst-regex.input b/posix/tst-regex.input
index c48660d23a..1de30b3d52 100644
--- a/posix/tst-regex.input
+++ b/posix/tst-regex.input
@@ -251,9 +251,9 @@
 
 1998-08-05  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
-	* libio/iofopen64.c: Fix typo.  Avoid unnessary casts.
+	* libio/iofopen64.c: Fix typo.  Avoid unnecessary casts.
 	* libio/iopopen.c: Unlink file before freeing it if command
-	creation failed.  Avoid unnessary casts.
+	creation failed.  Avoid unnecessary casts.
 	* libio/iofdopen.c:  Avoid unnecessary cast.
 	* pwd/fgetpwent_r.c [USE_IN_LIBIO]: Map funlockfile to
 	_IO_funlockfile.
@@ -276,7 +276,7 @@
 
 1998-08-07  Cristian Gafton  <gafton@redhat.com>
 
-	* pwd/putpwent.c (putpwent): Avoid writting (none) in the passwd file.
+	* pwd/putpwent.c (putpwent): Avoid writing (none) in the passwd file.
 	* shadow/putspent.c (putspent): Likewise.
 	* grp/putgrent.c: New file.
 	* grp/Makefile (routines): Add putgrent.
@@ -300,7 +300,7 @@
 1998-08-04  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
 	* misc/mktemp.c: Add include <stlib.h> for prototype, remove
-	unneccessary includes.
+	unnecessary includes.
 	* misc/mkstemp.c: Likewise.
 
 1998-08-03 16:36  Ulrich Drepper  <drepper@cygnus.com>
@@ -402,7 +402,7 @@
 	as real name for system call and make setresuid a weak alias.  Set
 	caller to seteuid.
 	* sysdeps/unix/sysv/linux/seteuid.c (seteuid): Implement using
-	`setresuid' syscall if availble.  Fixes problems with sendmail
+	`setresuid' syscall if available.  Fixes problems with sendmail
 	which expects `seteuid' to not set the saved user ID.
 
 1998-07-30 20:09 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
@@ -2330,7 +2330,7 @@
 	* sysdeps/mach/hurd/ftruncate.c: Really define function as
 	__ftruncate.
 	* sysdeps/mach/hurd/truncate.c: Include <unistd.h>.
-	(truncate): Fix function defenition to match prototype.
+	(truncate): Fix function definition to match prototype.
 
 1998-06-20  Mark Kettenis  <kettenis@phys.uva.nl>
 
@@ -3619,7 +3619,7 @@
 
 1998-05-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
-	* sysdeps/unix/bsd/vax/vfork.S: Missed double occurences of "the
+	* sysdeps/unix/bsd/vax/vfork.S: Missed double occurrences of "the
 	the" in one line - fixed it.
 	* sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise.
 	* sysdeps/unix/bsd/hp/m68k/vfork.S: Likewise.
@@ -3771,7 +3771,7 @@
 
 1998-05-19 12:16  Ulrich Drepper  <drepper@cygnus.com>
 
-	* manual/memory.texi: Add back accidently removed line.
+	* manual/memory.texi: Add back accidentally removed line.
 
 1998-04-25  Mark Kettenis  <kettenis@phys.uva.nl>
 
@@ -3833,7 +3833,7 @@
 
 1998-05-15  Ulrich Drepper  <drepper@cygnus.com>
 
-	* iconv/loop.c: Let user add code to use and set paramaters.
+	* iconv/loop.c: Let user add code to use and set parameters.
 
 	* iconvdata/iso-2022-kr.c: Correct to-loop.
 
@@ -4313,7 +4313,7 @@
 	$(objpfx)sysd-dirs): Move them...
 	* Makeconfig: ... here.
 	* Makerules (subdirs-stamps, subdirs-stamp-o): Always define.
-	(stubs): Fix circular depedency.
+	(stubs): Fix circular dependency.
 	(do-makelib): Clean up.
 	(lib): Don't depend on lib-noranlib.
 	($(objpfx)stamp.oS): Remove special case for empty
@@ -4533,7 +4533,7 @@
 	* intl/localealias.c (read_alias_file): Use unsigned char for
 	local variables.  Remove unused variable tp.
 	* intl/l10nflist.c (_nl_normalize_codeset): Use unsigned char *
-	for type of codeset.  For loosing Solaris systems.
+	for type of codeset.  For losing Solaris systems.
 	* intl/loadinfo.h: Adapt prototype of _nl_normalize_codeset.
 	* intl/bindtextdom.c (BINDTEXTDOMAIN): Don't define local variable
 	len if not needed.
@@ -4951,7 +4951,7 @@
 
 1998-04-22  Gordon Matzigkeit  <gord@profitpress.com>
 
-	* Makerules: Change occurances of `cd dir; cmd' to `cd dir && cmd'.
+	* Makerules: Change occurrences of `cd dir; cmd' to `cd dir && cmd'.
 	* Makefile: Likewise.
 	* posix/Makefile: Likewise.
 	* sysdeps/mach/hurd/Makefile: Likewise.
@@ -5381,7 +5381,7 @@
 	* iconv/gconv_builtin.h: Add UCS4 support.  Change references to
 	UCS4 into references to INTERNAL.
 	* iconv/gconv_simple.c: Implement UCS4<->INTERNAL converters.
-	Add endianess support to UCS functions.  Change references to
+	Add endianness support to UCS functions.  Change references to
 	UCS4 into references to INTERNAL.
 	* iconv/gconv_int.h: Change references to UCS4 into references to
 	INTERNAL.
@@ -5633,7 +5633,7 @@
 
 1998-04-12  Ulrich Drepper  <drepper@cygnus.com>
 
-	* iconvdata/sjis.c (gconv): Remove superfluous varaible declarations.
+	* iconvdata/sjis.c (gconv): Remove superfluous variable declarations.
 
 	* iconvdata/Makefile: Add rules for big5 conversion.
 	* iconvdata/gconv-modules: Likewise.
@@ -5969,7 +5969,7 @@
 1998-04-07  Ulrich Drepper  <drepper@cygnus.com>
 
 	* sysdeps/posix/mkstemp.c (mkstemp): Correct return value in case
-	template is wrong.  Remove unused varaible `ignored'.
+	template is wrong.  Remove unused variable `ignored'.
 
 1998-04-07  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
@@ -6667,7 +6667,7 @@
 	* elf/ldd.bash.in: Collect output of ldd --verify in verify_out.
 	* elf/ldd.sh.in: Likewise.
 	* elf/ldsodefs.h: Declare _dl_correct_cache_id.
-	* elf/rtld.c (dl_main): In --verify mode allow platform specifc action.
+	* elf/rtld.c (dl_main): In --verify mode allow platform specific action.
 	Use strsep correctly.
 	(process_envvars): Allow platform specific variables.
 	* sysdeps/generic/dl-cache.c (_dl_correct_cache_id): New variable.
@@ -7324,7 +7324,7 @@
 
 	* sysdeps/unix/opendir.c (__opendir): Don't block on FIFOs etc.
 	Optimize memory handling.
-	* sysdeps/unix/closedir.c: Optmize memory handling.
+	* sysdeps/unix/closedir.c: Optimize memory handling.
 
 1998-03-17  Ulrich Drepper  <drepper@cygnus.com>
 
@@ -8495,7 +8495,7 @@
 	(_mcleanup): Don't call write_gmon if in error state.  Don't try
 	to free array if not  successfully allocated.
 
-	* elf/dl-load.c (STRING): Define to __STRING to enble expansion.
+	* elf/dl-load.c (STRING): Define to __STRING to enable expansion.
 	Include elf.h to get macro definitions.
 	Use __ELF?NATIVE?CLASS in message, not __ELF_WORDSIZE.
 
@@ -9351,7 +9351,7 @@
 	* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
 	directory first and ignore install error.
 
-	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
+	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Subtract
 	128 from ptyno and fix a typo for the BSD style pty.
 
 1998-02-01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
@@ -9534,7 +9534,7 @@
 	[PR libc/441]
 
 	* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Use first
-	occurence in cache.  Reported by Rudolf Leitgeb
+	occurrence in cache.  Reported by Rudolf Leitgeb
 	<leitgeb@leland.stanford.edu>.
 	[PR libc/440]
 
@@ -10309,7 +10309,7 @@
 	* string/strsignal.c: Add support for real-time signals.
 
 	* sysdeps/generic/_strerror.c: Fix Handling of unknown error in
-	presense of small buffer.
+	presence of small buffer.
 
 	* sysdeps/i386/bits/string.h: Define _HAVE_STRING_ARCH_* macros.
 
@@ -11253,7 +11253,7 @@
 1997-12-06 17:00  H.J. Lu  <hjl@gnu.org>
 
 	* sysdeps/posix/sigblock.c (__sigblock): Don't check int mask
-	beyound its size.
+	beyond its size.
 	* sysdeps/posix/sigsetmask.c (__sigsetmask): Ditto.
 	* sysdeps/posix/sigvec.c (convert_mask, __sigvec): Ditto.
 
@@ -11371,7 +11371,7 @@
 	declaration to __syscall_rt_sigaction.
 
 	* sysdeps/unix/sysv/linux/sigreturn.c: Remove inclusion of
-	non-existant <sigcontext.h>.
+	non-existent <sigcontext.h>.
 
 1997-12-04  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
@@ -11407,7 +11407,7 @@
 
 	* Makeconfig: Add shared-thread-library variable.
 
-	* math/Makfile (CPPFLAGS): Add -D__LIBC_INTERNAL_MATH_INLINES.
+	* math/Makefile (CPPFLAGS): Add -D__LIBC_INTERNAL_MATH_INLINES.
 	* sysdeps/i386/Makefile: Don't define ___LIBC_INTERNAL_MATH_INLINES
 	here.
 	* sysdeps/m68k/fpu/e_acos.c: Likewise.
@@ -12313,7 +12313,7 @@
 	(CFLAGS-locfile.c): Likewise.
 	Suggested by Zack Weinberg <zack@rabi.phys.columbia.edu>.
 
-	* misc/hsearch_r.c (hsearch_r): Avoid undefinitely search for
+	* misc/hsearch_r.c (hsearch_r): Avoid indefinitely search for
 	non-existing entry if the table is full.
 
 	* posix/regex.h: Pretty print.
diff --git a/posix/tst-spawn5.c b/posix/tst-spawn5.c
index 1bd1afabcc..6b3d11cf82 100644
--- a/posix/tst-spawn5.c
+++ b/posix/tst-spawn5.c
@@ -269,7 +269,7 @@ do_test (int argc, char *argv[])
        + argv[1]: the application name
        + argv[2]: the lowest file descriptor expected
        + argv[3]: first expected open file descriptor   optional
-       + argv[n]: last expected open file descritptor   optional
+       + argv[n]: last expected open file descriptor   optional
 
      * When built with --enable-hardcoded-path-in-tests or issued without
        using the loader directly.  */
diff --git a/posix/wordexp.c b/posix/wordexp.c
index b34c4a939b..994d79161f 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -817,8 +817,8 @@ exec_comm_child (char *comm, int *fildes, bool showerr, bool noexec)
   __posix_spawn_file_actions_init (&fa);
 
   /* Redirect output.  For check syntax only (noexec being true), exec_comm
-     explicits sets fildes[1] to -1, so check its value to avoid a failure in
-     __posix_spawn_file_actions_adddup2.  */
+     explicitly sets fildes[1] to -1, so check its value to avoid a failure
+     in __posix_spawn_file_actions_adddup2.  */
   if (fildes[1] != -1)
     {
       if (__glibc_likely (fildes[1] != STDOUT_FILENO))
diff --git a/resolv/arpa/nameser_compat.h b/resolv/arpa/nameser_compat.h
index f1c390f3b9..f929661250 100644
--- a/resolv/arpa/nameser_compat.h
+++ b/resolv/arpa/nameser_compat.h
@@ -44,7 +44,7 @@ typedef struct {
 			/* fields in third byte */
 	unsigned	qr: 1;		/*%< response flag */
 	unsigned	opcode: 4;	/*%< purpose of message */
-	unsigned	aa: 1;		/*%< authoritive answer */
+	unsigned	aa: 1;		/*%< authoritative answer */
 	unsigned	tc: 1;		/*%< truncated message */
 	unsigned	rd: 1;		/*%< recursion desired */
 			/* fields in fourth byte */
@@ -58,7 +58,7 @@ typedef struct {
 			/* fields in third byte */
 	unsigned	rd :1;		/*%< recursion desired */
 	unsigned	tc :1;		/*%< truncated message */
-	unsigned	aa :1;		/*%< authoritive answer */
+	unsigned	aa :1;		/*%< authoritative answer */
 	unsigned	opcode :4;	/*%< purpose of message */
 	unsigned	qr :1;		/*%< response flag */
 			/* fields in fourth byte */
diff --git a/resolv/bits/types/res_state.h b/resolv/bits/types/res_state.h
index 2544a627f6..79e079c5c9 100644
--- a/resolv/bits/types/res_state.h
+++ b/resolv/bits/types/res_state.h
@@ -11,7 +11,7 @@
 #define MAXRESOLVSORT		10	/* number of net to sort on */
 
 struct __res_state {
-	int	retrans;		/* retransmition time interval */
+	int	retrans;		/* retransmission time interval */
 	int	retry;			/* number of times to retransmit */
 	unsigned long options;		/* option flags - see below. */
 	int	nscount;		/* number of name servers */
diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c
index 9e3b1d29b7..d02bd7ed23 100644
--- a/resolv/gai_misc.c
+++ b/resolv/gai_misc.c
@@ -85,11 +85,11 @@ static int idle_thread_count;
 
 
 /* These are the values used for optimization.  We will probably
-   create a funcion to set these values.  */
+   create a function to set these values.  */
 static struct gaiinit optim =
 {
   20,	/* int gai_threads;	Maximal number of threads.  */
-  64,	/* int gai_num;		Number of expected simultanious requests. */
+  64,	/* int gai_num;		Number of expected simultaneous requests. */
   0,
   0,
   0,
diff --git a/resolv/gai_misc.h b/resolv/gai_misc.h
index 439bed361d..1e245a509c 100644
--- a/resolv/gai_misc.h
+++ b/resolv/gai_misc.h
@@ -58,7 +58,7 @@ struct requestlist
 struct gaiinit
   {
     int gai_threads;		/* Maximal number of threads.  */
-    int gai_num;		/* Number of expected simultanious requests. */
+    int gai_num;		/* Number of expected simultaneous requests. */
     int gai_locks;		/* Not used.  */
     int gai_usedba;		/* Not used.  */
     int gai_debug;		/* Not used.  */
diff --git a/resolv/inet_net_pton.c b/resolv/inet_net_pton.c
index aab9b7b582..63a47b7394 100644
--- a/resolv/inet_net_pton.c
+++ b/resolv/inet_net_pton.c
@@ -157,7 +157,7 @@ inet_net_pton_ipv4 (const char *src, u_char *dst, size_t size)
 			goto emsgsize;
 	}
 
-	/* Firey death and destruction unless we prefetched EOS. */
+	/* Fiery death and destruction unless we prefetched EOS. */
 	if (ch != '\0')
 		goto enoent;
 
diff --git a/resolv/inet_pton.c b/resolv/inet_pton.c
index fae52145cc..e84a83499c 100644
--- a/resolv/inet_pton.c
+++ b/resolv/inet_pton.c
@@ -121,7 +121,7 @@ inet_pton4 (const char *src, const char *end, unsigned char *dst)
   return 1;
 }
 
-/* Return the value of CH as a hexademical digit, or -1 if it is a
+/* Return the value of CH as a hexadecimal digit, or -1 if it is a
    different type of character.  */
 static int
 hex_digit_value (char ch)
diff --git a/resolv/ns_print.c b/resolv/ns_print.c
index 43f39edf61..cef2212fd2 100644
--- a/resolv/ns_print.c
+++ b/resolv/ns_print.c
@@ -491,7 +491,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
 		len = SPRINTF((tmp, "%lu ", t));
 		T(addstr(tmp, len, &buf, &buflen));
 
-		/* Experation. */
+		/* Expiration. */
 		t = ns_get32(rdata);  rdata += NS_INT32SZ;
 		len = SPRINTF((tmp, "%lu ", t));
 		T(addstr(tmp, len, &buf, &buflen));
diff --git a/resolv/ns_rr_cursor_next.c b/resolv/ns_rr_cursor_next.c
index 5a188a3604..09f74d4c8a 100644
--- a/resolv/ns_rr_cursor_next.c
+++ b/resolv/ns_rr_cursor_next.c
@@ -54,7 +54,7 @@ __ns_rr_cursor_next (struct ns_rr_cursor *c, struct ns_rr_wire *rr)
     }
   memcpy (&metadata, c->current, sizeof (metadata));
   c->current += sizeof (metadata);
-  /* Endianess conversion.  */
+  /* Endianness conversion.  */
   rr->rtype = ntohs (metadata.rtype);
   rr->rclass = ntohs (metadata.rclass);
   rr->ttl = ntohl (metadata.ttl);
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index ae1f8669d5..1d60c51f5e 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -715,7 +715,7 @@ getanswer_r (unsigned char *packet, size_t packetlen, uint16_t qtype,
   if (!__ns_rr_cursor_init (&c, packet, packetlen))
     {
       /* This should not happen because __res_context_query already
-	 perfroms response validation.  */
+	 performs response validation.  */
       *h_errnop = NO_RECOVERY;
       return NSS_STATUS_UNAVAIL;
     }
@@ -811,7 +811,7 @@ getanswer_ptr (unsigned char *packet, size_t packetlen,
   if (!__ns_rr_cursor_init (&c, packet, packetlen))
     {
       /* This should not happen because __res_context_query already
-	 perfroms response validation.  */
+	 performs response validation.  */
       *h_errnop = NO_RECOVERY;
       return NSS_STATUS_UNAVAIL;
     }
@@ -906,7 +906,7 @@ gaih_getanswer_slice (unsigned char *packet, size_t packetlen,
   if (!__ns_rr_cursor_init (&c, packet, packetlen))
     {
       /* This should not happen because __res_context_query already
-	 perfroms response validation.  */
+	 performs response validation.  */
       *h_errnop = NO_RECOVERY;
       return NSS_STATUS_UNAVAIL;
     }
diff --git a/resolv/res-noaaaa.c b/resolv/res-noaaaa.c
index b079ad77ca..26ffcc63a1 100644
--- a/resolv/res-noaaaa.c
+++ b/resolv/res-noaaaa.c
@@ -33,7 +33,7 @@ qtype_matches (const unsigned char *p, int expected)
 }
 
 /* Handle RES_NOAAAA translation of AAAA queries.  To produce a Name
-   Error (NXDOMAIN) repsonse for domain names that do not exist, it is
+   Error (NXDOMAIN) response for domain names that do not exist, it is
    still necessary to send a query.  Using question type A is a
    conservative choice.  In the returned answer, it is necessary to
    switch back the question type to AAAA.  */
diff --git a/resolv/resolv-internal.h b/resolv/resolv-internal.h
index c55f3c0366..2b98ac4920 100644
--- a/resolv/resolv-internal.h
+++ b/resolv/resolv-internal.h
@@ -58,7 +58,7 @@ res_use_inet6 (void)
 
 enum
   {
-    /* The advertized EDNS buffer size.  The value 1200 is derived
+    /* The advertised EDNS buffer size.  The value 1200 is derived
        from the IPv6 minimum MTU (1280 bytes) minus some arbitrary
        space for tunneling overhead.  If the DNS server does not react
        to ICMP Fragmentation Needed But DF Set messages, this should
diff --git a/resolv/resolv.h b/resolv/resolv.h
index 3a79ffea57..f40d6c58ce 100644
--- a/resolv/resolv.h
+++ b/resolv/resolv.h
@@ -87,7 +87,7 @@
 /*
  * Resolver configuration file.
  * Normally not present, but may contain the address of the
- * inital name server(s) to query and the domain search list.
+ * initial name server(s) to query and the domain search list.
  */
 
 #ifndef _PATH_RESCONF
diff --git a/resolv/resolv_conf.c b/resolv/resolv_conf.c
index 0ef66d49d3..bd5890773b 100644
--- a/resolv/resolv_conf.c
+++ b/resolv/resolv_conf.c
@@ -81,7 +81,7 @@ static struct resolv_conf_global *global;
 __libc_lock_define_initialized (static, lock);
 
 /* Ensure that GLOBAL is allocated and lock it.  Return NULL if
-   memory allocation failes.  */
+   memory allocation fails.  */
 static struct resolv_conf_global *
 get_locked_global (void)
 {
@@ -174,7 +174,7 @@ __resolv_conf_get_current (void)
 static struct resolv_conf *
 resolv_conf_get_1 (const struct __res_state *resp)
 {
-  /* Not initialized, and therefore no assoicated context.  */
+  /* Not initialized, and therefore no associated context.  */
   if (!(resp->options & RES_INIT))
     return NULL;
 
@@ -243,7 +243,7 @@ resolv_conf_matches (const struct __res_state *resp,
                      const struct resolv_conf *conf)
 {
   /* NB: Do not compare the options, retrans, retry, ndots.  These can
-     be changed by applicaiton.  */
+     be changed by application.  */
 
   /* Check that the name servers in *RESP have not been modified by
      the application.  */
diff --git a/resolv/resolv_context.c b/resolv/resolv_context.c
index aeb415b6d4..7bf7ce9df4 100644
--- a/resolv/resolv_context.c
+++ b/resolv/resolv_context.c
@@ -52,7 +52,7 @@
 static __thread struct resolv_context *current attribute_tls_model_ie;
 
 /* The resolv_conf handling will gives us a ctx->conf pointer even if
-   these fields do not match because a mis-match does not cause a loss
+   these fields do not match because a mismatch does not cause a loss
    of state (_res objects can store the full information).  This
    function checks to ensure that there is a full patch, to prevent
    overwriting a patched configuration.  */
diff --git a/resolv/resolv_context.h b/resolv/resolv_context.h
index c5d51a12a4..020b9bd775 100644
--- a/resolv/resolv_context.h
+++ b/resolv/resolv_context.h
@@ -78,7 +78,7 @@ void __resolv_context_put (struct resolv_context *ctx);
 libc_hidden_proto (__resolv_context_put)
 
 /* Like __resolv_context_get, but the _res structure can be partially
-   initialzed and those changes will not be overwritten.  */
+   initialized and those changes will not be overwritten.  */
 struct resolv_context *__resolv_context_get_preinit (void)
   __attribute__ ((warn_unused_result));
 libc_hidden_proto (__resolv_context_get_preinit)
diff --git a/resolv/tst-resolv-canonname.c b/resolv/tst-resolv-canonname.c
index 2a28193c37..33bab6638d 100644
--- a/resolv/tst-resolv-canonname.c
+++ b/resolv/tst-resolv-canonname.c
@@ -153,7 +153,7 @@ response (const struct resolv_response_context *ctx,
         }
       break;
     case 103:
-      /* NODATA repsonse.  */
+      /* NODATA response.  */
       resolv_response_init (b, (struct resolv_response_flags) {});
       resolv_response_add_question (b, qname, qclass, qtype);
       break;
diff --git a/resolv/tst-resolv-edns.c b/resolv/tst-resolv-edns.c
index a2245de948..6e0072b541 100644
--- a/resolv/tst-resolv-edns.c
+++ b/resolv/tst-resolv-edns.c
@@ -40,7 +40,7 @@ struct response_data
    response data.  The test DNS server returns the index of the array
    element which contains the actual response data.  This enables the
    test case to return arbitrary amounts of data with the limited
-   number of bits which fit into an IP addres.
+   number of bits which fit into an IP address.
 
    The volatile specifier is needed because the test case accesses
    these variables from a callback function called from a function
diff --git a/resolv/tst-resolv-qtypes.c b/resolv/tst-resolv-qtypes.c
index dee273c5cc..6c1ef3f7ec 100644
--- a/resolv/tst-resolv-qtypes.c
+++ b/resolv/tst-resolv-qtypes.c
@@ -25,7 +25,7 @@
 #include <support/test-driver.h>
 #include <support/xmemstream.h>
 
-/* If ture, the response function will send the actual response packet
+/* If true, the response function will send the actual response packet
    over TCP instead of UDP.  */
 static volatile bool force_tcp;
 
diff --git a/resolv/tst-resolv-res_init-skeleton.c b/resolv/tst-resolv-res_init-skeleton.c
index 24d980071e..cbdf377b84 100644
--- a/resolv/tst-resolv-res_init-skeleton.c
+++ b/resolv/tst-resolv-res_init-skeleton.c
@@ -1,4 +1,4 @@
-/* Test parsing of /etc/resolv.conf.  Genric version.
+/* Test parsing of /etc/resolv.conf.  Generic version.
    Copyright (C) 2017-2023 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -669,7 +669,7 @@ struct test_case test_cases[] =
      "; nameserver[0]: [192.0.2.1]:53\n"
      "; nameserver[1]: [192.0.2.3]:53\n"
     },
-    {.name = "RES_OPTIONS is cummulative",
+    {.name = "RES_OPTIONS is cumulative",
      .conf = "options timeout:7 ndots:2 use-vc\n"
      "nameserver 192.0.2.1\n",
      .expected = "options ndots:3 timeout:7 attempts:5 use-vc edns0\n"
diff --git a/resolv/tst-resolv-res_ninit.c b/resolv/tst-resolv-res_ninit.c
index e539828319..a274b5bf3a 100644
--- a/resolv/tst-resolv-res_ninit.c
+++ b/resolv/tst-resolv-res_ninit.c
@@ -55,8 +55,8 @@ do_test (void)
           TEST_VERIFY (conf != NULL);
         }
       else
-        /* The underyling configuration should be identical across all
-           res_state opjects because resolv.conf did not change.  */
+        /* The underlying configuration should be identical across all
+           res_state objects because resolv.conf did not change.  */
         TEST_VERIFY (ctx->conf == conf);
     }
   qsort (array, count, sizeof (*array), sort_res_state);
diff --git a/rt/aio.h b/rt/aio.h
index a9e6d7db29..8d014015a3 100644
--- a/rt/aio.h
+++ b/rt/aio.h
@@ -168,7 +168,7 @@ extern int aio_suspend (const struct aiocb *const __list[], int __nent,
 			const struct timespec *__restrict __timeout)
   __nonnull ((1));
 
-/* Force all operations associated with file desriptor described by
+/* Force all operations associated with file descriptor described by
    `aio_fildes' member of AIOCBP.  */
 extern int aio_fsync (int __operation, struct aiocb *__aiocbp)
   __THROW __nonnull ((2));
diff --git a/rt/aio_cancel.c b/rt/aio_cancel.c
index 446b028213..6f275c6303 100644
--- a/rt/aio_cancel.c
+++ b/rt/aio_cancel.c
@@ -106,7 +106,7 @@ __aio_cancel (int fildes, struct aiocb *aiocbp)
   else
     {
       /* Find the beginning of the list of all requests for this
-	 desriptor.  */
+	 descriptor.  */
       req = __aio_find_req_fd (fildes);
 
       /* If any request is worked on by a thread it must be the first.
diff --git a/rt/aio_misc.c b/rt/aio_misc.c
index 4b850b1ab6..5d21943ff2 100644
--- a/rt/aio_misc.c
+++ b/rt/aio_misc.c
@@ -371,7 +371,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation)
       /* The current file descriptor is worked on.  It makes no sense
 	 to start another thread since this new thread would fight
 	 with the running thread for the resources.  But we also cannot
-	 say that the thread processing this desriptor shall immediately
+	 say that the thread processing this descriptor shall immediately
 	 after finishing the current job process this request if there
 	 are other threads in the running queue which have a higher
 	 priority.  */
diff --git a/rt/timer_create.c b/rt/timer_create.c
index a94bff693c..672bd14ef0 100644
--- a/rt/timer_create.c
+++ b/rt/timer_create.c
@@ -108,7 +108,7 @@ timer_create (clockid_t clock_id, struct sigevent *evp, timer_t *timerid)
       else
 	pthread_attr_init (&newtimer->attr);
 
-      /* Ensure thread attributes call for deatched thread.  */
+      /* Ensure thread attributes call for detached thread.  */
       pthread_attr_setdetachstate (&newtimer->attr, PTHREAD_CREATE_DETACHED);
 
       /* Try to find existing thread having the right attributes.  */
diff --git a/rt/timer_gettime.c b/rt/timer_gettime.c
index 474ae5e463..efc2a74ef7 100644
--- a/rt/timer_gettime.c
+++ b/rt/timer_gettime.c
@@ -22,7 +22,7 @@
 #include "posix-timer.h"
 
 
-/* Get current value of timer TIMERID and store it in VLAUE.  */
+/* Get current value of timer TIMERID and store it in VALUE.  */
 int
 timer_gettime (timer_t timerid, struct itimerspec *value)
 {
diff --git a/rt/tst-mqueue2.c b/rt/tst-mqueue2.c
index fc04470629..c029f3c156 100644
--- a/rt/tst-mqueue2.c
+++ b/rt/tst-mqueue2.c
@@ -463,12 +463,12 @@ do_test (void)
 
   if (mq_unlink ("/tst-mqueue2-which-should-never-exist") != -1)
     {
-      puts ("mq_unlink of non-existant message queue unexpectedly succeeded");
+      puts ("mq_unlink of non-existent message queue unexpectedly succeeded");
       result = 1;
     }
   else if (errno != ENOENT)
     {
-      printf ("mq_unlink of non-existant message queue did not fail with "
+      printf ("mq_unlink of non-existent message queue did not fail with "
 	      "ENOENT: %m\n");
       result = 1;
     }
diff --git a/rt/tst-mqueue3.c b/rt/tst-mqueue3.c
index 126bfa45a2..d8b1422b1c 100644
--- a/rt/tst-mqueue3.c
+++ b/rt/tst-mqueue3.c
@@ -61,13 +61,13 @@ fct (union sigval s)
   /* Check the values.  */
   if (attr.mq_maxmsg != MAXMSG)
     {
-      printf ("%s: mq_maxmsg wrong: is %jd, expecte %d\n",
+      printf ("%s: mq_maxmsg wrong: is %jd, expected %d\n",
 	      __FUNCTION__, (intmax_t) attr.mq_maxmsg, MAXMSG);
       exit (1);
     }
   if (attr.mq_msgsize != MAXMSG)
     {
-      printf ("%s: mq_msgsize wrong: is %jd, expecte %d\n",
+      printf ("%s: mq_msgsize wrong: is %jd, expected %d\n",
 	      __FUNCTION__, (intmax_t) attr.mq_msgsize, MSGSIZE);
       exit (1);
     }
diff --git a/rt/tst-mqueue4.c b/rt/tst-mqueue4.c
index 841ce14ac6..fe456287a3 100644
--- a/rt/tst-mqueue4.c
+++ b/rt/tst-mqueue4.c
@@ -62,7 +62,7 @@ do_test (void)
   mqd_t q2 = mq_open (name, O_CREAT | O_EXCL | O_RDWR, 0600, &attr);
   if (q2 == (mqd_t) -1)
     {
-      printf ("mq_open with NAME_MAX long name compoment failed with: %m\n");
+      printf ("mq_open with NAME_MAX long name component failed with: %m\n");
       result = 1;
     }
 
diff --git a/rt/tst-mqueue5.c b/rt/tst-mqueue5.c
index ea5ff65ae4..9416af28bd 100644
--- a/rt/tst-mqueue5.c
+++ b/rt/tst-mqueue5.c
@@ -522,7 +522,7 @@ do_child (const char *name, pthread_barrier_t *b2, pthread_barrier_t *b3,
       result = 1;
     }
 
-  /* Reenable test signals before cleaning up the thread.  */
+  /* Re-enable test signals before cleaning up the thread.  */
   if (pthread_sigmask (SIG_UNBLOCK, &set, NULL))
     {
       printf ("Failed to unblock SIGRTMIN in child: %m\n");
diff --git a/scripts/dso-ordering-test.py b/scripts/dso-ordering-test.py
index b069b5ad76..e4da3d64fd 100644
--- a/scripts/dso-ordering-test.py
+++ b/scripts/dso-ordering-test.py
@@ -1069,7 +1069,7 @@ def process_testcase(t):
                           t.test_name))
     t.sh.close()
 
-# Decription file parsing
+# Description file parsing
 def parse_description_file(filename):
     global default_tunable_options
     global current_input_lineno
diff --git a/scripts/glibcelf.py b/scripts/glibcelf.py
index 6f48eee129..b52e83d613 100644
--- a/scripts/glibcelf.py
+++ b/scripts/glibcelf.py
@@ -275,7 +275,7 @@ class ElfClass(_TypedConstant):
 _register_elf_h(ElfClass, prefix='ELFCLASS')
 
 class ElfData(_TypedConstant):
-    """ELF endianess.  Type of EI_DATA values."""
+    """ELF endianness.  Type of EI_DATA values."""
 _register_elf_h(ElfData, prefix='ELFDATA')
 
 class Machine(_TypedConstant):
diff --git a/scripts/glibcpp.py b/scripts/glibcpp.py
index 5dc99f0120..4e1326c10b 100644
--- a/scripts/glibcpp.py
+++ b/scripts/glibcpp.py
@@ -222,7 +222,7 @@ class MacroDefinition(collections.namedtuple('MacroDefinition',
     args is None for a macro that is not function-like.  Otherwise, it
     is a tuple that contains the macro argument name tokens.
 
-    body is a tuple that contains the tokens that constitue the body
+    body is a tuple that contains the tokens that constitute the body
     of the macro definition (excluding whitespace).
 
     error is None if no error was detected, or otherwise a problem
@@ -242,7 +242,7 @@ class MacroDefinition(collections.namedtuple('MacroDefinition',
 
     @property
     def line(self):
-        """Return the line number of the macro defintion."""
+        """Return the line number of the macro definition."""
         return self.name_token.line
 
     @property
@@ -387,7 +387,7 @@ def macro_eval(macro_defs, reporter):
     evaluated = OrderedDict()
 
     # String to macro definitions during evaluation.  Nice error
-    # reporting relies on determinstic iteration order.
+    # reporting relies on deterministic iteration order.
     stack = OrderedDict()
 
     def eval_token(current, token):
diff --git a/scripts/pylintrc b/scripts/pylintrc
index c92f100b4b..d772cb0a7d 100644
--- a/scripts/pylintrc
+++ b/scripts/pylintrc
@@ -33,7 +33,7 @@ load-plugins=
 # can either give multiple identifiers separated by comma (,) or put this
 # option multiple times (only on the command line, not in the configuration
 # file where it should appear only once).You can also use "--disable=all" to
-# disable everything first and then reenable specific checks. For example, if
+# disable everything first and then re-enable specific checks. For example, if
 # you want to run only the similarities checker, you can use "--disable=all
 # --enable=similarities". If you want to run only the classes checker, but have
 # no Warning level messages displayed, use"--disable=all --enable=classes
diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index 870ba5e414..b67e71c43d 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -154,7 +154,7 @@ extern ssize_t sendto (int __fd, const void *__buf, size_t __n,
 		       socklen_t __addr_len);
 
 /* Read N bytes into BUF through socket FD.
-   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
+   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of
    the sender, and store the actual size of the address in *ADDR_LEN.
    Returns the number of bytes read or -1 for errors.
 
diff --git a/stdio-common/printf_fphex.c b/stdio-common/printf_fphex.c
index d657834ae4..0c3dfb1a12 100644
--- a/stdio-common/printf_fphex.c
+++ b/stdio-common/printf_fphex.c
@@ -380,7 +380,7 @@ __printf_fphex_l_buffer (struct __printf_buffer *buf, locale_t loc,
 
 
 /* The wide buffer version is implemented by translating the output of
-   the multibyte verison.  */
+   the multibyte version.  */
 
 struct __printf_buffer_fphex_to_wide
 {
diff --git a/stdio-common/tst-fmemopen2.c b/stdio-common/tst-fmemopen2.c
index fc493aa4d7..6ff7a81c7a 100644
--- a/stdio-common/tst-fmemopen2.c
+++ b/stdio-common/tst-fmemopen2.c
@@ -157,7 +157,7 @@ do_test_without_buffer (void)
   return result;
 }
 
-/* Check fmemopen with a buffer lenght of zero.  */
+/* Check fmemopen with a buffer length of zero.  */
 static int
 do_test_length_zero (void)
 {
diff --git a/stdio-common/tst-fmemopen3.c b/stdio-common/tst-fmemopen3.c
index 3cc2832edc..bef87b712a 100644
--- a/stdio-common/tst-fmemopen3.c
+++ b/stdio-common/tst-fmemopen3.c
@@ -34,7 +34,7 @@ print_buffer (const char *s, size_t n)
     }
 }
 
-/* This test check append mode initial position (a/a+) based on POSIX defition
+/* This test check append mode initial position (a/a+) based on POSIX definition
    (BZ#6544 and BZ#13151).  */
 static int
 do_test_write_append (const char *mode)
@@ -59,7 +59,7 @@ do_test_write_append (const char *mode)
   return 0;
 }
 
-/* This test check append mode initial position (a/a+) based on POSIX defition
+/* This test check append mode initial position (a/a+) based on POSIX definition
    (BZ#6544 and BZ#13151) for buffer without null byte end.  */
 static int
 do_test_write_append_without_null (const char *mode)
@@ -94,7 +94,7 @@ do_test_write_append_without_null (const char *mode)
   return 0;
 }
 
-/* This test check for initial position and feek value for fmemopen objects
+/* This test check for initial position and seek value for fmemopen objects
    opened with append mode.  */
 static int
 do_test_read_append (void)
diff --git a/stdio-common/tst-printf-bz25691.c b/stdio-common/tst-printf-bz25691.c
index e6fa2433fa..db81fdf590 100644
--- a/stdio-common/tst-printf-bz25691.c
+++ b/stdio-common/tst-printf-bz25691.c
@@ -58,7 +58,7 @@ do_test (void)
     free (winput);
   }
 
-  /* For 's' converstion specifier the array is interpreted as a multibyte
+  /* For 's' conversion specifier the array is interpreted as a multibyte
      character sequence and converted to wide characters up to the precision
      specific value.  */
   {
diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
index 2e1a5c07e5..0a90a7228f 100644
--- a/stdio-common/tst-sscanf.c
+++ b/stdio-common/tst-sscanf.c
@@ -237,7 +237,7 @@ do_test (void)
      The test will segfault during SSCANF if the buffer overflow
      is not fixed.  The size of `s` is such that it forces the use
      of malloc internally and this triggers the incorrect computation.
-     Thus the value for SIZE is arbitrariy high enough that malloc
+     Thus the value for SIZE is arbitrarily high enough that malloc
      is used.  */
   {
 #define SIZE 131072
diff --git a/stdio-common/vfscanf-internal.c b/stdio-common/vfscanf-internal.c
index d9675bd4b1..a3ebf63554 100644
--- a/stdio-common/vfscanf-internal.c
+++ b/stdio-common/vfscanf-internal.c
@@ -668,7 +668,7 @@ __vfscanf_internal (FILE *s, const char *format, va_list argptr,
 	      /* We have a severe problem here.  The ISO C standard
 		 contradicts itself in explaining the effect of the %n
 		 format in `scanf'.  While in ISO C:1990 and the ISO C
-		 Amendement 1:1995 the result is described as
+		 Amendment 1:1995 the result is described as
 
 		   Execution of a %n directive does not effect the
 		   assignment count returned at the completion of
@@ -2749,7 +2749,7 @@ __vfscanf_internal (FILE *s, const char *format, va_list argptr,
 #endif
 
 	      if (__glibc_unlikely (now == read_in))
-		/* We haven't succesfully read any character.  */
+		/* We haven't successfully read any character.  */
 		conv_error ();
 
 	      if (!(flags & SUPPRESS))
@@ -2947,7 +2947,7 @@ __vfscanf_internal (FILE *s, const char *format, va_list argptr,
 #endif
 
 	      if (__glibc_unlikely (now == read_in))
-		/* We haven't succesfully read any character.  */
+		/* We haven't successfully read any character.  */
 		conv_error ();
 
 	      if (!(flags & SUPPRESS))
diff --git a/stdlib/inttypes.h b/stdlib/inttypes.h
index 0ace21f54d..8f0fa8ab9f 100644
--- a/stdlib/inttypes.h
+++ b/stdlib/inttypes.h
@@ -294,7 +294,7 @@ typedef wchar_t __gwchar_t;
 # define SCNuMAX	__PRI64_PREFIX "u"
 # define SCNxMAX	__PRI64_PREFIX "x"
 
-/* Macros for scaning `intptr_t' and `uintptr_t'.  */
+/* Macros for scanning `intptr_t' and `uintptr_t'.  */
 # define SCNdPTR	__PRIPTR_PREFIX "d"
 # define SCNiPTR	__PRIPTR_PREFIX "i"
 # define SCNoPTR	__PRIPTR_PREFIX "o"
diff --git a/stdlib/lldiv.c b/stdlib/lldiv.c
index f00d1599db..bd7c6b2a94 100644
--- a/stdlib/lldiv.c
+++ b/stdlib/lldiv.c
@@ -1,4 +1,4 @@
-/* `long long int' divison with remainder.
+/* `long long int' division with remainder.
    Copyright (C) 1992-2023 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/stdlib/longlong.h b/stdlib/longlong.h
index fa1687f5f3..ae067d934d 100644
--- a/stdlib/longlong.h
+++ b/stdlib/longlong.h
@@ -1074,7 +1074,7 @@ extern UDItype __umulsidi3 (USItype, USItype);
 #elif __riscv_xlen == 64
   #define MULUW3 "call __muldi3"
 #else
-#error unsupport xlen
+#error unsupported xlen
 #endif /* __riscv_xlen */
 /* We rely on the fact that MULUW3 doesn't clobber the t-registers.
    It can get better register allocation result.  */
diff --git a/stdlib/tst-arc4random-stats.c b/stdlib/tst-arc4random-stats.c
index f0edffb16d..1808cf6524 100644
--- a/stdlib/tst-arc4random-stats.c
+++ b/stdlib/tst-arc4random-stats.c
@@ -117,7 +117,7 @@ generate_arc4random_uniform (unsigned char *key)
 
 /* Test adapter for arc4random_uniform with argument 257.  This means
    that byte 0 happens more often, but we do not perform such a
-   statistcal check, so the test will still pass */
+   statistical check, so the test will still pass */
 static bool
 generate_arc4random_uniform_257 (unsigned char *key)
 {
diff --git a/stdlib/tst-arc4random-thread.c b/stdlib/tst-arc4random-thread.c
index 010828920e..d8863cf6d0 100644
--- a/stdlib/tst-arc4random-thread.c
+++ b/stdlib/tst-arc4random-thread.c
@@ -295,7 +295,7 @@ do_test_func (const char *fname, void (*func)(unsigned char *, size_t))
   run_outer_threads (func);
 
   /* The forking thread delivers a non-deterministic number of
-     results, which is why expected_blobs is only a minimun number of
+     results, which is why expected_blobs is only a minimum number of
      results.  */
   printf ("info: %s: %zu blob results observed\n", fname,
           dynarray_blob_size (&global_result));
diff --git a/stdlib/tst-canon-bz26341.c b/stdlib/tst-canon-bz26341.c
index 2d950d345b..bd0f575ccf 100644
--- a/stdlib/tst-canon-bz26341.c
+++ b/stdlib/tst-canon-bz26341.c
@@ -1,5 +1,5 @@
 /* Check if realpath does not consume extra stack space based on symlink
-   existance in the path (BZ #26341)
+   existence in the path (BZ #26341)
    Copyright (C) 2021-2023 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/stdlib/tst-random.c b/stdlib/tst-random.c
index 794d12a385..516beecef5 100644
--- a/stdlib/tst-random.c
+++ b/stdlib/tst-random.c
@@ -7,14 +7,14 @@
    is regenerated twice and checked against the stored values.
 
    First they are regenerated one sequence at a time, using srandom()
-   to set the initial state.  A discrepency here would suggest that
+   to set the initial state.  A discrepancy here would suggest that
    srandom() was failing to completely initialize the random number
    generator.
 
    Second the sequences are regenerated in an interleaved order.
    A state vector is created for each sequence using initstate().
    setstate() is used to switch from sequence to sequence during
-   the interleaved generation.  A discrepency here would suggest
+   the interleaved generation.  A discrepancy here would suggest
    a problem with either initstate() failing to initialize the
    random number generator properly, or the failure of setstate()
    to correctly save and restore state information.  Also, each
@@ -54,7 +54,7 @@ do_test (void)
   int s;			/* sequence index */
   int i;			/* element index */
 
-  printf ("Begining random package test using %d sequences of length %d.\n",
+  printf ("Beginning random package test using %d sequences of length %d.\n",
 	  nseq, nrnd);
 
   /* 1. Generate and store the sequences.  */
diff --git a/stdlib/tst-setcontext.c b/stdlib/tst-setcontext.c
index 9294472471..d65f3b9d6b 100644
--- a/stdlib/tst-setcontext.c
+++ b/stdlib/tst-setcontext.c
@@ -111,7 +111,7 @@ test_stack (volatile int a, volatile int b,
 
   if (e != 5)
     {
-      printf ("%s: getcontext clobbers varible e\n", __FUNCTION__);
+      printf ("%s: getcontext clobbers variable e\n", __FUNCTION__);
       exit (1);
     }
 
diff --git a/string/memcmpeq.c b/string/memcmpeq.c
index c38e7b0567..5397c05d53 100644
--- a/string/memcmpeq.c
+++ b/string/memcmpeq.c
@@ -16,7 +16,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 /* This file is intentionally left empty.  It exists so that both
-   architectures which implement __memcmpeq seperately from memcmp and
+   architectures which implement __memcmpeq separately from memcmp and
    architectures which implement __memcmpeq by having it alias memcmp will
    build.
 
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
index d60e1ba4a7..5f7b8606f6 100644
--- a/string/strcoll_l.c
+++ b/string/strcoll_l.c
@@ -103,7 +103,7 @@ get_next_seq (coll_seq *seq, int nrules, const unsigned char *rulesets,
 	  else
 	    {
 	      /* XXX Traverse BACKW sequences from the beginning of
-		 BACKW_STOP to get the next sequence.  Is ther a quicker way
+		 BACKW_STOP to get the next sequence.  Is there a quicker way
 	         to do this?  */
 	      size_t i = backw_stop;
 	      us = seq->back_us;
diff --git a/string/test-memcmp.c b/string/test-memcmp.c
index bc46a66bfd..7093a9a685 100644
--- a/string/test-memcmp.c
+++ b/string/test-memcmp.c
@@ -45,7 +45,7 @@ SIMPLE_MEMCMP (const wchar_t *s1, const wchar_t *s2, size_t n)
   int ret = 0;
   /* Warning!
 	wmemcmp has to use SIGNED comparison for elements.
-	memcmp has to use UNSIGNED comparison for elemnts.
+	memcmp has to use UNSIGNED comparison for elements.
   */
   while (n-- && (ret = *s1 < *s2 ? -1 : *s1 == *s2 ? 0 : 1) == 0) {s1++; s2++;}
   return ret;
diff --git a/string/test-strcasecmp.c b/string/test-strcasecmp.c
index 805e8519fb..4ff680f264 100644
--- a/string/test-strcasecmp.c
+++ b/string/test-strcasecmp.c
@@ -99,7 +99,7 @@ do_test (size_t align1, size_t align2, size_t len, int max_char,
   else
     s2[len - 1] -= exp_result;
 
-  /* For some locals this is not guranteed yet.  */
+  /* For some locals this is not guaranteed yet.  */
   if (tolower (s1[len - 1]) - tolower (s2[len - 1]) != exp_result)
     {
       if (exp_result == -1)
diff --git a/string/test-strcmp.c b/string/test-strcmp.c
index fa3161688c..fb52559400 100644
--- a/string/test-strcmp.c
+++ b/string/test-strcmp.c
@@ -48,7 +48,7 @@
 # define CHAR__MIN WCHAR_MIN
 
 /* Wcscmp uses signed semantics for comparison, not unsigned */
-/* Avoid using substraction since possible overflow */
+/* Avoid using subtraction since possible overflow */
 
 int
 simple_wcscmp (const wchar_t *s1, const wchar_t *s2)
diff --git a/string/test-strncasecmp.c b/string/test-strncasecmp.c
index 6246fe5c1b..5f0654efc5 100644
--- a/string/test-strncasecmp.c
+++ b/string/test-strncasecmp.c
@@ -119,7 +119,7 @@ do_test (size_t align1, size_t align2, size_t n, size_t len, int max_char,
   else
     s2[len - 1] -= exp_result;
 
-  /* For some locals this is not guranteed yet.  */
+  /* For some locals this is not guaranteed yet.  */
   if (tolower (s1[len - 1]) - tolower (s2[len - 1]) != exp_result)
     {
       if (exp_result == -1)
diff --git a/string/test-strncmp.c b/string/test-strncmp.c
index 35dc496eae..75e745a5ba 100644
--- a/string/test-strncmp.c
+++ b/string/test-strncmp.c
@@ -44,7 +44,7 @@
 # define CHAR__MIN WCHAR_MIN
 
 /* Wcsncmp uses signed semantics for comparison, not unsigned.
-   Avoid using substraction since possible overflow */
+   Avoid using subtraction since possible overflow */
 int
 simple_wcsncmp (const CHAR *s1, const CHAR *s2, size_t n)
 {
diff --git a/string/test-strnlen.c b/string/test-strnlen.c
index ef73dd34f4..10e7540a1e 100644
--- a/string/test-strnlen.c
+++ b/string/test-strnlen.c
@@ -260,7 +260,7 @@ do_page_tests (void)
 }
 
 /* Tests meant to unveil fail on implementations that access bytes
-   beyond the maxium length.  */
+   beyond the maximum length.  */
 
 static void
 do_page_2_tests (void)
diff --git a/string/tst-memmove-overflow.c b/string/tst-memmove-overflow.c
index 97e19af757..d17a3aa795 100644
--- a/string/tst-memmove-overflow.c
+++ b/string/tst-memmove-overflow.c
@@ -1,4 +1,4 @@
-/* Test for signed comparision bug in memmove (bug 25620).
+/* Test for signed comparison bug in memmove (bug 25620).
    Copyright (C) 2020-2023 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c
index 8ea4303d7d..b0b29e09a7 100644
--- a/sunrpc/key_call.c
+++ b/sunrpc/key_call.c
@@ -30,7 +30,7 @@
  */
 /*
  * The original source is from the RPCSRC 4.0 package from Sun Microsystems.
- * The Interface to keyserver protocoll 2, RPC over AF_UNIX and Linux/doors
+ * The Interface to keyserver protocol 2, RPC over AF_UNIX and Linux/doors
  * was added by Thorsten Kukuk <kukuk@suse.de>
  * Since the Linux/doors project was stopped, I doubt that this code will
  * ever be useful <kukuk@suse.de>.
diff --git a/sunrpc/rpc/clnt.h b/sunrpc/rpc/clnt.h
index f4d4a941c7..388efaf887 100644
--- a/sunrpc/rpc/clnt.h
+++ b/sunrpc/rpc/clnt.h
@@ -106,8 +106,8 @@ struct rpc_err {
     int RE_errno;		/* related system error */
     enum auth_stat RE_why;	/* why the auth error occurred */
     struct {
-      u_long low;		/* lowest verion supported */
-      u_long high;		/* highest verion supported */
+      u_long low;		/* lowest version supported */
+      u_long high;		/* highest version supported */
     } RE_vers;
     struct {			/* maybe meaningful if RPC_FAILED */
       long s1;
diff --git a/sunrpc/tst-svc_register.c b/sunrpc/tst-svc_register.c
index 434a5bedef..af61f11263 100644
--- a/sunrpc/tst-svc_register.c
+++ b/sunrpc/tst-svc_register.c
@@ -241,7 +241,7 @@ do_test (void)
                                (NULL, test_server_thread, &args));
               else
                 test_server_thread (&args);
-              /* We cannnot use _exit here because we want to test the
+              /* We cannot use _exit here because we want to test the
                  process cleanup.  */
               exit (0);
             }
diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c
index c9a1eaad63..dce0383039 100644
--- a/sunrpc/xdr_rec.c
+++ b/sunrpc/xdr_rec.c
@@ -102,7 +102,7 @@ typedef struct rec_strm
     caddr_t out_base;		/* output buffer (points to frag header) */
     caddr_t out_finger;		/* next output position */
     caddr_t out_boundry;	/* data cannot up to this address */
-    uint32_t *frag_header;	/* beginning of curren fragment */
+    uint32_t *frag_header;	/* beginning of current fragment */
     bool_t frag_sent;		/* true if buffer sent in middle of record */
     /*
      * in-coming bits
diff --git a/sunrpc/xdr_ref.c b/sunrpc/xdr_ref.c
index eab3b74227..3f5904d4a2 100644
--- a/sunrpc/xdr_ref.c
+++ b/sunrpc/xdr_ref.c
@@ -51,7 +51,7 @@
  * referenced by a pointer inside the structure that is currently being
  * translated.  pp references a pointer to storage. If *pp is null
  * the  necessary storage is allocated.
- * size is the size of the referneced structure.
+ * size is the size of the referenced structure.
  * proc is the routine to handle the referenced structure.
  */
 bool_t
diff --git a/support/Makefile b/support/Makefile
index 92f1a2468a..130de4a985 100644
--- a/support/Makefile
+++ b/support/Makefile
@@ -237,7 +237,7 @@ CFLAGS-support_paths.c = \
 
 # In support_timespec_check_in_range we may be passed a very tight
 # range for which we should produce a correct result for expected
-# being withing the observed range.  The code uses double internally
+# being within the observed range.  The code uses double internally
 # in support_timespec_check_in_range and for that computation we use
 # -fexcess-precision=standard.
 CFLAGS-timespec.c += -fexcess-precision=standard
diff --git a/support/README b/support/README
index ae2c41caa8..e9e74ad5cc 100644
--- a/support/README
+++ b/support/README
@@ -14,7 +14,7 @@ error.  They are declared in these header files:
 
 In general, new wrappers should be added to support.h if possible.
 However, support.h must remain fully compatible with C90 and therefore
-cannot include headers which use identifers not reserved in C90.  If
+cannot include headers which use identifiers not reserved in C90.  If
 the wrappers need additional types, additional headers such as
 signal.h need to be introduced.
 
diff --git a/support/delayed_exit.c b/support/delayed_exit.c
index e5028bf13f..53aa40c275 100644
--- a/support/delayed_exit.c
+++ b/support/delayed_exit.c
@@ -33,7 +33,7 @@ delayed_exit_thread (void *seconds_as_ptr)
   struct timespec remaining = { 0 };
   if (nanosleep (&delay, &remaining) != 0)
     FAIL_EXIT1 ("nanosleep: %m");
-  /* Exit the process sucessfully.  */
+  /* Exit the process successfully.  */
   exit (0);
   return NULL;
 }
diff --git a/support/resolv_test.c b/support/resolv_test.c
index fd1f5e78bb..c5694631f2 100644
--- a/support/resolv_test.c
+++ b/support/resolv_test.c
@@ -91,7 +91,7 @@ ascii_tolower (unsigned char ch)
 }
 
 /* Compare both names, for use with tsearch.  The order is arbitrary,
-   but the comparison is case-insenstive.  */
+   but the comparison is case-insensitive.  */
 static int
 compare_compressed_name (const void *left, const void *right)
 {
@@ -119,7 +119,7 @@ compare_compressed_name (const void *left, const void *right)
       if (lenleft == 0)
         /* End of name reached without spotting a difference.  */
         return 0;
-      /* Compare the label in a case-insenstive manner.  */
+      /* Compare the label in a case-insensitive manner.  */
       const unsigned char *endnameleft = nameleft + lenleft;
       while (nameleft < endnameleft)
         {
@@ -525,7 +525,7 @@ parse_query (struct query_info *info,
       _Static_assert (sizeof (rr) == 11, "EDNS record size");
 
       if (remaining < 4 + sizeof (rr))
-        FAIL_EXIT1 ("mailformed DNS query: no room for EDNS record");
+        FAIL_EXIT1 ("malformed DNS query: no room for EDNS record");
       memcpy (&rr, buffer + 12 + ret + 4, sizeof (rr));
       if (rr.root != 0)
         FAIL_EXIT1 ("malformed DNS query: invalid OPT RNAME: %d\n", rr.root);
@@ -843,7 +843,7 @@ writev_fully (int fd, struct iovec *buffers, size_t count)
           --count;
           continue;
         }
-      /* Try to rewrite the remaing buffers.  */
+      /* Try to rewrite the remaining buffers.  */
       ssize_t ret = writev (fd, buffers, count);
       if (ret < 0)
         FAIL_EXIT1 ("writev: %m");
@@ -969,7 +969,7 @@ server_thread_tcp (struct resolv_test *obj, int server_index)
 {
   while (true)
     {
-      /* Get the client conenction.  */
+      /* Get the client connection.  */
       int client_socket = xaccept
         (obj->servers[server_index].socket_tcp, NULL, NULL);
 
diff --git a/support/resolv_test.h b/support/resolv_test.h
index 8d05fc4e06..32673f0213 100644
--- a/support/resolv_test.h
+++ b/support/resolv_test.h
@@ -116,7 +116,7 @@ struct resolv_redirect_config
   const struct sockaddr *const *server_address_overrides;
 };
 
-/* Configure NSS to use, nss_dns only for aplicable databases, and try
+/* Configure NSS to use, nss_dns only for applicable databases, and try
    to put the process into a network namespace for better isolation.
    This may have to be called before resolv_test_start, before the
    process creates any threads.  Otherwise, initialization is
@@ -125,7 +125,7 @@ void resolv_test_init (void);
 
 /* Initiate resolver testing.  This updates the _res variable as
    needed.  As a side effect, NSS is reconfigured to use nss_dns only
-   for aplicable databases, and the process may enter a network
+   for applicable databases, and the process may enter a network
    namespace for better isolation.  */
 struct resolv_test *resolv_test_start (struct resolv_redirect_config);
 
diff --git a/support/support_record_failure.c b/support/support_record_failure.c
index 27055bde0c..711f08801b 100644
--- a/support/support_record_failure.c
+++ b/support/support_record_failure.c
@@ -32,7 +32,7 @@
    zero, the failure of a test can be detected.
 
    The init constructor function below puts *state on a shared
-   annonymous mapping, so that failure reports from subprocesses
+   anonymous mapping, so that failure reports from subprocesses
    propagate to the parent process.  */
 struct test_failures
 {
diff --git a/support/support_test_main.c b/support/support_test_main.c
index 94f02dfb4f..c20c19e774 100644
--- a/support/support_test_main.c
+++ b/support/support_test_main.c
@@ -469,7 +469,7 @@ support_test_main (int argc, char **argv, const struct test_config *config)
       exit (1);
     }
 
-  /* Process terminated normaly without timeout etc.  */
+  /* Process terminated normally without timeout etc.  */
   if (WIFEXITED (status))
     {
       if (config->expected_status == 0)
diff --git a/support/temp_file.c b/support/temp_file.c
index 536f238175..74e3861d40 100644
--- a/support/temp_file.c
+++ b/support/temp_file.c
@@ -249,7 +249,7 @@ support_delete_temp_files (void)
   pid_t pid = getpid ();
   while (temp_name_list != NULL)
     {
-      /* Only perform the removal if the path was registed in the same
+      /* Only perform the removal if the path was registered in the same
 	 process, as identified by the PID.  (This assumes that the
 	 parent process which registered the temporary file sticks
 	 around, to prevent PID reuse.)  */
diff --git a/support/test-container.c b/support/test-container.c
index 008ced2d25..20ea19af37 100644
--- a/support/test-container.c
+++ b/support/test-container.c
@@ -279,7 +279,7 @@ devmount (const char *new_root_path, const char *which)
 	    concat (new_root_path, "/dev/", which, NULL));
 }
 
-/* Returns true if the string "looks like" an environement variable
+/* Returns true if the string "looks like" an environment variable
    being set.  */
 static int
 is_env_setting (const char *a)
@@ -800,7 +800,7 @@ main (int argc, char **argv)
       --argc;
       while (is_env_setting (argv[1]))
 	{
-	  /* If there are variables we do NOT want to propogate, this
+	  /* If there are variables we do NOT want to propagate, this
 	     is where the test for them goes.  */
 	    {
 	      /* Need to keep these.  Note that putenv stores a
@@ -1175,7 +1175,7 @@ main (int argc, char **argv)
 
   /* To complete the containerization, we need to fork () at least
      once.  We can't exec, nor can we somehow link the new child to
-     our parent.  So we run the child and propogate it's exit status
+     our parent.  So we run the child and propagate it's exit status
      up.  */
   child = fork ();
   if (child < 0)
@@ -1233,11 +1233,11 @@ main (int argc, char **argv)
 	{
 	  /* This happens if we're trying to create a nested container,
 	     like if the build is running under podman, and we lack
-	     priviledges.
+	     privileges.
 
 	     Ideally we would WARN here, but that would just add noise to
 	     *every* test-container test, and the ones that care should
-	     have their own relevent diagnostics.
+	     have their own relevant diagnostics.
 
 	     FAIL_EXIT1 ("Unable to mount /proc: ");  */
 	}
diff --git a/support/tst-timespec.c b/support/tst-timespec.c
index aee191e5c0..08c2c71ef5 100644
--- a/support/tst-timespec.c
+++ b/support/tst-timespec.c
@@ -76,22 +76,22 @@ struct timespec_ns_test_case ns_cases[] = {
   {.time = {.tv_sec = -1, .tv_nsec = 1},
    .time_ns = -TIMESPEC_HZ + 1,
   },
-  /* Overflow bondary by 2  */
+  /* Overflow boundary by 2  */
   {.time = {.tv_sec = TIME_T_MAX / TIMESPEC_HZ,
 	    .tv_nsec = TIME_T_MAX % TIMESPEC_HZ - 1},
    .time_ns = TIME_T_MAX - 1,
   },
-  /* Overflow bondary  */
+  /* Overflow boundary  */
   {.time = {.tv_sec = TIME_T_MAX / TIMESPEC_HZ,
 	    .tv_nsec = TIME_T_MAX % TIMESPEC_HZ},
    .time_ns = TIME_T_MAX,
   },
-  /* Underflow bondary by 1  */
+  /* Underflow boundary by 1  */
   {.time = {.tv_sec = TIME_T_MIN / TIMESPEC_HZ,
 	    .tv_nsec = TIME_T_MIN % TIMESPEC_HZ + 1},
    .time_ns = TIME_T_MIN + 1,
   },
-  /* Underflow bondary  */
+  /* Underflow boundary  */
   {.time = {.tv_sec = TIME_T_MIN / TIMESPEC_HZ,
 	    .tv_nsec = TIME_T_MIN % TIMESPEC_HZ},
    .time_ns = TIME_T_MIN,
@@ -153,19 +153,19 @@ struct timespec_norm_test_case norm_cases[] = {
   {.time = {.tv_sec = -1, .tv_nsec = -TIMESPEC_HZ - 1},
    .norm = {.tv_sec = -2, .tv_nsec = -1}
   },
-  /* Overflow bondary by 2  */
+  /* Overflow boundary by 2  */
   {.time = {.tv_sec = TIME_T_MAX - 2, .tv_nsec = TIMESPEC_HZ + 1},
    .norm = {.tv_sec = TIME_T_MAX - 1, 1},
   },
-  /* Overflow bondary by 1  */
+  /* Overflow boundary by 1  */
   {.time = {.tv_sec = TIME_T_MAX - 1, .tv_nsec = TIMESPEC_HZ + 1},
    .norm = {.tv_sec = TIME_T_MAX, .tv_nsec = 1},
   },
-  /* Underflow bondary by 2  */
+  /* Underflow boundary by 2  */
   {.time = {.tv_sec = TIME_T_MIN + 2, .tv_nsec = -TIMESPEC_HZ - 1},
    .norm = {.tv_sec = TIME_T_MIN + 1, -1},
   },
-  /* Underflow bondary by 1  */
+  /* Underflow boundary by 1  */
   {.time = {.tv_sec = TIME_T_MIN + 1, .tv_nsec = -TIMESPEC_HZ - 1},
    .norm = {.tv_sec = TIME_T_MIN, .tv_nsec = -1},
   },
diff --git a/sysvipc/semop.c b/sysvipc/semop.c
index 48ee5ab5f6..c66e0be291 100644
--- a/sysvipc/semop.c
+++ b/sysvipc/semop.c
@@ -18,7 +18,7 @@
 #include <sys/sem.h>
 #include <errno.h>
 
-/* Perform user-defined atomical operation of array of semaphores.  */
+/* Perform user-defined atomic operation of array of semaphores.  */
 
 int
 semop (int semid, struct sembuf *sops, size_t nsops)
diff --git a/sysvipc/semtimedop.c b/sysvipc/semtimedop.c
index 6f7371c59f..b92745a2dc 100644
--- a/sysvipc/semtimedop.c
+++ b/sysvipc/semtimedop.c
@@ -18,7 +18,7 @@
 #include <sys/sem.h>
 #include <errno.h>
 
-/* Perform user-defined atomical operation of array of semaphores.  */
+/* Perform user-defined atomic operation of array of semaphores.  */
 
 int
 __semtimedop (int semid, struct sembuf *sops, size_t nsops,
diff --git a/time/asctime.c b/time/asctime.c
index d0671030c8..7e2b102d40 100644
--- a/time/asctime.c
+++ b/time/asctime.c
@@ -41,7 +41,7 @@ asctime_internal (const struct tm *tp, char *buf, size_t buflen)
 
   /* We limit the size of the year which can be printed.  Using the %d
      format specifier used the addition of 1900 would overflow the
-     number and a negative vaue is printed.  For some architectures we
+     number and a negative value is printed.  For some architectures we
      could in theory use %ld or an evern larger integer format but
      this would mean the output needs more space.  This would not be a
      problem if the 'asctime_r' interface would be defined sanely and
diff --git a/time/tst-clock.c b/time/tst-clock.c
index 66f23adcba..74a583f261 100644
--- a/time/tst-clock.c
+++ b/time/tst-clock.c
@@ -110,7 +110,7 @@ do_test (void)
     /* XXX It's not yet a bug when this fails.  */
     clock_test (cl);
   else
-	  printf("CPU clock unavailble, skipping test\n");
+	  printf("CPU clock unavailable, skipping test\n");
 
   return result;
 }
diff --git a/time/tst-difftime.c b/time/tst-difftime.c
index 7d2db59ed4..4f0572eb01 100644
--- a/time/tst-difftime.c
+++ b/time/tst-difftime.c
@@ -30,7 +30,7 @@ test_difftime_helper (time_t t1, time_t t0, double exp_val)
 static int
 do_test (void)
 {
-  time_t t = 1383791700; /* Provide reproductible start value.  */
+  time_t t = 1383791700; /* Provide reproducible start value.  */
 
   /* Check if difftime works with current time.  */
   test_difftime_helper (t + 1800, t - 1800, 3600.0);
diff --git a/time/tst-strptime2.c b/time/tst-strptime2.c
index 8019e7f5d8..edd655e0e9 100644
--- a/time/tst-strptime2.c
+++ b/time/tst-strptime2.c
@@ -37,7 +37,7 @@ static bool verbose;
      Sign field consisting of a '+' or '-' sign,
      Hours field in two decimal digits, and
      optional Minutes field in two decimal digits. Optionally,
-     a ':' is used to seperate hours and minutes.
+     a ':' is used to separate hours and minutes.
 
    This function may write test strings with minutes values outside
    the valid range 00-59.  These are invalid strings and useful for
diff --git a/time/tzfile.c b/time/tzfile.c
index 9e27eba4a7..a267eb652e 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -130,7 +130,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
     {
       /* We must not allow to read an arbitrary file in a setuid
 	 program.  So we fail for any file which is not in the
-	 directory hierachy starting at TZDIR
+	 directory hierarchy starting at TZDIR
 	 and which is not the system wide default TZDEFAULT.  */
       if (__libc_enable_secure
 	  && ((*file == '/'
diff --git a/wcsmbs/tst-btowc.c b/wcsmbs/tst-btowc.c
index 836058256a..1485076ca4 100644
--- a/wcsmbs/tst-btowc.c
+++ b/wcsmbs/tst-btowc.c
@@ -48,7 +48,7 @@ fail_test (int c)
 
   if (wc != WEOF)
     {
-      printf ("%s: btowc('%c') succeded, returned L'\\x%x' instead of WEOF\n",
+      printf ("%s: btowc('%c') succeeded, returned L'\\x%x' instead of WEOF\n",
 	      current_locale, c, wc);
       return 1;
     }
diff --git a/wcsmbs/tst-mbrtowc.c b/wcsmbs/tst-mbrtowc.c
index f603ffc37a..f2386a8f50 100644
--- a/wcsmbs/tst-mbrtowc.c
+++ b/wcsmbs/tst-mbrtowc.c
@@ -39,7 +39,7 @@ utf8_test_1 (void)
   assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2);	/* 1st byte processed */
   assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2);	/* 2nd byte processed */
   assert (wc == 42);		/* no value has not been stored into &wc yet */
-  assert (mbrtowc (&wc, "\xA0", 1, &s) == 1);	/* 3nd byte processed */
+  assert (mbrtowc (&wc, "\xA0", 1, &s) == 1);	/* 3rd byte processed */
   assert (wc == 0x2260);	/* E2 89 A0 = U+2260 (not equal) decoded correctly */
   assert (mbrtowc (&wc, "", 1, &s) == 0);	/* test final byte processing */
   assert (wc == 0);		/* test final byte decoding */
@@ -88,7 +88,7 @@ utf8_test_2 (void)
   memset (&s, 0, sizeof (s));	/* get s into initial state */
   assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2);	/* 1st byte processed */
   assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2);	/* 2nd byte processed */
-  assert (mbrtowc (&wc, "\xA0", 1, &s) == 1);	/* 3nd byte processed */
+  assert (mbrtowc (&wc, "\xA0", 1, &s) == 1);	/* 3rd byte processed */
   assert (mbrtowc (NULL, "", 1, &s) == 0); /* valid terminator */
   assert (mbsinit (&s));
 
@@ -122,7 +122,7 @@ utf8_test_3 (void)
   memset (&s, 0, sizeof (s));	/* get s into initial state */
   assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2);	/* 1st byte processed */
   assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2);	/* 2nd byte processed */
-  assert (mbrtowc (&wc, "\xA0", 1, &s) == 1);	/* 3nd byte processed */
+  assert (mbrtowc (&wc, "\xA0", 1, &s) == 1);	/* 3rd byte processed */
   assert (mbrtowc (NULL, NULL, 0, &s) == 0); /* valid terminator */
   assert (mbsinit (&s));