diff --git a/ld/ChangeLog b/ld/ChangeLog
index 51e5ebb36b6..c795bacbaf4 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2004-03-27  Alan Modra  <amodra@bigpond.net.au>
+
+	* emultempl/elf32.em: Update new bfd_elf_discard_info name.
+	* emultempl/hppaelf.em: Likewise.
+	* emultempl/ppc64elf.em: Likewise.
+	* emultempl/sh64elf.em: Likewise.
+
 2004-03-25  Alan Modra  <amodra@bigpond.net.au>
 
 	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index a86434afd80..92f502d9d7e 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1407,7 +1407,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
 static void
 gld${EMULATION_NAME}_finish (void)
 {
-  if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+  if (bfd_elf_discard_info (output_bfd, &link_info))
     {
       lang_reset_memory_regions ();
 
diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
index e9445f27919..93e88ad655a 100644
--- a/ld/emultempl/hppaelf.em
+++ b/ld/emultempl/hppaelf.em
@@ -254,11 +254,11 @@ build_section_lists (lang_statement_union_type *statement)
 static void
 gld${EMULATION_NAME}_finish (void)
 {
-  /* bfd_elf32_discard_info just plays with debugging sections,
+  /* bfd_elf_discard_info just plays with debugging sections,
      ie. doesn't affect any code, so we can delay resizing the
      sections.  It's likely we'll resize everything in the process of
      adding stubs.  */
-  if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+  if (bfd_elf_discard_info (output_bfd, &link_info))
     need_laying_out = 1;
 
   /* If generating a relocatable output file, then we don't
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index 22ed608c297..4f408a9fa29 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -318,11 +318,11 @@ gld${EMULATION_NAME}_finish (void)
      descriptor in the .opd section.  */
   entry_section = ".opd";
 
-  /* bfd_elf64_discard_info just plays with debugging sections,
+  /* bfd_elf_discard_info just plays with debugging sections,
      ie. doesn't affect any code, so we can delay resizing the
      sections.  It's likely we'll resize everything in the process of
      adding stubs.  */
-  if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+  if (bfd_elf_discard_info (output_bfd, &link_info))
     need_laying_out = 1;
 
   /* If generating a relocatable output file, then we don't have any
diff --git a/ld/emultempl/sh64elf.em b/ld/emultempl/sh64elf.em
index 7f2b037df7f..83bfe676bb1 100644
--- a/ld/emultempl/sh64elf.em
+++ b/ld/emultempl/sh64elf.em
@@ -379,7 +379,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation (void)
      lang_process, and the second time when lang_process calls ldemul_finish,
      which calls gld${EMULATION_NAME}_finish, e.g. gldshelf32_finish, which
      is defined in emultempl/elf32.em and calls ldemul_after_allocation,
-     if bfd_elf${ELFSIZE}_discard_info returned true.  */
+     if bfd_elf_discard_info returned true.  */
   if (cranges->contents != NULL)
     free (cranges->contents);