Things that still need to be handled: -*- Text -*- o - check all the swapping code. o - change the memory usage to reflect the message which follows the page break. o - implement bfd_abort, which should close the bfd but not alter the filesystem. o - remove the following obsolete functions: bfd_symbol_value bfd_symbol_name bfd_get_first_symbol bfd_get_next_symbol bfd_classify_symbol bfd_symbol_hasclass o - update the bfd doc; write a how-to-write-a-backend doc. o - change reloc handling as per Steve's suggestion. Changing the way bfd uses memory. The new convention is simple: o - bfd will never write into user-supplied memory, nor attempt to free it. o - closing a bfd may reclaim all bfd-allocated memory associated with that bfd. - - bfd_target_list will be the one exception; you must reclaim the returned vector yourself. Interface implications are minor (get_symcount_upper_bound will go away; bfd_cannicalize_symtab will allocate its own memory, etc). Certain operations consume a lot of memory; for them manual reclaimation is available: o - bfd_canonicalize_symtab will return a pointer to a null-terminated vector of symbols. Subsequent calls may or may not return the same pointer. bfd_canonicalize_relocs will do the same; returning a pointer to an array of arelocs. Calling this function will read symbols in too. o - bfd_reclaim_relocs will free the memory used by these relocs. the symbols will be untouched. bfd_reclaim_symtab (ne bfd_reclaim_symbol_table) will free the memory allocated by canonialize_symtab. Since relocations point to symbols, any relocations obtained by a call to bfd_canonicalize_relocs will be reclaimed as well. o - if you don't call the reclaim_ functions, the memory will be reclaimed at bfd_close time.