From e6aea42dfaf13c0e0ca10fa604537a2f43ce9ae9 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Mon, 3 Dec 2012 16:37:51 +0000 Subject: [PATCH] PR ld/10629 * elfxx-mips.c (mips_elf_link_hash_table): Update comment for use_rld_obj_head. (_bfd_mips_elf_create_dynamic_sections): Always create a .rld_map section if no __rld_obj_head symbol has been seen. --- bfd/ChangeLog | 8 ++++++++ bfd/elfxx-mips.c | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c81c96a..d450599 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,13 @@ 2012-12-03 Maciej W. Rozycki + PR ld/10629 + * elfxx-mips.c (mips_elf_link_hash_table): Update comment for + use_rld_obj_head. + (_bfd_mips_elf_create_dynamic_sections): Always create a + .rld_map section if no __rld_obj_head symbol has been seen. + +2012-12-03 Maciej W. Rozycki + * elf32-mips.c (mips_elf32_object_p): Return right away when the ABI is not compatible. * elfn32-mips.c (mips_elf_n32_object_p): Likewise. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 168973e..a4aa125 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -432,8 +432,8 @@ struct mips_elf_link_hash_table /* The size of the .compact_rel section (if SGI_COMPAT). */ bfd_size_type compact_rel_size; - /* This flag indicates that the value of DT_MIPS_RLD_MAP dynamic - entry is set to the address of __rld_obj_head as in IRIX5. */ + /* This flag indicates that the value of DT_MIPS_RLD_MAP dynamic entry + is set to the address of __rld_obj_head as in IRIX5 and IRIX6. */ bfd_boolean use_rld_obj_head; /* The __rld_map or __rld_obj_head symbol. */ @@ -7293,7 +7293,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; htab->sstubs = s; - if ((IRIX_COMPAT (abfd) == ict_irix5 || IRIX_COMPAT (abfd) == ict_none) + if (!mips_elf_hash_table (info)->use_rld_obj_head && !info->shared && bfd_get_linker_section (abfd, ".rld_map") == NULL) { -- 2.7.4