X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fsolist.h;h=08d8e7690b9deb0686058b3b88b78eca51e9b867;hb=70f575ccc8d2ef399512be60131931dc16149149;hp=fa00aaff3d48949b187f24747c4d84511cc45e07;hpb=fa3b51d224d7b32bace5c9059a4e6a4b39a177f6;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/solist.h b/gdb/solist.h index fa00aaff3d..08d8e7690b 100644 --- a/gdb/solist.h +++ b/gdb/solist.h @@ -1,7 +1,6 @@ /* Shared library declarations for GDB, the GNU Debugger. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, - 2001 - Free Software Foundation, Inc. + Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, + 2001, 2007 Free Software Foundation, Inc. This file is part of GDB. @@ -17,8 +16,11 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + +#ifndef SOLIST_H +#define SOLIST_H #define SO_NAME_MAX_PATH_SIZE 512 /* FIXME: Should be dynamic */ @@ -96,10 +98,20 @@ struct target_so_ops /* Determine if PC lies in the dynamic symbol resolution code of the run time loader */ int (*in_dynsym_resolve_code) (CORE_ADDR pc); + + /* Extra hook for finding and opening a solib. + Convenience function for remote debuggers finding host libs. */ + int (*find_and_open_solib) (char *soname, + unsigned o_flags, char **temp_pathname); + }; +/* Free the memory associated with a (so_list *). */ void free_so (struct so_list *so); +/* Return address of first so_list entry in master shared object list. */ +struct so_list *master_so_list (void); + /* Find solib binary file and open it. */ extern int solib_open (char *in_pathname, char **found_pathname); @@ -108,14 +120,9 @@ extern struct target_so_ops *current_target_so_ops; #define TARGET_SO_RELOCATE_SECTION_ADDRESSES \ (current_target_so_ops->relocate_section_addresses) -#define TARGET_SO_FREE_SO (current_target_so_ops->free_so) -#define TARGET_SO_CLEAR_SOLIB (current_target_so_ops->clear_solib) -#define TARGET_SO_SOLIB_CREATE_INFERIOR_HOOK \ - (current_target_so_ops->solib_create_inferior_hook) -#define TARGET_SO_SPECIAL_SYMBOL_HANDLING \ - (current_target_so_ops->special_symbol_handling) -#define TARGET_SO_CURRENT_SOS (current_target_so_ops->current_sos) -#define TARGET_SO_OPEN_SYMBOL_FILE_OBJECT \ - (current_target_so_ops->open_symbol_file_object) +#define TARGET_SO_FIND_AND_OPEN_SOLIB \ + (current_target_so_ops->find_and_open_solib) #define TARGET_SO_IN_DYNSYM_RESOLVE_CODE \ (current_target_so_ops->in_dynsym_resolve_code) + +#endif