[patch] vtable garbage-collection correction to selective6
Nick Clifton
nickc@redhat.com
Mon Oct 16 12:57:00 GMT 2000
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.
More information about the Binutils
mailing list