aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>1998-06-30 10:02:22 +0000
committerRichard Henderson <rth@redhat.com>1998-06-30 10:02:22 +0000
commit303b4cc64fa823bde77776b05503b39dc513e644 (patch)
treebba8b7aa0ced2c0a7a22ddee4cc5b89832d72ebb /bfd/elf.c
parentd40d5880c209617e3e4c951ed70b083c76b4cc37 (diff)
downloadgdb-303b4cc64fa823bde77776b05503b39dc513e644.zip
gdb-303b4cc64fa823bde77776b05503b39dc513e644.tar.gz
gdb-303b4cc64fa823bde77776b05503b39dc513e644.tar.bz2
ELF Section-level Garbage Collection.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index af26c8c..f5f34aa 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -840,10 +840,12 @@ _bfd_elf_link_hash_newfunc (entry, table, string)
ret->dynindx = -1;
ret->dynstr_index = 0;
ret->weakdef = NULL;
- ret->got_offset = (bfd_vma) -1;
- ret->plt_offset = (bfd_vma) -1;
+ ret->got.offset = (bfd_vma) -1;
+ ret->plt.offset = (bfd_vma) -1;
ret->linker_section_pointer = (elf_linker_section_pointers_t *)0;
ret->verinfo.verdef = NULL;
+ ret->vtable_entries_used = NULL;
+ ret->vtable_parent = NULL;
ret->type = STT_NOTYPE;
ret->other = 0;
/* Assume that we have been called by a non-ELF symbol reader.
@@ -2178,6 +2180,7 @@ map_sections_to_segments (abfd)
if (phdr_size == 0)
phdr_size = get_elf_backend_data (abfd)->s->sizeof_phdr;
if ((abfd->flags & D_PAGED) == 0
+ || sections[0]->lma < phdr_size
|| sections[0]->lma % maxpagesize < phdr_size % maxpagesize)
phdr_in_section = false;
}