From: Daniel Jacobowitz Date: Tue, 17 Apr 2007 13:14:08 +0000 (+0000) Subject: * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5750dcecf6a09f90007d130f93da4bca48b2ce48;p=binutils-gdb.git * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put DT_MIPS_RLD_MAP before DT_DEBUG again. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8ed0fad9a54..7d7838c848b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2007-04-17 Daniel Jacobowitz + + * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put + DT_MIPS_RLD_MAP before DT_DEBUG again. + 2007-04-14 Steve Ellcey * Makefile.am: Add ACLOCAL_AMFLAGS. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index c560e18f569..fa171645e8f 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -7584,19 +7584,23 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, /* Add some entries to the .dynamic section. We fill in the values later, in _bfd_mips_elf_finish_dynamic_sections, but we must add the entries now so that we get the correct size for - the .dynamic section. The DT_DEBUG entry is filled in by the - dynamic linker and used by the debugger. */ - if (info->executable - && !SGI_COMPAT (output_bfd) - && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_DEBUG, 0)) - return FALSE; + the .dynamic section. */ /* SGI object has the equivalence of DT_DEBUG in the - DT_MIPS_RLD_MAP entry. */ + DT_MIPS_RLD_MAP entry. This must come first because glibc + only fills in DT_MIPS_RLD_MAP (not DT_DEBUG) and GDB only + looks at the first one it sees. */ if (!info->shared && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP, 0)) return FALSE; + /* The DT_DEBUG entry may be filled in by the dynamic linker and + used by the debugger. */ + if (info->executable + && !SGI_COMPAT (output_bfd) + && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_DEBUG, 0)) + return FALSE; + if (reltext && (SGI_COMPAT (output_bfd) || htab->is_vxworks)) info->flags |= DF_TEXTREL;