diff options
author | Richard Henderson <rth@redhat.com> | 1998-08-29 02:43:47 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 1998-08-29 02:43:47 +0000 |
commit | 09e5322ac06823a664de9028cc31deab297c0a08 (patch) | |
tree | 71032ae1b8489502f651d317177dce501bf7f45f /bfd/elf.c | |
parent | 07f50e4e2c520a9daba3642bf87d9040c99aeb33 (diff) | |
download | gdb-09e5322ac06823a664de9028cc31deab297c0a08.zip gdb-09e5322ac06823a664de9028cc31deab297c0a08.tar.gz gdb-09e5322ac06823a664de9028cc31deab297c0a08.tar.bz2 |
* elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare.
* elf.c (_bfd_elf_rel_vtable_reloc_fn): New.
* elf32-i386.c (elf_howto_table): Add vtable relocs.
(elf_i386_reloc_type_lookup): Recognize them.
(elf_i386_check_relocs): Pass them off to generic code.
(elf_i386_relocate_section): Ignore them.
(elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New.
(elf_backend_can_gc_sections): True.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 20 |
1 files changed, 18 insertions, 2 deletions
@@ -3075,11 +3075,9 @@ prep_headers (abfd) case bfd_arch_arc: i_ehdrp->e_machine = EM_CYGNUS_ARC; break; -/* start-sanitize-armelf */ case bfd_arch_arm: i_ehdrp->e_machine = EM_ARM; break; -/* end-sanitize-armelf */ case bfd_arch_m32r: i_ehdrp->e_machine = EM_CYGNUS_M32R; break; @@ -4738,3 +4736,21 @@ _bfd_elf_close_and_cleanup (abfd) return _bfd_generic_close_and_cleanup (abfd); } + +/* For Rel targets, we encode meaningful data for BFD_RELOC_VTABLE_ENTRY + in the relocation's offset. Thus we cannot allow any sort of sanity + range-checking to interfere. There is nothing else to do in processing + this reloc. */ + +bfd_reloc_status_type +_bfd_elf_rel_vtable_reloc_fn (abfd, re, symbol, data, is, obfd, errmsg) + bfd *abfd; + arelent *re; + struct symbol_cache_entry *symbol; + PTR data; + asection *is; + bfd *obfd; + char **errmsg; +{ + return bfd_reloc_ok; +} |