diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 089fe57..d6aedd5 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -3297,7 +3297,7 @@ aout_link_check_ar_symbols (bfd *abfd,
 	     and this object file from the archive includes:
 	         int a = 5;
 	     In such a case, whether to include this object is target
-             dependant for backward compatibility.
+             dependent for backward compatibility.
 
 	     FIXME: The SunOS 4.1.3 linker will pull in the archive
 	     element if the symbol is defined in the .data section,
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index fdb7878..bd1c2ab 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -5675,10 +5675,10 @@ BFD_RELOC_MACH_O_PAIR.  */
 /* Pair of relocation.  Contains the first symbol.  */
   BFD_RELOC_MACH_O_PAIR,
 
-/* Symbol will be substracted.  Must be followed by a BFD_RELOC_32.  */
+/* Symbol will be subtracted.  Must be followed by a BFD_RELOC_32.  */
   BFD_RELOC_MACH_O_SUBTRACTOR32,
 
-/* Symbol will be substracted.  Must be followed by a BFD_RELOC_64.  */
+/* Symbol will be subtracted.  Must be followed by a BFD_RELOC_64.  */
   BFD_RELOC_MACH_O_SUBTRACTOR64,
 
 /* PCREL relocations.  They are marked as branch to create PLT entry if
@@ -5847,7 +5847,7 @@ of an unsigned address/value.  */
 of an address/value.  No overflow checking.  */
   BFD_RELOC_AARCH64_MOVW_G2_NC,
 
-/* AArch64 MOV[NZK] instruction with most signficant bits 48 to 64
+/* AArch64 MOV[NZK] instruction with most significant bits 48 to 64
 of a signed or unsigned address/value.  */
   BFD_RELOC_AARCH64_MOVW_G3,
 
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index 71991bd..8e6aaba 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -141,7 +141,7 @@ DESCRIPTION
 .     prefix is prepended to each method name.  *}
 .  {* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
 .     bytes starting at PTR.  Return the number of bytes actually
-.     transfered (a read past end-of-file returns less than NBYTES),
+.     transferred (a read past end-of-file returns less than NBYTES),
 .     or -1 (setting <<bfd_error>>) if an error occurs.  *}
 .  file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
 .  file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
diff --git a/bfd/cisco-core.c b/bfd/cisco-core.c
index 1fcf024..0537efb 100644
--- a/bfd/cisco-core.c
+++ b/bfd/cisco-core.c
@@ -170,7 +170,7 @@ cisco_core_file_validate (bfd *abfd, int crash_info_loc)
       abfd->tdata.cisco_core_data->sig = 0;
       break;
     case CRASH_REASON_EXCEPTION:
-      /* Crash occured due to CPU exception.  */
+      /* Crash occurred due to CPU exception.  */
 
       /* This is 68k-specific; for MIPS we'll need to interpret
 	 cpu_vector differently based on the target configuration
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index c7a2861..5b6357b 100644
--- a/bfd/coff-arm.c
+++ b/bfd/coff-arm.c
@@ -1144,7 +1144,7 @@ static const insn32 t2a6_bx_insn    = 0xe12fff1e;
 
 /* The standard COFF backend linker does not cope with the special
    Thumb BRANCH23 relocation.  The alternative would be to split the
-   BRANCH23 into seperate HI23 and LO23 relocations. However, it is a
+   BRANCH23 into separate HI23 and LO23 relocations. However, it is a
    bit simpler simply providing our own relocation driver.  */
 
 /* The reloc processing routine for the ARM/Thumb COFF linker.  NOTE:
@@ -2179,7 +2179,7 @@ coff_arm_merge_private_bfd_data (bfd * ibfd, struct bfd_link_info *info)
     return TRUE;
 
   /* If the two formats are different we cannot merge anything.
-     This is not an error, since it is permissable to change the
+     This is not an error, since it is permissible to change the
      input and output formats.  */
   if (   ibfd->xvec->flavour != bfd_target_coff_flavour
       || obfd->xvec->flavour != bfd_target_coff_flavour)
