* libelf.h (elf_obj_tdata): Add members for dynamic symbol table

handling.
	* elfcode.h (bfd_section_from_shdr):  Handle dynamic symbol table.
	* elfcode.h (elf_slurp_symbol_table):  Take additional parameter
	to select static or dynamic symbol table and return number of
	symbols slurped or -1 on error.
	* elfcode.h (elf_get_symtab):  Set bfd symcount from
	elf_slurp_symbol_table result.
	* elfcode.h (elf_get_dynamic_symtab_upper_bound,
	elf_canonicalize_dynamic_symtab):  New functions to handle dynamic
	symbol table.
	* elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
	Change to handle dynamic symbol table, provide default definitions
	for dynamic relocs.
	* aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
	NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
	aout_link_reloc_link_order):  Handle r_jmptable and r_relative
	relocations.
This commit is contained in:
Peter Schauer
1994-04-21 17:01:12 +00:00
parent dcb210cb09
commit cb71adf12b
5 changed files with 122 additions and 28 deletions

View File

@ -62,6 +62,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define bfd_elf64_bfd_is_local_label bfd_generic_is_local_label
#endif
#ifndef bfd_elf64_get_dynamic_reloc_upper_bound
#define bfd_elf64_get_dynamic_reloc_upper_bound \
_bfd_nodynamic_get_dynamic_reloc_upper_bound
#endif
#ifndef bfd_elf64_canonicalize_dynamic_reloc
#define bfd_elf64_canonicalize_dynamic_reloc \
_bfd_nodynamic_canonicalize_dynamic_reloc
#endif
#ifndef elf_info_to_howto_rel
#define elf_info_to_howto_rel 0
#endif
@ -211,7 +220,7 @@ bfd_target TARGET_BIG_SYM =
BFD_JUMP_TABLE_RELOCS (bfd_elf64),
BFD_JUMP_TABLE_WRITE (bfd_elf64),
BFD_JUMP_TABLE_LINK (bfd_elf64),
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
BFD_JUMP_TABLE_DYNAMIC (bfd_elf64),
/* backend_data: */
(PTR) &elf64_bed,
@ -299,7 +308,7 @@ bfd_target TARGET_LITTLE_SYM =
BFD_JUMP_TABLE_RELOCS (bfd_elf64),
BFD_JUMP_TABLE_WRITE (bfd_elf64),
BFD_JUMP_TABLE_LINK (bfd_elf64),
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
BFD_JUMP_TABLE_DYNAMIC (bfd_elf64),
/* backend_data: */
(PTR) &elf64_bed,