This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [patch] vtable garbage-collection correction to selective6
- To: hp at bitrange dot com
- Subject: Re: [patch] vtable garbage-collection correction to selective6
- From: Nick Clifton <nickc at redhat dot com>
- Date: Mon, 16 Oct 2000 12:57:40 -0700
- CC: binutils at sources dot redhat dot com
Hi Hans-Peter,
What is the current status of this patch ?
Are you still awaiting approval ?
Cheers
Nick
2000-10-02 Hans-Peter Nilsson <hp@bitrange.com>
* section.c (bfd_get_section_id_bound): New.
* elf-bfd.h (struct elf_link_hash_entry): Change type of member
vtable_entries_used to be struct htab **.
* elflink.h: Include hashtab.h from libiberty.
(struct elf_gc_mark_info, struct elf_gc_info): New.
(elf_gc_mark): Add parameter gc_info. All callers changed.
Do not process relocs marked with ELF_R_VTABLE_MARK_BIT.
Add recursed sections to gc_info->sections.
(elf_gc_copy_htab_entry): New.
(elf_gc_propagate_vtable_entries_used): Adjust to using
hash-tables for vt entry usage.
(elf_gc_smash_unused_vtentry_relocs): Similar.
Add ELF_R_VTABLE_MARK_BIT mark to vt entry relocs whose usage
depends on whether the user is garbage-collected.
(elf_gc_mark_vtentry_relocs): New.
(elf_gc_sweep_vtentry_relocs): New.
(elf_gc_sections): Change to use a list of marked sections to
iterate over vt:s checking if the users of the entries are kept
after garbage collection.
(elf_gc_record_vtentry): Adjust to mark the user in a hash-table
for the vt entry.