diff --git a/ld/ChangeLog b/ld/ChangeLog
index ae660fa4271..594bd7640f6 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+2016-11-27  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
+
+	* emultempl/avrelf.em: Fix spelling in comments.
+	* emultempl/elf32.em: Fix spelling in comments.
+	* emultempl/pe.em: Fix spelling in comments.
+	* emultempl/pep.em: Fix spelling in comments.
+	* emultempl/spuelf.em: Fix spelling in comments.
+
 2016-11-27  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
 
 	* testsuite/ld-sh/arch/arch.exp: Fix spelling in comments.
diff --git a/ld/emultempl/avrelf.em b/ld/emultempl/avrelf.em
index 4710b6e0e82..f9f01112463 100644
--- a/ld/emultempl/avrelf.em
+++ b/ld/emultempl/avrelf.em
@@ -36,7 +36,7 @@ fragment <<EOF
 static lang_input_statement_type *stub_file;
 static asection *avr_stub_section;
 
-/* Variables set by the command-line parameters and transfered
+/* Variables set by the command-line parameters and transferred
    to the bfd without use of global shared variables.  */
 
 static bfd_boolean avr_no_stubs = FALSE;
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index f5cb3eeb718..36aa7db886d 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -534,7 +534,7 @@ gld${EMULATION_NAME}_search_needed (const char *path,
       while ((var = strchr (filename + offset, '$')) != NULL)
 	{
 	  /* The ld.so manual page does not say, but I am going to assume that
-	     these tokens are terminated by a directory seperator character
+	     these tokens are terminated by a directory separator character
 	     (/) or the end of the string.  There is also an implication that
 	     $ORIGIN should only be used at the start of a path, but that is
 	     not enforced here.
@@ -1512,7 +1512,7 @@ gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp)
     case etree_provide:
     case etree_provided:
       provide = TRUE;
-      /* Fall thru */
+      /* Fallthru */
     case etree_assign:
       /* We call record_link_assignment even if the symbol is defined.
 	 This is because if it is defined by a dynamic object, we
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 7b8fec78db8..b4385b0ea1a 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -1231,7 +1231,7 @@ This should work unless it involves constant data structures referencing symbols
 	      undef->type = bfd_link_hash_defweak;
 	      /* We replace original name with __imp_ prefixed, this
 		 1) may trash memory 2) leads to duplicate symbol generation.
-		 Still, IMHO it's better than having name poluted.  */
+		 Still, IMHO it's better than having name polluted.  */
 	      undef->root.string = sym->root.string;
 	      undef->u.def.value = sym->u.def.value;
 	      undef->u.def.section = sym->u.def.section;
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
index 60deeedd357..1312bec2608 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
@@ -1197,7 +1197,7 @@ pep_find_data_imports (void)
 	      undef->type = bfd_link_hash_defweak;
 	      /* We replace original name with __imp_ prefixed, this
 		 1) may trash memory 2) leads to duplicate symbol generation.
-		 Still, IMHO it's better than having name poluted.  */
+		 Still, IMHO it's better than having name polluted.  */
 	      undef->root.string = sym->root.string;
 	      undef->u.def.value = sym->u.def.value;
 	      undef->u.def.section = sym->u.def.section;
diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em
index a94e1dfcc36..d36c35624da 100644
--- a/ld/emultempl/spuelf.em
+++ b/ld/emultempl/spuelf.em
@@ -719,7 +719,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	  auto_overlay_file = optarg;
 	  break;
 	}
-      /* Fall thru */
+      /* Fallthru */
 
     case OPTION_SPU_AUTO_RELINK:
       params.auto_overlay |= 2;