diff --git a/bfd/coff-i860.c b/bfd/coff-i860.c
index 86d554d..02e5b8c 100644
--- a/bfd/coff-i860.c
+++ b/bfd/coff-i860.c
@@ -625,7 +625,7 @@ i860_reloc_processing (arelent *cache_ptr, struct internal_reloc *dst,
 
       /* The symbols definitions that we have read in have been
 	 relocated as if their sections started at 0. But the offsets
-	 refering to the symbols in the raw data have not been
+	 referring to the symbols in the raw data have not been
 	 modified, so we have to have a negative addend to compensate.
 
 	 Note that symbols which used to be common must be left alone.  */
diff --git a/bfd/coff-mcore.c b/bfd/coff-mcore.c
index 9be92cc..76a1682 100644
--- a/bfd/coff-mcore.c
+++ b/bfd/coff-mcore.c
@@ -65,7 +65,7 @@ static reloc_howto_type mcore_coff_howto_table[] =
 	 0,	                 /* bitsize */
 	 FALSE,	                 /* pc_relative */
 	 0,	                 /* bitpos */
-	 complain_overflow_dont, /* dont complain_on_overflow */
+	 complain_overflow_dont, /* don't complain_on_overflow */
 	 NULL,		         /* special_function */
 	 "ABSOLUTE",             /* name */
 	 FALSE,	                 /* partial_inplace */
diff --git a/bfd/coff-ppc.c b/bfd/coff-ppc.c
index 6755e54..43deceb 100644
--- a/bfd/coff-ppc.c
+++ b/bfd/coff-ppc.c
@@ -354,7 +354,7 @@ static reloc_howto_type ppc_coff_howto_table[] =
 	 0,	                 /* bitsize */
 	 FALSE,	                 /* pc_relative */
 	 0,	                 /* bitpos */
-	 complain_overflow_dont, /* dont complain_on_overflow */
+	 complain_overflow_dont, /* don't complain_on_overflow */
 	 0,		         /* special_function */
 	 "ABSOLUTE",             /* name */
 	 FALSE,	                 /* partial_inplace */
@@ -397,7 +397,7 @@ static reloc_howto_type ppc_coff_howto_table[] =
   /* IMAGE_REL_PPC_ADDR24 0x0003  26-bit address, shifted left 2 (branch absolute) */
   /* the LI field is in bit 6 through bit 29 is 24 bits, + 2 for the shift */
   /* Of course, That's the IBM approved bit numbering, which is not what */
-  /* anyone else uses.... The li field is in bit 2 thru 25 */
+  /* anyone else uses.... The li field is in bit 2 through 25 */
   /* Used: */
   HOWTO (IMAGE_REL_PPC_ADDR24,  /* type */
 	 0,	                /* rightshift */
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 00d353b..2da8a21 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -2541,7 +2541,7 @@ _bfd_xcoff_sizeof_headers (bfd *abfd,
 
       /* Allocate the per section counters. It could be possible to use a
 	 preallocated array as the number of sections is limited on XCOFF,
-	 but this creates a maintainance issue.  */
+	 but this creates a maintenance issue.  */
       n_rl = bfd_zmalloc ((max_index + 1) * sizeof (*n_rl));
       if (n_rl == NULL)
 	return -1;
diff --git a/bfd/coff-tic4x.c b/bfd/coff-tic4x.c
index 2a7dc86..3e195e0 100644
--- a/bfd/coff-tic4x.c
+++ b/bfd/coff-tic4x.c
@@ -243,7 +243,7 @@ tic4x_reloc_processing (arelent *relent,
     }
 
   /* The symbols definitions that we have read in have been relocated
-     as if their sections started at 0.  But the offsets refering to
+     as if their sections started at 0.  But the offsets referring to
      the symbols in the raw data have not been modified, so we have to
      have a negative addend to compensate.
 
diff --git a/bfd/coff-tic54x.c b/bfd/coff-tic54x.c
index f059694..fa2a68a 100644
--- a/bfd/coff-tic54x.c
+++ b/bfd/coff-tic54x.c
@@ -109,7 +109,7 @@ bfd_ticoff_get_section_load_page (asection *sect)
   return page;
 }
 
-/* Set the architecture appropriately.  Allow unkown architectures
+/* Set the architecture appropriately.  Allow unknown architectures
    (e.g. binary).  */
 
 static bfd_boolean
@@ -149,7 +149,7 @@ tic54x_relocation (bfd *abfd ATTRIBUTE_UNUSED,
 reloc_howto_type tic54x_howto_table[] =
   {
     /* type,rightshift,size (0=byte, 1=short, 2=long),
-       bit size, pc_relative, bitpos, dont complain_on_overflow,
+       bit size, pc_relative, bitpos, don't complain_on_overflow,
        special_function, name, partial_inplace, src_mask, dst_mask, pcrel_offset.  */
 
     /* NORMAL BANK */
@@ -382,7 +382,7 @@ tic54x_reloc_processing (arelent *relent,
 
   /* The symbols definitions that we have read in have been
      relocated as if their sections started at 0. But the offsets
-     refering to the symbols in the raw data have not been
+     referring to the symbols in the raw data have not been
      modified, so we have to have a negative addend to compensate.
 
      Note that symbols which used to be common must be left alone.  */
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index f5605d7..30cbeb3 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -1660,7 +1660,7 @@ coff_bad_format_hook (bfd * abfd ATTRIBUTE_UNUSED, void * filehdr)
      and Intel 960 readwrite headers (I960WRMAGIC) is that the
      optional header is of a different size.
 
-     But the mips keeps extra stuff in it's opthdr, so dont check
+     But the mips keeps extra stuff in it's opthdr, so don't check
      when doing that.  */
 
 #if defined(M88) || defined(I960)
@@ -5331,7 +5331,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
 
       /* The symbols definitions that we have read in have been
 	 relocated as if their sections started at 0. But the offsets
-	 refering to the symbols in the raw data have not been
+	 referring to the symbols in the raw data have not been
 	 modified, so we have to have a negative addend to compensate.
 
 	 Note that symbols which used to be common must be left alone.  */
diff --git a/bfd/compress.c b/bfd/compress.c
index 95e8c23..2fc032a 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -106,7 +106,7 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
       if (orig_compression_header_size == 0)
 	{
 	  /* Convert it from .zdebug* section.  Get the uncompressed
-	     size first.  We need to substract the 12-byte overhead in
+	     size first.  We need to subtract the 12-byte overhead in
 	     .zdebug* section.  Set orig_compression_header_size to
 	     the 12-bye overhead.  */
 	  orig_compression_header_size = 12;
diff --git a/bfd/cpu-sh.c b/bfd/cpu-sh.c
index f920826..cca1e4b 100644
--- a/bfd/cpu-sh.c
+++ b/bfd/cpu-sh.c
@@ -445,7 +445,7 @@ sh_get_arch_up_from_bfd_mach (unsigned long mach)
 }
 
 
-/* Convert an arbitary arch_set - not necessarily corresponding
+/* Convert an arbitrary arch_set - not necessarily corresponding
    directly to anything in the table above - to the most generic
    architecture which supports all the required features, and
    return the corresponding BFD mach.  */
diff --git a/bfd/doc/chew.c b/bfd/doc/chew.c
index bf3d249..8f94cd6 100644
--- a/bfd/doc/chew.c
+++ b/bfd/doc/chew.c
@@ -946,7 +946,7 @@ kill_bogus_lines ()
     idx--;
   idx++;
 
-  /* Copy buffer upto last char, but blank lines before and after
+  /* Copy buffer up to last char, but blank lines before and after
      dots don't count.  */
   sl = 1;
 
diff --git a/bfd/dwarf1.c b/bfd/dwarf1.c
index fbd0345..b168d84 100644
--- a/bfd/dwarf1.c
+++ b/bfd/dwarf1.c
@@ -500,7 +500,7 @@ _bfd_dwarf1_find_nearest_line (bfd *abfd,
     }
 
   /* A null debug_section indicates that there was no dwarf1 info
-     or that an error occured while setting up the stash.  */
+     or that an error occurred while setting up the stash.  */
 
   if (! stash->debug_section)
     return FALSE;
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index e2c8dee..f3698bd 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -335,7 +335,7 @@ const struct dwarf_debug_section dwarf_debug_sections[] =
   { NULL,			NULL },
 };
 
-/* NB/ Numbers in this enum must match up with indicies
+/* NB/ Numbers in this enum must match up with indices
    into the dwarf_debug_sections[] array above.  */
 enum dwarf_debug_section_enum
 {
@@ -4134,7 +4134,7 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
     addr += section->vma;
 
   /* A null info_ptr indicates that there is no dwarf2 info
-     (or that an error occured while setting up the stash).  */
+     (or that an error occurred while setting up the stash).  */
   if (! stash->info_ptr)
     return FALSE;
 
diff --git a/bfd/ecoff.c b/bfd/ecoff.c
index 5c942bd..5157b90 100644
--- a/bfd/ecoff.c
+++ b/bfd/ecoff.c
@@ -161,7 +161,7 @@ _bfd_ecoff_new_section_hook (bfd *abfd, asection *section)
     { _PDATA,  SEC_ALLOC | SEC_DATA | SEC_LOAD | SEC_READONLY},
     { _BSS,    SEC_ALLOC},
     { _SBSS,   SEC_ALLOC},
-    /* An Irix 4 shared libary.  */
+    /* An Irix 4 shared library.  */
     { _LIB,    SEC_COFF_SHARED_LIBRARY}
   };
 
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 06bd800..0f9226d 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -2461,7 +2461,7 @@ extern char *elfcore_write_register_note
 
    This is an "internal" structure in the sense that it should be used
    to pass information to BFD (via the `elfcore_write_linux_prpsinfo'
-   function), so things like endianess shouldn't be an issue.  This
+   function), so things like endianness shouldn't be an issue.  This
    structure will eventually be converted in one of the
    `elf_external_linux_*' structures and written out to an output bfd
    by one of the functions declared below.  */
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 44d4e1e..c31cd19 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -1790,7 +1790,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
       end = buf + ent->size;
       new_size = size_of_output_cie_fde (ent, ptr_size);
 
-      /* Update the size.  It may be shrinked.  */
+      /* Update the size.  It may be shrunk.  */
       bfd_put_32 (abfd, new_size - 4, buf);
 
       /* Filling the extra bytes with DW_CFA_nops.  */
@@ -1950,7 +1950,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
 			(*info->callbacks->einfo)
 			  (_("%P: DW_EH_PE_datarel unspecified"
 			     " for this architecture.\n"));
-			/* Fall thru */
+			/* Fallthru */
 		      case bfd_arch_frv:
 		      case bfd_arch_i386:
 			BFD_ASSERT (htab->hgot != NULL
diff --git a/bfd/elf-m10200.c b/bfd/elf-m10200.c
index c2e8b98..2f9d6a4 100644
--- a/bfd/elf-m10200.c
+++ b/bfd/elf-m10200.c
@@ -823,7 +823,7 @@ mn10200_elf_relax_section (bfd *abfd,
 	     be necessary, but why take the chance.
 
 	     Note these checks assume that R_MN10200_PCREL8 relocs
-	     only occur on bCC and bCCx insns.  If they occured
+	     only occur on bCC and bCCx insns.  If they occurred
 	     elsewhere, we'd need to know the start of this insn
 	     for this check to be accurate.  */
 	  code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index 4a8a297..a8e3e9d 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -2412,7 +2412,7 @@ mn10300_elf_relax_delete_bytes (bfd *abfd,
     {
       /* If there is an align reloc at the end of the section ignore it.
 	 GAS creates these relocs for reasons of its own, and they just
-	 serve to keep the section artifically inflated.  */
+	 serve to keep the section artificially inflated.  */
       if (ELF32_R_TYPE ((irelend - 1)->r_info) == (int) R_MN10300_ALIGN)
 	--irelend;
 
@@ -3742,7 +3742,7 @@ mn10300_elf_relax_section (bfd *abfd,
 	     be necessary, but why take the chance.
 
 	     Note these checks assume that R_MN10300_PCREL8 relocs
-	     only occur on bCC and bCCx insns.  If they occured
+	     only occur on bCC and bCCx insns.  If they occurred
 	     elsewhere, we'd need to know the start of this insn
 	     for this check to be accurate.  */
 	  code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
@@ -5484,7 +5484,7 @@ _bfd_mn10300_elf_finish_dynamic_sections (bfd * output_bfd,
 	     as it means that the size of the PLT0 section (15 bytes) is not
 	     a multiple of the sh_entsize.  Some ELF tools flag this as an
 	     error.  We could pad PLT0 to 16 bytes, but that would introduce
-	     compatibilty issues with previous toolchains, so instead we
+	     compatibility issues with previous toolchains, so instead we
 	     just set the entry size to 1.  */
 	  elf_section_data (splt->output_section)->this_hdr.sh_entsize = 1;
 	}
diff --git a/bfd/elf.c b/bfd/elf.c
index 936255e..5d44fcf 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1312,7 +1312,7 @@ copy_special_section_fields (const bfd *ibfd,
 
 	 Note: Strictly speaking these assignments are wrong.
 	 The sh_link and sh_info fields should point to the
-	 relevent sections in the output BFD, which may not be in
+	 relevant sections in the output BFD, which may not be in
 	 the same location as they were in the input BFD.  But
 	 the whole point of this action is to preserve the
 	 original values of the sh_link and sh_info fields, so
@@ -1940,7 +1940,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
   if (++ nesting > 3)
     {
       /* PR17512: A corrupt ELF binary might contain a recursive group of
-	 sections, with each the string indicies pointing to the next in the
+	 sections, with each the string indices pointing to the next in the
 	 loop.  Detect this here, by refusing to load a section that we are
 	 already in the process of loading.  We only trigger this test if
 	 we have nested at least three sections deep as normal ELF binaries
@@ -4992,7 +4992,7 @@ elf_sort_sections (const void *arg1, const void *arg2)
     {
       if (TOEND (sec2))
 	{
-	  /* If the indicies are the same, do not return 0
+	  /* If the indices are the same, do not return 0
 	     here, but continue to try the next comparison.  */
 	  if (sec1->target_index - sec2->target_index != 0)
 	    return sec1->target_index - sec2->target_index;
@@ -7262,7 +7262,7 @@ copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 	{
 	  /* PR binutils/3535.  The Solaris linker always sets the p_paddr
 	     and p_memsz fields of special segments (DYNAMIC, INTERP) to 0
-	     which severly confuses things, so always regenerate the segment
+	     which severely confuses things, so always regenerate the segment
 	     map in this case.  */
 	  if (segment->p_paddr == 0
 	      && segment->p_memsz == 0
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 9ef5368..6658edd 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -551,7 +551,7 @@ arc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword in_flags;
   asection *sec;
 
-   /* Check if we have the same endianess.  */
+   /* Check if we have the same endianness.  */
   if (! _bfd_generic_verify_endian_match (ibfd, info))
     return FALSE;
 
@@ -617,7 +617,7 @@ arc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 	     bfd_get_filename (ibfd), (long)in_flags, (long)out_flags);
 	  if (in_flags && out_flags)
 	    return FALSE;
-	  /* MWDT doesnt set the eflags hence make sure we choose the
+	  /* MWDT doesn't set the eflags hence make sure we choose the
 	     eflags set by gcc.  */
 	  in_flags = in_flags > out_flags ? in_flags : out_flags;
 	}
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 8a20260..944e237 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -4673,7 +4673,7 @@ arm_dedicated_stub_section_padding (enum elf32_arm_stub_type stub_type)
 
 /* If veneers of type STUB_TYPE should go in a dedicated output section,
    returns the address of the hash table field in HTAB holding the offset at
-   which new veneers should be layed out in the stub section.  */
+   which new veneers should be laid out in the stub section.  */
 
 static bfd_vma*
 arm_new_stubs_start_offset_ptr (struct elf32_arm_link_hash_table *htab,
@@ -5867,7 +5867,7 @@ arm_list_new_cmse_stub (struct bfd_hash_entry *gen_entry, void *gen_info)
    The function returns whether an error occurred.  If no error occurred,
    *CMSE_STUB_CREATED gives the number of SG veneers created by both cmse_scan
    and this function and HTAB->new_cmse_stub_offset is set to the biggest
-   veneer observed set for new veneers to be layed out after.  */
+   veneer observed set for new veneers to be laid out after.  */
 
 static bfd_boolean
 set_cmse_veneer_addr_from_implib (struct bfd_link_info *info,
@@ -9066,7 +9066,7 @@ elf32_arm_to_thumb_export_stub (struct elf_link_hash_entry *h, void * inf)
   return TRUE;
 }
 
-/* Populate ARMv4 BX veneers.  Returns the absolute adress of the veneer.  */
+/* Populate ARMv4 BX veneers.  Returns the absolute address of the veneer.  */
 
 static bfd_vma
 elf32_arm_bx_glue (struct bfd_link_info * info, int reg)
@@ -10787,7 +10787,7 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
 	else
 	  signed_check = check | ~((bfd_vma) -1 >> howto->rightshift);
 
-	/* Calculate the permissable maximum and minimum values for
+	/* Calculate the permissible maximum and minimum values for
 	   this relocation according to whether we're relocating for
 	   Thumb-2 or not.  */
 	bitsize = howto->bitsize;
@@ -13469,7 +13469,7 @@ elf32_arm_attributes_accept_div (const obj_attribute *attr)
   switch (attr[Tag_DIV_use].i)
     {
     case 0:
-      /* Integer divide allowed if instruction contained in archetecture.  */
+      /* Integer divide allowed if instruction contained in architecture.  */
       if (arch == TAG_CPU_ARCH_V7 && (profile == 'R' || profile == 'M'))
 	return TRUE;
       else if (arch >= TAG_CPU_ARCH_V7E_M)
@@ -13960,7 +13960,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, struct bfd_link_info *info)
 	    }
 	  break;
 	case Tag_ABI_VFP_args:
-	  /* Aready done.  */
+	  /* Already done.  */
 	  break;
 	case Tag_ABI_WMMX_args:
 	  if (in_attr[i].i != out_attr[i].i)
@@ -19657,13 +19657,13 @@ elf32_arm_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 
   /* Check to see if the input BFD actually contains any sections.  If
      not, its flags may not have been initialised either, but it
-     cannot actually cause any incompatiblity.  Do not short-circuit
+     cannot actually cause any incompatibility.  Do not short-circuit
      dynamic objects; their section list may be emptied by
     elf_link_add_object_symbols.
 
     Also check to see if there are no code sections in the input.
     In this case there is no need to check for code specific flags.
-    XXX - do we need to worry about floating-point format compatability
+    XXX - do we need to worry about floating-point format compatibility
     in data sections ?  */
   if (!(ibfd->flags & DYNAMIC))
     {
diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c
index 46a2b27..20da04c 100644
--- a/bfd/elf32-avr.c
+++ b/bfd/elf32-avr.c
@@ -1717,7 +1717,7 @@ elf32_avr_is_diff_reloc (Elf_Internal_Rela *irel)
           || ELF32_R_TYPE (irel->r_info) == R_AVR_DIFF32);
 }
 
-/* Reduce the diff value written in the section by count if the shrinked
+/* Reduce the diff value written in the section by count if the shrunk
    insn address happens to fall between the two symbols for which this
    diff reloc was emitted.  */
 
@@ -1769,7 +1769,7 @@ elf32_avr_adjust_diff_reloc_value (bfd *abfd,
   /* For a diff reloc sym1 - sym2 the diff at assembly time (x) is written
      into the object file at the reloc offset. sym2's logical value is
      symval (<start_of_section>) + reloc addend. Compute the start and end
-     addresses and check if the shrinked insn falls between sym1 and sym2. */
+     addresses and check if the shrunk insn falls between sym1 and sym2. */
 
   bfd_vma sym2_address = symval + irel->r_addend;
   bfd_vma sym1_address = sym2_address - x;
@@ -1856,7 +1856,7 @@ elf32_avr_adjust_reloc_if_spans_insn (bfd *abfd,
 
 /* Delete some bytes from a section while changing the size of an instruction.
    The parameter "addr" denotes the section-relative offset pointing just
-   behind the shrinked instruction. "addr+count" point at the first
+   behind the shrunk instruction. "addr+count" point at the first
    byte just behind the original unshrinked instruction. If delete_shrinks_insn
    is FALSE, we are deleting redundant padding bytes from relax_info prop
    record handling. In that case, addr is section-relative offset of start
@@ -1998,8 +1998,8 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
    /* The reloc's own addresses are now ok. However, we need to readjust
       the reloc's addend, i.e. the reloc's value if two conditions are met:
       1.) the reloc is relative to a symbol in this section that
-          is located in front of the shrinked instruction
-      2.) symbol plus addend end up behind the shrinked instruction.
+          is located in front of the shrunk instruction
+      2.) symbol plus addend end up behind the shrunk instruction.
 
       The most common case where this happens are relocs relative to
       the section-start symbol.
@@ -3849,7 +3849,7 @@ elf32_avr_build_stubs (struct bfd_link_info *info)
       stub_sec->size = 0;
     }
 
-  /* Allocate memory for the adress mapping table.  */
+  /* Allocate memory for the address mapping table.  */
   htab->amt_entry_cnt = 0;
   htab->amt_max_entry_cnt = total_size / 4;
   htab->amt_stub_offsets = bfd_malloc (sizeof (bfd_vma)
diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c
index 3076ec9..43f4e02 100644
--- a/bfd/elf32-bfin.c
+++ b/bfd/elf32-bfin.c
@@ -122,9 +122,9 @@ bfin_pcrel24_reloc (bfd *abfd,
     short x;
 
     /* We are getting reloc_entry->address 2 byte off from
-       the start of instruction. Assuming absolute postion
+       the start of instruction. Assuming absolute position
        of the reloc data. But, following code had been written assuming
-       reloc address is starting at begining of instruction.
+       reloc address is starting at beginning of instruction.
        To compensate that I have increased the value of
        relocation by 1 (effectively 2) and used the addr -2 instead of addr.  */
 
@@ -1321,9 +1321,9 @@ bfin_final_link_relocate (Elf_Internal_Rela *rel, reloc_howto_type *howto,
       value -= address;
 
       /* We are getting reloc_entry->address 2 byte off from
-	 the start of instruction. Assuming absolute postion
+	 the start of instruction. Assuming absolute position
 	 of the reloc data. But, following code had been written assuming
-	 reloc address is starting at begining of instruction.
+	 reloc address is starting at beginning of instruction.
 	 To compensate that I have increased the value of
 	 relocation by 1 (effectively 2) and used the addr -2 instead of addr.  */
 
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index de3b7ea..32139c3 100644
--- a/bfd/elf32-hppa.c
+++ b/bfd/elf32-hppa.c
@@ -3401,7 +3401,7 @@ final_link_relocate (asection *input_section,
 	  else
 	    return bfd_reloc_undefined;
 	}
-      /* Fall thru.  */
+      /* Fallthru.  */
 
     case R_PARISC_PCREL21L:
     case R_PARISC_PCREL17C:
@@ -3471,7 +3471,7 @@ final_link_relocate (asection *input_section,
 
 	  break;
 	}
-      /* Fall thru.  */
+      /* Fallthru.  */
 
     case R_PARISC_DLTIND21L:
     case R_PARISC_DLTIND14R:
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 6b1f1b0..320b874 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -75,7 +75,7 @@ static reloc_howto_type elf_howto_table[]=
   /* We have a gap in the reloc numbers here.
      R_386_standard counts the number up to this point, and
      R_386_ext_offset is the value to subtract from a reloc type of
-     R_386_16 thru R_386_PC8 to form an index into this table.  */
+     R_386_16 through R_386_PC8 to form an index into this table.  */
 #define R_386_standard (R_386_GOTPC + 1)
 #define R_386_ext_offset (R_386_TLS_TPOFF - R_386_standard)
 
@@ -5558,7 +5558,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
 		abort ();
 
 	      /* For non-shared object, we can't use .got.plt, which
-		 contains the real function addres if we need pointer
+		 contains the real function address if we need pointer
 		 equality.  We load the GOT entry with the PLT entry.  */
 	      plt = htab->elf.splt ? htab->elf.splt : htab->elf.iplt;
 	      bfd_put_32 (output_bfd,
diff --git a/bfd/elf32-ip2k.c b/bfd/elf32-ip2k.c
index 41e5081..d99568a 100644
--- a/bfd/elf32-ip2k.c
+++ b/bfd/elf32-ip2k.c
@@ -995,7 +995,7 @@ ip2k_elf_relax_section_page (bfd *abfd,
   int switch_table_128;
   int switch_table_256;
 
-  /* Walk thru the section looking for relaxation opportunities.  */
+  /* Walk through the section looking for relaxation opportunities.  */
   for (irel = misc->irelbase; irel < irelend; irel++)
     {
       if (ELF32_R_TYPE (irel->r_info) != (int) R_IP2K_PAGE3)
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index af3f02f..f63f840 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -703,7 +703,7 @@ struct elf_m68k_got_entry
     struct
     {
       /* Offset from the start of .got section.  To calculate offset relative
-	 to GOT pointer one should substract got->offset from this value.  */
+	 to GOT pointer one should subtract got->offset from this value.  */
       bfd_vma offset;
 
       /* Pointer to the next GOT entry for this global symbol.
@@ -1294,7 +1294,7 @@ elf32_m68k_print_private_bfd_data (bfd *abfd, void * ptr)
    an empty GOT and traverse bfd2got hashtable putting got_entries from
    local GOTs to the new 'big' one.  We do that by constructing an
    intermediate GOT holding all the entries the local GOT has and the big
-   GOT lacks.  Then we check if there is room in the big GOT to accomodate
+   GOT lacks.  Then we check if there is room in the big GOT to accommodate
    all the entries from diff.  On success we add those entries to the big
    GOT; on failure we start the new 'big' GOT and retry the adding of
    entries from the local GOT.  Note that this retry will always succeed as
diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c
index 1722e1f..c0260bf 100644
--- a/bfd/elf32-nds32.c
+++ b/bfd/elf32-nds32.c
@@ -8240,8 +8240,8 @@ nds32_elf_write_16 (bfd *abfd ATTRIBUTE_UNUSED, bfd_byte *contents,
    If not found, return irelend.
 
    Assuming relocations are sorted by r_offset,
-   we find the relocation from `reloc' backward untill relocs,
-   or find it from `reloc' forward untill irelend.  */
+   we find the relocation from `reloc' backward until relocs,
+   or find it from `reloc' forward until irelend.  */
 
 static Elf_Internal_Rela *
 find_relocs_at_address (Elf_Internal_Rela *reloc,
@@ -8273,8 +8273,8 @@ find_relocs_at_address (Elf_Internal_Rela *reloc,
    If not found, return irelend.
 
    Assuming relocations are sorted by r_offset,
-   we find the relocation from `reloc' backward untill relocs,
-   or find it from `reloc' forward untill irelend.  */
+   we find the relocation from `reloc' backward until relocs,
+   or find it from `reloc' forward until irelend.  */
 
 static Elf_Internal_Rela *
 find_relocs_at_address_addr (Elf_Internal_Rela *reloc,
@@ -11959,7 +11959,7 @@ nds32_elf_relax_section (bfd *abfd, asection *sec,
       break;
     }
 
-  /* The begining of general relaxation.  */
+  /* The beginning of general relaxation.  */
 
   if (is_SDA_BASE_set == 0)
     {
@@ -12522,7 +12522,7 @@ nds32_fag_free_list (struct nds32_fag *head)
    so we can track the symbol instead of a fixed address.
 
    When relaxation, the address of an datum may change,
-   because a text section is shrinked, so the data section
+   because a text section is shrunk, so the data section
    moves forward.  If the aligments of text and data section
    are different, their distance may change too.
    Therefore, tracking a fixed address is not appriate.  */
@@ -12540,7 +12540,7 @@ nds32_fag_find_base (struct nds32_fag *head, struct nds32_fag **bestpp)
 
      In each iteration, we could simply subtract previous fag
      and accumulate following fags which are inside the window,
-     untill we each the end.  */
+     until we each the end.  */
 
   if (head->next == NULL)
     {
@@ -12915,7 +12915,7 @@ error_return:
 
 /* This is a version of bfd_generic_get_relocated_section_contents.
    We need this variety because relaxation will modify the dwarf
-   infomation.  When there is undefined symbol reference error mesage,
+   information.  When there is undefined symbol reference error mesage,
    linker need to dump line number where the symbol be used.  However
    the address is be relaxed, it can not get the original dwarf contents.
    The variety only modify function call for reading in the section.  */
@@ -14396,7 +14396,7 @@ nds32_elf_ex9_relocation_check (struct bfd_link_info *info,
 		  /* We have to confirm there is no data relocation in the
 		     same address.  In general case, this won't happen.  */
 		  /* We have to do ex9 conservative, for those relocation not
-		     considerd we ignore instruction.  */
+		     considered we ignore instruction.  */
 		  result |= DATA_EXIST;
 		  if (*(contents + *off) & 0x80)
 		    result |= (2 << 24);
@@ -14748,7 +14748,7 @@ nds32_elf_ex9_replace_instruction (struct bfd_link_info *info, bfd *abfd, asecti
 
 	      if (save_irel)
 		{
-		  /* For instuction with relocation do relax.  */
+		  /* For instruction with relocation do relax.  */
 		  irel_ptr = (struct elf_nds32_irel_entry *)
 		    bfd_malloc (sizeof (struct elf_nds32_irel_entry));
 		  irel_ptr->irel = irel;
diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c
index f5377c0..d127d45 100644
--- a/bfd/elf32-rx.c
+++ b/bfd/elf32-rx.c
@@ -2665,7 +2665,7 @@ elf32_rx_relax_section (bfd *                  abfd,
 
 	  /* Branches over alignment chunks are problematic, as
 	     deleting bytes here makes the branch *further* away.  We
-	     can be agressive with branches within this alignment
+	     can be aggressive with branches within this alignment
 	     block, but not branches outside it.  */
 	  if ((prev_alignment == NULL
 	       || symval < (bfd_vma)(sec_start + prev_alignment->r_offset))
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 5963458..90e539a 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -7350,7 +7350,7 @@ is_resolvable_asm_expansion (bfd *abfd,
 	 self_address will be at least as far into the output section
 	 as it is prior to relaxation.
 
-	 If the displacement is postive, assume the destination will be in
+	 If the displacement is positive, assume the destination will be in
 	 it's pre-relaxed location (because relaxation only makes sections
 	 smaller).  The self_address could go all the way to the beginning
 	 of the output section.  */
@@ -7818,7 +7818,7 @@ error_return:
 }
 
 
-/* Do not widen an instruction if it is preceeded by a
+/* Do not widen an instruction if it is preceded by a
    loop opcode.  It might cause misalignment.  */
 
 static bfd_boolean
@@ -10394,7 +10394,7 @@ relax_property_section (bfd *abfd,
 		     entries the resulting size should be zero with an
 		     offset before or after the fill address depending
 		     on whether the expanding unreachable entry
-		     preceeds it.  */
+		     precedes it.  */
 		  if (last_zfill_target_sec == 0
 		      || last_zfill_target_sec != target_sec
 		      || last_zfill_target_offset != old_offset)
diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c
index e7b82ce..18a8f65 100644
--- a/bfd/elf64-ia64-vms.c
+++ b/bfd/elf64-ia64-vms.c
@@ -3229,7 +3229,7 @@ elf64_ia64_choose_gp (bfd *abfd, struct bfd_link_info *info, bfd_boolean final)
 	{
 	  bfd_vma short_range = max_short_vma - min_short_vma;
 
-	  /* If min_short_sec is set, pick one in the middle bewteen
+	  /* If min_short_sec is set, pick one in the middle between
 	     min_short_vma and max_short_vma.  */
 	  if (short_range >= 0x400000)
 	    goto overflow;
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index 8cd0a73..936084e 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -605,7 +605,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
   EMPTY_HOWTO (R_MIPS_ADD_IMMEDIATE),
   EMPTY_HOWTO (R_MIPS_PJUMP),
 
-  /* Similiar to R_MIPS_REL32, but used for relocations in a GOT section.
+  /* Similar to R_MIPS_REL32, but used for relocations in a GOT section.
      It must be used for multigot GOT's (and only there).  */
   HOWTO (R_MIPS_RELGOT,		/* type */
 	 0,			/* rightshift */
@@ -1386,7 +1386,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
   EMPTY_HOWTO (R_MIPS_ADD_IMMEDIATE),
   EMPTY_HOWTO (R_MIPS_PJUMP),
 
-  /* Similiar to R_MIPS_REL32, but used for relocations in a GOT section.
+  /* Similar to R_MIPS_REL32, but used for relocations in a GOT section.
      It must be used for multigot GOT's (and only there).  */
   HOWTO (R_MIPS_RELGOT,		/* type */
 	 0,			/* rightshift */
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index d011303..8e8277e 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -8829,7 +8829,7 @@ ppc64_elf_tls_optimize (struct bfd_link_info *info)
    the values of any global symbols in a toc section that has been
    edited.  Globals in toc sections should be a rarity, so this function
    sets a flag if any are found in toc sections other than the one just
-   edited, so that futher hash table traversals can be avoided.  */
+   edited, so that further hash table traversals can be avoided.  */
 
 struct adjust_toc_info
 {
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 2e21899..83494ac 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -6012,7 +6012,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
 		abort ();
 
 	      /* For non-shared object, we can't use .got.plt, which
-		 contains the real function addres if we need pointer
+		 contains the real function address if we need pointer
 		 equality.  We load the GOT entry with the PLT entry.  */
 	      plt = htab->elf.splt ? htab->elf.splt : htab->elf.iplt;
 	      bfd_put_64 (output_bfd, (plt->output_section->vma
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index c7e0e46..5c50dff 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -751,7 +751,7 @@ elf_object_p (bfd *abfd)
 	{
 	  /* PR 2257:
 	     We used to just goto got_wrong_format_error here
-	     but there are binaries in existance for which this test
+	     but there are binaries in existence for which this test
 	     will prevent the binutils from working with them at all.
 	     So we are kind, and reset the string index value to 0
 	     so that at least some processing can be done.  */
diff --git a/bfd/elflink.c b/bfd/elflink.c
index ddbe801..db047dc 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -6665,7 +6665,7 @@ bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info)
 
       dynobj = elf_hash_table (info)->dynobj;
 
-      /* Assign dynsym indicies.  In a shared library we generate a
+      /* Assign dynsym indices.  In a shared library we generate a
 	 section symbol for each output section, which come first.
 	 Next come all of the back-end allocated local dynamic syms,
 	 followed by the rest of the global symbols.  */
diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c
index c7ca646..8530a04 100644
--- a/bfd/elfn32-mips.c
+++ b/bfd/elfn32-mips.c
@@ -570,7 +570,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
   EMPTY_HOWTO (R_MIPS_ADD_IMMEDIATE),
   EMPTY_HOWTO (R_MIPS_PJUMP),
 
-  /* Similiar to R_MIPS_REL32, but used for relocations in a GOT section.
+  /* Similar to R_MIPS_REL32, but used for relocations in a GOT section.
      It must be used for multigot GOT's (and only there).  */
   HOWTO (R_MIPS_RELGOT,		/* type */
 	 0,			/* rightshift */
@@ -1352,7 +1352,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
   EMPTY_HOWTO (R_MIPS_ADD_IMMEDIATE),
   EMPTY_HOWTO (R_MIPS_PJUMP),
 
-  /* Similiar to R_MIPS_REL32, but used for relocations in a GOT section.
+  /* Similar to R_MIPS_REL32, but used for relocations in a GOT section.
      It must be used for multigot GOT's (and only there).  */
   HOWTO (R_MIPS_RELGOT,		/* type */
 	 0,			/* rightshift */
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 99b2a04..452ae97 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -6368,7 +6368,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
 		     section to hold our R_AARCH64_TLSDESC, the next
 		     available slot is determined from reloc_count,
 		     which we step. But note, reloc_count was
-		     artifically moved down while allocating slots for
+		     artificially moved down while allocating slots for
 		     real PLT relocs such that all of the PLT relocs
 		     will fit above the initial reloc_count and the
 		     extra stuff will fit below.  */
@@ -6540,7 +6540,7 @@ elfNN_aarch64_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   bfd_boolean flags_compatible = TRUE;
   asection *sec;
 
-  /* Check if we have the same endianess.  */
+  /* Check if we have the same endianness.  */
   if (!_bfd_generic_verify_endian_match (ibfd, info))
     return FALSE;
 
@@ -6585,13 +6585,13 @@ elfNN_aarch64_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 
   /* Check to see if the input BFD actually contains any sections.  If
      not, its flags may not have been initialised either, but it
-     cannot actually cause any incompatiblity.  Do not short-circuit
+     cannot actually cause any incompatibility.  Do not short-circuit
      dynamic objects; their section list may be emptied by
      elf_link_add_object_symbols.
 
      Also check to see if there are no code sections in the input.
      In this case there is no need to check for code specific flags.
-     XXX - do we need to worry about floating-point format compatability
+     XXX - do we need to worry about floating-point format compatibility
      in data sections ?  */
   if (!(ibfd->flags & DYNAMIC))
     {
@@ -8001,7 +8001,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
 
 	  /* We need to ensure that all GOT entries that serve the PLT
 	     are consecutive with the special GOT slots [0] [1] and
-	     [2]. Any addtional relocations, such as
+	     [2]. Any additional relocations, such as
 	     R_AARCH64_TLSDESC, must be placed after the PLT related
 	     entries.  We abuse the reloc_count such that during
 	     sizing we adjust reloc_count to indicate the number of
diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c
index 32f9411..9c51d58 100644
--- a/bfd/elfnn-ia64.c
+++ b/bfd/elfnn-ia64.c
@@ -3634,7 +3634,7 @@ elfNN_ia64_choose_gp (bfd *abfd, struct bfd_link_info *info, bfd_boolean final)
 	{
 	  bfd_vma short_range = max_short_vma - min_short_vma;
 
-	  /* If min_short_sec is set, pick one in the middle bewteen
+	  /* If min_short_sec is set, pick one in the middle between
 	     min_short_vma and max_short_vma.  */
 	  if (short_range >= 0x400000)
 	    goto overflow;
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 0e56ffa..af33ffa 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -6939,7 +6939,7 @@ _bfd_mips_elf_symbol_processing (bfd *abfd, asymbol *asym)
 	  {
 	    asym->section = section;
 	    /* MIPS_TEXT is a bit special, the address is not an offset
-	       to the base of the .text section.  So substract the section
+	       to the base of the .text section.  So subtract the section
 	       base address to make it an offset.  */
 	    asym->value -= section->vma;
 	  }
@@ -6954,7 +6954,7 @@ _bfd_mips_elf_symbol_processing (bfd *abfd, asymbol *asym)
 	  {
 	    asym->section = section;
 	    /* MIPS_DATA is a bit special, the address is not an offset
-	       to the base of the .data section.  So substract the section
+	       to the base of the .data section.  So subtract the section
 	       base address to make it an offset.  */
 	    asym->value -= section->vma;
 	  }
@@ -16039,7 +16039,7 @@ const struct bfd_elf_special_section _bfd_mips_elf_special_sections[] =
 
 /* Merge non visibility st_other attributes.  Ensure that the
    STO_OPTIONAL flag is copied into h->other, even if this is not a
-   definiton of the symbol.  */
+   definition of the symbol.  */
 void
 _bfd_mips_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
 				      const Elf_Internal_Sym *isym,
diff --git a/bfd/format.c b/bfd/format.c
index 15237a3..bc6def1 100644
--- a/bfd/format.c
+++ b/bfd/format.c
@@ -78,7 +78,7 @@ DESCRIPTION
 	<<bfd_core>>.
 
 	o <<bfd_error_system_call>> -
-	if an error occured during a read - even some file mismatches
+	if an error occurred during a read - even some file mismatches
 	can cause bfd_error_system_calls.
 
 	o <<file_not_recognised>> -
diff --git a/bfd/hp300hpux.c b/bfd/hp300hpux.c
index 5950e14..187f9a5 100644
--- a/bfd/hp300hpux.c
+++ b/bfd/hp300hpux.c
@@ -71,8 +71,8 @@
     string2
     ...
 
-    The whole symbol table is read as one chunk and then we march thru it
-    and convert it to canonical form.  As we march thru the table, we copy
+    The whole symbol table is read as one chunk and then we march through it
+    and convert it to canonical form.  As we march through the table, we copy
     the nlist data into the internal form and we compact the strings and null
     terminate them, using storage from the already allocated symbol table:
 
@@ -508,8 +508,8 @@ NAME (aout,swap_exec_header_in) (bfd *abfd,
    string2
    ...
 
-   The whole symbol table is read as one chunk and then we march thru it
-   and convert it to canonical form.  As we march thru the table, we copy
+   The whole symbol table is read as one chunk and then we march through it
+   and convert it to canonical form.  As we march through the table, we copy
    the nlist data into the internal form and we compact the strings and null
    terminate them, using storage from the already allocated symbol table:
 
@@ -551,7 +551,7 @@ MY (slurp_symbol_table) (bfd *abfd)
 
   sym_end = (struct external_nlist *) (((char *) syms) + symbol_bytes);
 
-  /* first, march thru the table and figure out how many symbols there are */
+  /* first, march through the table and figure out how many symbols there are */
   for (sym_pointer = syms; sym_pointer < sym_end; sym_pointer++, num_syms++)
     {
       /* skip over the embedded symbol. */
@@ -568,9 +568,9 @@ MY (slurp_symbol_table) (bfd *abfd)
   if (cached == NULL && num_syms != 0)
     return FALSE;
 
-  /* as we march thru the hp symbol table, convert it into a list of
+  /* as we march through the hp symbol table, convert it into a list of
      null terminated strings to hold the symbol names.  Make sure any
-     assignment to the strings pointer is done after we're thru using
+     assignment to the strings pointer is done after we're through using
      the nlist so we don't overwrite anything important. */
 
   /* OK, now walk the new symtable, caching symbol properties */
diff --git a/bfd/ieee.c b/bfd/ieee.c
index 03032c5..2f7711d 100644
--- a/bfd/ieee.c
+++ b/bfd/ieee.c
@@ -3700,7 +3700,7 @@ ieee_write_object_contents (bfd *abfd)
   if (! ieee_write_section_part (abfd))
     return FALSE;
   /* First write the symbols.  This changes their values into table
-    indeces so we cant use it after this point.  */
+    indeces so we can't use it after this point.  */
   if (! ieee_write_external_part (abfd))
     return FALSE;
 
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 5ec3993..23d4df9 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -876,7 +876,7 @@ struct bfd_iovec
      prefix is prepended to each method name.  */
   /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
      bytes starting at PTR.  Return the number of bytes actually
-     transfered (a read past end-of-file returns less than NBYTES),
+     transferred (a read past end-of-file returns less than NBYTES),
      or -1 (setting <<bfd_error>>) if an error occurs.  */
   file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
   file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
diff --git a/bfd/libhppa.h b/bfd/libhppa.h
index ec34908..89f610d 100644
--- a/bfd/libhppa.h
+++ b/bfd/libhppa.h
@@ -522,7 +522,7 @@ bfd_hppa_insn2fmt (bfd *abfd, int insn)
     case OP_BL:
       if ((insn & 0x8000) != 0)
 	return 22;
-      /* fall thru */
+      /* fallthru */
     case OP_BE:
     case OP_BLE:
       return 17;
diff --git a/bfd/mach-o.h b/bfd/mach-o.h
index 78c48d3..44172c0 100644
--- a/bfd/mach-o.h
+++ b/bfd/mach-o.h
@@ -371,7 +371,7 @@ typedef struct bfd_mach_o_dysymtab_command
 bfd_mach_o_dysymtab_command;
 
 /* An indirect symbol table entry is simply a 32bit index into the symbol table
-   to the symbol that the pointer or stub is refering to.  Unless it is for a
+   to the symbol that the pointer or stub is referring to.  Unless it is for a
    non-lazy symbol pointer section for a defined symbol which strip(1) has
    removed.  In which case it has the value INDIRECT_SYMBOL_LOCAL.  If the
    symbol was also absolute INDIRECT_SYMBOL_ABS is or'ed with that.  */
diff --git a/bfd/opncls.c b/bfd/opncls.c
index b86bbab..8ceb308 100644
--- a/bfd/opncls.c
+++ b/bfd/opncls.c
@@ -180,7 +180,7 @@ DESCRIPTION
 
 	The new BFD is marked as cacheable iff @var{fd} is -1.
 
-	If <<NULL>> is returned then an error has occured.   Possible errors
+	If <<NULL>> is returned then an error has occurred.   Possible errors
 	are <<bfd_error_no_memory>>, <<bfd_error_invalid_target>> or
 	<<system_call>> error.
 
@@ -273,7 +273,7 @@ DESCRIPTION
 	Calls <<bfd_find_target>>, so @var{target} is interpreted as by
 	that function.
 
-	If <<NULL>> is returned then an error has occured.   Possible errors
+	If <<NULL>> is returned then an error has occurred.   Possible errors
 	are <<bfd_error_no_memory>>, <<bfd_error_invalid_target>> or
 	<<system_call>> error.
 
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 56cd79b..3d6e4b2 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -512,7 +512,7 @@ bfd_check_overflow (enum complain_overflow how,
       /* If any sign bits are set, all sign bits must be set.  That
          is, A must be a valid negative address after shifting.  */
       signmask = ~ (fieldmask >> 1);
-      /* Fall thru */
+      /* Fallthru */
 
     case complain_overflow_bitfield:
       /* Bitfields are sometimes signed, sometimes unsigned.  We
@@ -1458,7 +1458,7 @@ _bfd_relocate_contents (reloc_howto_type *howto,
 	     That is, A must be a valid negative address after
 	     shifting.  */
 	  signmask = ~(fieldmask >> 1);
-	  /* Fall thru */
+	  /* Fallthru */
 
 	case complain_overflow_bitfield:
 	  /* Much like the signed check, but for a field one bit
@@ -6701,11 +6701,11 @@ ENUMDOC
 ENUM
   BFD_RELOC_MACH_O_SUBTRACTOR32
 ENUMDOC
-  Symbol will be substracted.  Must be followed by a BFD_RELOC_32.
+  Symbol will be subtracted.  Must be followed by a BFD_RELOC_32.
 ENUM
   BFD_RELOC_MACH_O_SUBTRACTOR64
 ENUMDOC
-  Symbol will be substracted.  Must be followed by a BFD_RELOC_64.
+  Symbol will be subtracted.  Must be followed by a BFD_RELOC_64.
 
 ENUM
   BFD_RELOC_MACH_O_X86_64_BRANCH32
@@ -6927,7 +6927,7 @@ ENUMDOC
 ENUM
   BFD_RELOC_AARCH64_MOVW_G3
 ENUMDOC
-  AArch64 MOV[NZK] instruction with most signficant bits 48 to 64
+  AArch64 MOV[NZK] instruction with most significant bits 48 to 64
   of a signed or unsigned address/value.
 ENUM
   BFD_RELOC_AARCH64_MOVW_G0_S
diff --git a/bfd/srec.c b/bfd/srec.c
index 4bf251d..47d680b 100644
--- a/bfd/srec.c
+++ b/bfd/srec.c
@@ -49,7 +49,7 @@
    DESCRIPTION
 	Where
 	o length
-	is the number of bytes following upto the checksum. Note that
+	is the number of bytes following up to the checksum. Note that
 	this is not the number of chars following, since it takes two
 	chars to represent a byte.
 	o type
diff --git a/bfd/sysdep.h b/bfd/sysdep.h
index 6b86646..c77fa8f 100644
--- a/bfd/sysdep.h
+++ b/bfd/sysdep.h
@@ -186,7 +186,7 @@ size_t strnlen (const char *, size_t);
 
    This is because the code in this directory is used to build a library which
    will be linked with code in other directories to form programs.  We want to
-   maintain a seperate translation file for this directory however, rather
+   maintain a separate translation file for this directory however, rather
    than being forced to merge it with that of any program linked to libbfd.
    This is a library, so it cannot depend on the catalog currently loaded.
 
diff --git a/bfd/versados.c b/bfd/versados.c
index cef4b68..5fb1b3e 100644
--- a/bfd/versados.c
+++ b/bfd/versados.c
@@ -71,7 +71,7 @@ typedef struct versados_data_struct
   int stringlen;		/* Len of string table (valid end of pass1).  */
   int nsecsyms;			/* Number of sections.  */
 
-  int ndefs;			/* Number of exported symbols (they dont get esdids).  */
+  int ndefs;			/* Number of exported symbols (they don't get esdids).  */
   int nrefs;			/* Number of imported symbols  (valid end of pass1).  */
 
   int ref_idx;			/* Current processed value of the above.  */
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 57e6975..dcfce46 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -2473,10 +2473,10 @@ alpha_vms_object_p (bfd *abfd)
      stream of bytes (like on UNIX), but there is no magic number.
 
      Object files are written with RMS (record management service), ie
-     each records are preceeded by its length (on a word - 2 bytes), and
+     each records are preceded by its length (on a word - 2 bytes), and
      padded for word-alignment.  That would be simple but when files
-     are transfered to a UNIX filesystem (using ftp), records are lost.
-     Only the raw content of the records are transfered.  Fortunately,
+     are transferred to a UNIX filesystem (using ftp), records are lost.
+     Only the raw content of the records are transferred.  Fortunately,
      the Alpha Object file format also store the length of the record
      in the records.  Is that clear ?  */
 
@@ -3347,7 +3347,7 @@ _bfd_vms_write_egsd (bfd *abfd)
       if ((old_flags & BSF_GLOBAL) == 0 && !bfd_is_und_section (symbol->section))
         {
           /* If the LIB$INITIIALIZE section is present, add a reference to
-             LIB$INITIALIZE symbol.  FIXME: this should be done explicitely
+             LIB$INITIALIZE symbol.  FIXME: this should be done explicitly
              in the assembly file.  */
           if (!((old_flags & BSF_SECTION_SYM) != 0
                 && strcmp (symbol->section->name, "LIB$INITIALIZE") == 0))
diff --git a/bfd/vms-lib.c b/bfd/vms-lib.c
index a67ecfa..e2a6003b 100644
--- a/bfd/vms-lib.c
+++ b/bfd/vms-lib.c
@@ -2230,7 +2230,7 @@ _bfd_vms_lib_write_archive_contents (bfd *arch)
                        is_elfidx) != TRUE)
     return FALSE;
 
-  /* Write libary header.  */
+  /* Write library header.  */
   {
     unsigned char blk[VMS_BLOCK_SIZE];
     struct vms_lhd *lhd = (struct vms_lhd *)blk;
diff --git a/bfd/vms-misc.c b/bfd/vms-misc.c
index 5fdce50..ddb96f7 100644
--- a/bfd/vms-misc.c
+++ b/bfd/vms-misc.c
@@ -478,7 +478,7 @@ get_vms_time_string (void)
 }
 
 /* Create module name from filename (ie, extract the basename and convert it
-   in upper cases).  Works on both VMS and UNIX pathes.
+   in upper cases).  Works on both VMS and UNIX paths.
    The result has to be free().  */
 
 char *
diff --git a/bfd/vms.h b/bfd/vms.h
index 1d32036..6a399b0 100644
--- a/bfd/vms.h
+++ b/bfd/vms.h
@@ -44,7 +44,7 @@ enum file_format_enum
     /* Not yet known.  */
     FF_UNKNOWN,
 
-    /* Unix format.  Each record is preceeded by the record length,
+    /* Unix format.  Each record is preceded by the record length,
        on 2 bytes.  */
     FF_FOREIGN,
 
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
index cfdd018..0315cba 100644
--- a/bfd/xcofflink.c
+++ b/bfd/xcofflink.c
@@ -3401,13 +3401,13 @@ xcoff_post_gc_symbol (struct xcoff_link_hash_entry *h, void * p)
 }
 
 /* INPUT_BFD includes XCOFF symbol ISYM, which is associated with linker
-   hash table entry H and csect CSECT.  AUX contains ISYM's auxillary
+   hash table entry H and csect CSECT.  AUX contains ISYM's auxiliary
    csect information, if any.  NAME is the function's name if the name
    is stored in the .debug section, otherwise it is null.
 
    Return 1 if we should include an appropriately-adjusted ISYM
    in the output file, 0 if we should discard ISYM, or -1 if an
-   error occured.  */
+   error occurred.  */
 
 static int
 xcoff_keep_symbol_p (struct bfd_link_info *info, bfd *input_bfd,
@@ -5136,7 +5136,7 @@ xcoff_find_tc0 (bfd *output_bfd, struct xcoff_final_link_info *flinfo)
   irsym.n_numaux = 1;
   bfd_coff_swap_sym_out (output_bfd, &irsym, flinfo->outsyms);
 
-  /* Fill out the auxillary csect information.  */
+  /* Fill out the auxiliary csect information.  */
   memset (&iraux, 0, sizeof iraux);
   iraux.x_csect.x_smtyp = XTY_SD;
   iraux.x_csect.x_smclas = XMC_TC0;
