From fa77c7041cadca2771476977f504b9ab0c28e5b2 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 7 Apr 1994 01:50:10 +0000 Subject: * sunos.c (MY_read_dynamic_symbols): Don't define. (MY_read_dynamic_relocs): Don't define. (MY_get_dynamic_symtab_upper_bound): Define. (MY_canonicalize_dynamic_symtab): Define. (MY_get_dynamic_reloc_upper_bound): Define. (MY_canonicalize_dynamic_reloc): Define. (struct sunos_dynamic_info): Change type of dynsym_count and dynrel_count to long. Add fields canonical_dynsym and canonical_dynrel. (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set. Clear info->canonical_dynsym and info->canonical_dynrel. (MY(read_dynamic_symbols)): Removed. (MY(read_dynamic_relocs)): Removed. (sunos_get_dynamic_symtab_upper_bound): New function. (sunos_canonicalize_dynamic_symtab): New function. (sunos_get_dynamic_reloc_upper_bound): New function. (sunos_canonicalize_dynamic_reloc): New function. * libaout.h: Declare struct reloc_ext_external and reloc_std_external to avoid prototype problems. (struct aout_backend_data): Remove fields read_dynamic_symbols and read_dynamic_relocs. (NAME(aout,translate_symbol_table)): Declare. (NAME(aout,swap_ext_reloc_in)): Declare. (NAME(aout,swap_std_reloc_in)): Declare. * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from translate_symbol_table and made non-static. Changed all callers. (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols. (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs. (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs. * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to remove dynamic symbols and relocs. They will no longer be present. (MY_read_dynamic_symbols): Don't define. (MY_read_dynamic_relocs): Don't define. (sunos4_aout_backend): Don't initialize dynamic entry points. * aout-target.h (MY_read_dynamic_symbols): Don't define. (MY_read_dynamic_relocs): Don't define. (MY(backend_data)): Don't initialize dynamic entry points. (MY_get_dynamic_symtab_upper_bound): If not defined, define to _bfd_nodynamic version. (MY_canonicalize_dynamic_symtab): Likewise. (MY_get_dynamic_reloc_upper_bound): Likewise. (MY_canonicalize_dynamic_reloc): Likewise. --- bfd/libaout.h | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) (limited to 'bfd/libaout.h') diff --git a/bfd/libaout.h b/bfd/libaout.h index 0348463..bc8caea 100644 --- a/bfd/libaout.h +++ b/bfd/libaout.h @@ -48,6 +48,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ weird scope. */ struct external_exec; struct external_nlist; +struct reloc_ext_external; +struct reloc_std_external; /* Back-end information for various a.out targets. */ struct aout_backend_data @@ -77,25 +79,6 @@ struct aout_backend_data to the size of the text section in the file for alignment purposes but does *not* get counted in the length of the text section. */ unsigned char exec_header_not_counted; - - /* A callback function to read in the dynamic symbols of an object - which is dynamically linked. This returns the number of symbols - read (or -1 on error) and sets *SYMS to a buffer holding an array - of external_nlist structures and *STRS and *STRSIZE to the - associated string table. (This interface works for SunOS, but - can be changed if some other interface is better for some other - shared library implementation). */ - bfd_size_type (*read_dynamic_symbols) PARAMS ((bfd *, - struct external_nlist **syms, - char **strs, - bfd_size_type *strsize)); - - /* A callback function to read in the dynamic relocs of an object - which is dynamically linked. This returns the number of relocs - read (or -1 on error) and sets *RELOCS to a buffer holding an - array of external reloc structures (the type depends upon the - type of object file). */ - bfd_size_type (*read_dynamic_relocs) PARAMS ((bfd *, PTR *relocs)); }; #define aout_backend_info(abfd) \ ((CONST struct aout_backend_data *)((abfd)->xvec->backend_data)) @@ -318,6 +301,13 @@ asymbol * NAME(aout,make_empty_symbol) PARAMS ((bfd *abfd)); boolean +NAME(aout,translate_symbol_table) PARAMS ((bfd *, aout_symbol_type *, + struct external_nlist *, + bfd_size_type, char *, + bfd_size_type, + boolean dynamic)); + +boolean NAME(aout,slurp_symbol_table) PARAMS ((bfd *abfd)); boolean @@ -332,6 +322,13 @@ NAME(aout,get_symtab_upper_bound) PARAMS ((bfd *abfd)); long NAME(aout,get_symtab) PARAMS ((bfd *abfd, asymbol **location)); +void +NAME(aout,swap_ext_reloc_in) PARAMS ((bfd *, struct reloc_ext_external *, + arelent *, asymbol **)); +void +NAME(aout,swap_std_reloc_in) PARAMS ((bfd *, struct reloc_std_external *, + arelent *, asymbol **)); + boolean NAME(aout,slurp_reloc_table) PARAMS ((bfd *abfd, sec_ptr asect, asymbol **symbols)); -- cgit v1.1