aboutsummaryrefslogtreecommitdiff
path: root/bfd/targets.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-04-07 01:48:51 +0000
committerIan Lance Taylor <ian@airs.com>1994-04-07 01:48:51 +0000
commitad46bd1d13148db9099ad2ae13c1ae7a63af018a (patch)
tree61728db63ec1e37d5e6d60a0e8c55c57c32a988f /bfd/targets.c
parent7e29158a44da13fa052f00fe577dc59aef345b45 (diff)
downloadgdb-ad46bd1d13148db9099ad2ae13c1ae7a63af018a.zip
gdb-ad46bd1d13148db9099ad2ae13c1ae7a63af018a.tar.gz
gdb-ad46bd1d13148db9099ad2ae13c1ae7a63af018a.tar.bz2
* targets.c (bfd_target): Add fields
_bfd_get_dynamic_symtab_upper_bound, _bfd_canonicalize_dynamic_symtab, _bfd_get_dynamic_reloc_upper_bound, _bfd_canonicalize_dynamic_reloc. (BFD_JUMP_TABLE_DYNAMIC): Define. * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound): Define. (_bfd_nodynamic_canonicalize_dynamic_symtab): Define. (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define. (_bfd_nodynamic_canonicalize_dynamic_reloc): Define. * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define. (bfd_canonicalize_dynamic_symtab): Define. (bfd_get_dynamic_reloc_upper_bound): Define. (bfd_canonicalize_dynamic_reloc): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt.
Diffstat (limited to 'bfd/targets.c')
-rw-r--r--bfd/targets.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/bfd/targets.c b/bfd/targets.c
index 80d2f21..347264d 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -376,16 +376,33 @@ The general target vector.
. boolean (*_bfd_relax_section) PARAMS ((bfd *, struct sec *,
. struct bfd_link_info *, boolean *again));
.
-. {* Create a hash table for the linker. Different backends store
-. different information in this table. *}
-. struct bfd_link_hash_table *(*_bfd_link_hash_table_create) PARAMS ((bfd *));
+. {* Create a hash table for the linker. Different backends store
+. different information in this table. *}
+. struct bfd_link_hash_table *(*_bfd_link_hash_table_create) PARAMS ((bfd *));
.
-. {* Add symbols from this object file into the hash table. *}
-. boolean (*_bfd_link_add_symbols) PARAMS ((bfd *, struct bfd_link_info *));
+. {* Add symbols from this object file into the hash table. *}
+. boolean (*_bfd_link_add_symbols) PARAMS ((bfd *, struct bfd_link_info *));
.
-. {* Do a link based on the link_order structures attached to each
-. section of the BFD. *}
-. boolean (*_bfd_final_link) PARAMS ((bfd *, struct bfd_link_info *));
+. {* Do a link based on the link_order structures attached to each
+. section of the BFD. *}
+. boolean (*_bfd_final_link) PARAMS ((bfd *, struct bfd_link_info *));
+.
+. {* Routines to handle dynamic symbols and relocs. *}
+.#define BFD_JUMP_TABLE_DYNAMIC(NAME)\
+.CAT(NAME,_get_dynamic_symtab_upper_bound),\
+.CAT(NAME,_canonicalize_dynamic_symtab),\
+.CAT(NAME,_get_dynamic_reloc_upper_bound),\
+.CAT(NAME,_canonicalize_dynamic_reloc)
+. {* Get the amount of memory required to hold the dynamic symbols. *}
+. long (*_bfd_get_dynamic_symtab_upper_bound) PARAMS ((bfd *));
+. {* Read in the dynamic symbols. *}
+. long (*_bfd_canonicalize_dynamic_symtab)
+. PARAMS ((bfd *, struct symbol_cache_entry **));
+. {* Get the amount of memory required to hold the dynamic relocs. *}
+. long (*_bfd_get_dynamic_reloc_upper_bound) PARAMS ((bfd *));
+. {* Read in the dynamic relocs. *}
+. long (*_bfd_canonicalize_dynamic_reloc)
+. PARAMS ((bfd *, arelent **, struct symbol_cache_entry **));
.
Data for use by back-end routines, which isn't generic enough to belong