diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-04-17 13:14:08 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-04-17 13:14:08 +0000 |
commit | 5750dcecf6a09f90007d130f93da4bca48b2ce48 (patch) | |
tree | af9b00dcc8b7bce1f93ade44e7ae2da338f02f44 /bfd/elfxx-mips.c | |
parent | a4a181ad269921cfc38a07a5b7579eb5ca9e1057 (diff) | |
download | gdb-5750dcecf6a09f90007d130f93da4bca48b2ce48.zip gdb-5750dcecf6a09f90007d130f93da4bca48b2ce48.tar.gz gdb-5750dcecf6a09f90007d130f93da4bca48b2ce48.tar.bz2 |
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
DT_MIPS_RLD_MAP before DT_DEBUG again.
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r-- | bfd/elfxx-mips.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index c560e18..fa17164 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; |