From 53bfd6b45b89735e648cf4c966f9113eadcda35d Mon Sep 17 00:00:00 2001
From: "Maciej W. Rozycki" <macro@linux-mips.org>
Date: Wed, 5 Jun 2002 10:31:47 +0000
Subject: [PATCH] * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move
 to... elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
 elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
 _bfd_mips_elf_ignore_discarded_relocs. elfxx-mips.h
 (_bfd_mips_elf_ignore_discarded_relocs): Declare.

---
 bfd/ChangeLog    |  8 ++++++++
 bfd/elf32-mips.c | 13 +------------
 bfd/elf64-mips.c |  2 ++
 bfd/elfxx-mips.c |  9 +++++++++
 bfd/elfxx-mips.h |  2 ++
 5 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index b0ca9d0c901..0cbc8e7682e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2002-06-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
+	elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
+	elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
+	_bfd_mips_elf_ignore_discarded_relocs.
+	elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
+
 2002-06-05  H.J. Lu <hjl@gnu.org>
 
 	* elfxx-mips.c (mips_elf_calculate_relocation): Call
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index 5c201b357ea..11c427a84c4 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -82,8 +82,6 @@ static boolean elf32_mips_grok_psinfo
   PARAMS ((bfd *, Elf_Internal_Note *));
 static boolean elf32_mips_discard_info
   PARAMS ((bfd *, struct elf_reloc_cookie *, struct bfd_link_info *));
-static boolean elf32_mips_ignore_discarded_relocs
-  PARAMS ((asection *));
 static boolean elf32_mips_write_section
   PARAMS ((bfd *, asection *, bfd_byte *));
 static irix_compat_t elf32_mips_irix_compat
@@ -1726,15 +1724,6 @@ elf32_mips_discard_info (abfd, cookie, info)
   return ret;
 }
 
-static boolean
-elf32_mips_ignore_discarded_relocs (sec)
-     asection *sec;
-{
-  if (strcmp (sec->name, ".pdr") == 0)
-    return true;
-  return false;
-}
-
 static boolean
 elf32_mips_write_section (output_bfd, sec, contents)
      bfd *output_bfd;
@@ -2056,7 +2045,7 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
 
 #define elf_backend_discard_info	elf32_mips_discard_info
 #define elf_backend_ignore_discarded_relocs \
-					elf32_mips_ignore_discarded_relocs
+					_bfd_mips_elf_ignore_discarded_relocs
 #define elf_backend_write_section	elf32_mips_write_section
 #define elf_backend_mips_irix_compat	elf32_mips_irix_compat
 #define elf_backend_mips_rtype_to_howto	mips_elf32_rtype_to_howto
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index 508c0ee0bca..6c1de476f3f 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -2719,6 +2719,8 @@ const struct elf_size_info mips_elf64_size_info =
 #define elf_backend_gc_mark_hook	_bfd_mips_elf_gc_mark_hook
 #define elf_backend_gc_sweep_hook	_bfd_mips_elf_gc_sweep_hook
 #define elf_backend_hide_symbol		_bfd_mips_elf_hide_symbol
+#define elf_backend_ignore_discarded_relocs \
+					_bfd_mips_elf_ignore_discarded_relocs
 #define elf_backend_mips_irix_compat	elf64_mips_irix_compat
 #define elf_backend_mips_rtype_to_howto	mips_elf64_rtype_to_howto
 #define elf_backend_ecoff_debug_swap	&mips_elf64_ecoff_debug_swap
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 08e1abbcd70..fa32640c565 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -6422,6 +6422,15 @@ _bfd_mips_elf_hide_symbol (info, entry, force_local)
   got->_raw_size += MIPS_ELF_GOT_SIZE (dynobj);
 }
 
+boolean
+_bfd_mips_elf_ignore_discarded_relocs (sec)
+     asection *sec;
+{
+  if (strcmp (sec->name, ".pdr") == 0)
+    return true;
+  return false;
+}
+
 /* MIPS ELF uses a special find_nearest_line routine in order the
    handle the ECOFF debugging information.  */
 
diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h
index 13d03f15da0..b0812652633 100644
--- a/bfd/elfxx-mips.h
+++ b/bfd/elfxx-mips.h
@@ -71,6 +71,8 @@ extern void _bfd_mips_elf_copy_indirect_symbol
   PARAMS ((struct elf_link_hash_entry *, struct elf_link_hash_entry *));
 extern void _bfd_mips_elf_hide_symbol
   PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean));
+extern boolean _bfd_mips_elf_ignore_discarded_relocs
+  PARAMS ((asection *));
 extern boolean _bfd_mips_elf_find_nearest_line
   PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **,
 	   const char **, unsigned int *));