From e59e15f5ec092ee57b634bf53e224e690ee5cd36 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Tue, 17 Apr 2007 13:14:08 +0000 Subject: [PATCH] * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put DT_MIPS_RLD_MAP before DT_DEBUG again. --- bfd/ChangeLog | 5 +++++ bfd/elfxx-mips.c | 18 +++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8ed0fad9a..7d7838c84 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 c560e18f5..fa171645e 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; -- 2.11.4.GIT