diff options
author | Roland McGrath <roland@gnu.org> | 2011-07-28 17:39:20 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2011-07-28 17:39:20 +0000 |
commit | 23209a785322071cf1be95d3d5c50b78d7720db0 (patch) | |
tree | 78023251e1b5d82689acc99c541f2ff4cb808314 /bfd/elf-bfd.h | |
parent | 9aec20268e477ab268c345b58e6659b622028536 (diff) | |
download | gdb-23209a785322071cf1be95d3d5c50b78d7720db0.zip gdb-23209a785322071cf1be95d3d5c50b78d7720db0.tar.gz gdb-23209a785322071cf1be95d3d5c50b78d7720db0.tar.bz2 |
Clean up elf32-i386-vxworks:
* elf32-i386.c (struct elf_i386_backend_data): New type.
(get_elf_i386_backend_data): New macro.
(elf_i386_arch_bed): New variable.
(elf_backend_arch_data): New macro.
(struct elf_i386_link_hash_table): Remove plt0_pad_byte and is_vxworks.
(elf_i386_link_hash_table_create): Don't initialize them.
(elf_i386_create_dynamic_sections): Find is_vxworks flags in
elf_i386_backend_data, not elf_i386_link_hash_table.
(elf_i386_adjust_dynamic_symbol): Likewise.
(elf_i386_allocate_dynrelocs): Likewise.
(elf_i386_readonly_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(elf_i386_finish_dynamic_sections): Likewise. Same for plt0_pad_byte.
(elf_i386_vxworks_link_hash_table_create): Function removed.
(elf_i386_vxworks_arch_bed): New variable.
(elf_backend_arch_data): New macro in elf32-i386-vxworks stanza.
* elf-bfd.h (elf_backend_data): New member arch_backend_data.
* elfxx-target.h (elf_backend_arch_data): New macro.
(elfNN_bed): Use it as initializer for the new member.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index bf63ee8..e6ea580 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -714,6 +714,10 @@ struct elf_backend_data /* The BFD flags applied to sections created for dynamic linking. */ flagword dynamic_sec_flags; + /* Architecture-specific data for this backend. + This is actually a pointer to some type like struct elf_ARCH_data. */ + const void *arch_data; + /* A function to translate an ELF RELA relocation to a BFD arelent structure. */ void (*elf_info_to_howto) @@ -1553,7 +1557,7 @@ struct elf_obj_tdata const char *dt_name; /* The linker emulation needs to know what audit libs - are used by a dynamic object. */ + are used by a dynamic object. */ const char *dt_audit; /* Records the result of `get_program_header_size'. */ @@ -1893,7 +1897,7 @@ extern bfd_boolean bfd_section_from_phdr extern int _bfd_elf_symbol_from_bfd_symbol (bfd *, asymbol **); -extern Elf_Internal_Sym *bfd_sym_from_r_symndx +extern Elf_Internal_Sym *bfd_sym_from_r_symndx (struct sym_cache *, bfd *, unsigned long); extern asection *bfd_section_from_elf_index (bfd *, unsigned int); @@ -2390,7 +2394,7 @@ extern asection _bfd_elf_large_com_section; /* This macro is to avoid lots of duplicated code in the body of the loop over relocations in xxx_relocate_section() in the various elfxx-xxxx.c files. - + Handle relocations against symbols from removed linkonce sections, or sections discarded by a linker script. When doing a relocatable link, we remove such relocations. Otherwise, we just want the |