summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elfxx-mips.c8
-rw-r--r--bfd/elfxx-mips.h3
3 files changed, 18 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 07bf4c4155..6c4773ed28 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2006-07-18 Nick Clifton <nickc@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
+ Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common
+ sections.
+ * elfxx-mips.h (_bfd_mips_elf_common_definition): Prototype.
+
2006-07-14 Jakub Jelinek <jakub@redhat.com>
* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 7d5059e591..5e8bab485d 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -11128,3 +11128,11 @@ _bfd_mips_elf_ignore_undef_symbol (struct elf_link_hash_entry *h)
{
return ELF_MIPS_IS_OPTIONAL (h->other) ? TRUE : FALSE;
}
+
+bfd_boolean
+_bfd_mips_elf_common_definition (Elf_Internal_Sym *sym)
+{
+ return (sym->st_shndx == SHN_COMMON
+ || sym->st_shndx == SHN_MIPS_ACOMMON
+ || sym->st_shndx == SHN_MIPS_SCOMMON);
+}
diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h
index 6e9a191fa7..8629a712f7 100644
--- a/bfd/elfxx-mips.h
+++ b/bfd/elfxx-mips.h
@@ -142,6 +142,9 @@ extern bfd_boolean _bfd_mips_elf_ignore_undef_symbol
extern const struct bfd_elf_special_section _bfd_mips_elf_special_sections [];
+extern bfd_boolean _bfd_mips_elf_common_definition (Elf_Internal_Sym *);
+
+#define elf_backend_common_definition _bfd_mips_elf_common_definition
#define elf_backend_name_local_section_symbols \
_bfd_mips_elf_name_local_section_symbols
#define elf_backend_special_sections _bfd_mips_elf_special_sections