diff options
author | Daniel Jacobowitz <drow@false.org> | 2008-04-29 11:53:45 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2008-04-29 11:53:45 +0000 |
commit | 266b05cf7629d7cefecd2b31542a2332e3d5e385 (patch) | |
tree | 329c85db1221b44ff910b956ca91823f3688fb5f /bfd/elf.c | |
parent | a0fe373c768a198d0eb78aecedcbe809708dc921 (diff) | |
download | gdb-266b05cf7629d7cefecd2b31542a2332e3d5e385.zip gdb-266b05cf7629d7cefecd2b31542a2332e3d5e385.tar.gz gdb-266b05cf7629d7cefecd2b31542a2332e3d5e385.tar.bz2 |
* elf.c (_bfd_elf_get_dynamic_reloc_upper_bound)
(_bfd_elf_canonicalize_dynamic_reloc): Find dynamic relocations
even if they are not loaded.
* elflink.c (_bfd_elf_init_2_index_sections): Set data_index_section
first.
* ld-arm/symbian-seg1.s, ld-arm/symbian-seg1.d: New files.
* ld-arm/arm-elf.exp: Run symbian-seg1.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -6520,8 +6520,7 @@ _bfd_elf_get_dynamic_reloc_upper_bound (bfd *abfd) ret = sizeof (arelent *); for (s = abfd->sections; s != NULL; s = s->next) - if ((s->flags & SEC_LOAD) != 0 - && elf_section_data (s)->this_hdr.sh_link == elf_dynsymtab (abfd) + if (elf_section_data (s)->this_hdr.sh_link == elf_dynsymtab (abfd) && (elf_section_data (s)->this_hdr.sh_type == SHT_REL || elf_section_data (s)->this_hdr.sh_type == SHT_RELA)) ret += ((s->size / elf_section_data (s)->this_hdr.sh_entsize) @@ -6557,8 +6556,7 @@ _bfd_elf_canonicalize_dynamic_reloc (bfd *abfd, ret = 0; for (s = abfd->sections; s != NULL; s = s->next) { - if ((s->flags & SEC_LOAD) != 0 - && elf_section_data (s)->this_hdr.sh_link == elf_dynsymtab (abfd) + if (elf_section_data (s)->this_hdr.sh_link == elf_dynsymtab (abfd) && (elf_section_data (s)->this_hdr.sh_type == SHT_REL || elf_section_data (s)->this_hdr.sh_type == SHT_RELA)) { |