X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsolib.h;h=ccc5b6358b07edc90e22b00dc45bbb2950142757;hb=86fff24db3071e9b68fd47ed0d757161e6f6843a;hp=995f58e0d2f0731037d2eeeb944d4faaf80052fd;hpb=7d0a3fc844cdaea1e8c164cefc35f912c11e845a;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/solib.h b/gdb/solib.h index 995f58e0d2..ccc5b6358b 100644 --- a/gdb/solib.h +++ b/gdb/solib.h @@ -1,72 +1,72 @@ /* Shared library declarations for GDB, the GNU Debugger. - Copyright (C) 1992, 1998 Free Software Foundation, Inc. + + Copyright (C) 1992, 1993, 1995, 1998, 1999, 2000, 2001, 2003, 2005, 2007, + 2008, 2009 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -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. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ -#ifdef __STDC__ /* Forward decl's for prototypes */ +#ifndef SOLIB_H +#define SOLIB_H + +/* Forward decl's for prototypes */ +struct so_list; struct target_ops; -#endif +struct target_so_ops; /* Called when we free all symtabs, to free the shared library information as well. */ -#define CLEAR_SOLIB clear_solib - -extern void -clear_solib PARAMS ((void)); +extern void clear_solib (void); /* Called to add symbols from a shared library to gdb's symbol table. */ -#define SOLIB_ADD(filename, from_tty, targ) \ - solib_add (filename, from_tty, targ) +extern void solib_add (char *, int, struct target_ops *, int); +extern int solib_read_symbols (struct so_list *, int); -extern void -solib_add PARAMS ((char *, int, struct target_ops *)); +/* Function to be called when the inferior starts up, to discover the + names of shared libraries that are dynamically linked, the base + addresses to which they are linked, and sufficient information to + read in their symbols at a later time. */ -/* Function to be called when the inferior starts up, to discover the names - of shared libraries that are dynamically linked, the base addresses to - which they are linked, and sufficient information to read in their symbols - at a later time. */ +extern void solib_create_inferior_hook (void); -#define SOLIB_CREATE_INFERIOR_HOOK(PID) solib_create_inferior_hook() +/* If ADDR lies in a shared library, return its name. */ -extern void -solib_create_inferior_hook PARAMS((void)); /* solib.c */ +extern char *solib_name_from_address (CORE_ADDR); -/* If we can't set a breakpoint, and it's in a shared library, just - disable it. */ +/* Return 1 if ADDR lies within SOLIB. */ -#define DISABLE_UNSETTABLE_BREAK(addr) (solib_address(addr) != NULL) +extern int solib_contains_address_p (const struct so_list *, CORE_ADDR); -extern char * -solib_address PARAMS ((CORE_ADDR)); /* solib.c */ +/* Return 1 if PC lies in the dynamic symbol resolution code of the + run time loader. */ -/* If ADDR lies in a shared library, return its name. */ +extern int in_solib_dynsym_resolve_code (CORE_ADDR); -#define PC_SOLIB(addr) solib_address (addr) +/* Discard symbols that were auto-loaded from shared libraries. */ -#ifdef SVR4_SHARED_LIBS +extern void no_shared_libraries (char *ignored, int from_tty); -/* Return 1 if PC lies in the dynamic symbol resolution code of the - SVR4 run time loader. */ +/* Set the solib operations for GDBARCH to NEW_OPS. */ + +extern void set_solib_ops (struct gdbarch *gdbarch, + struct target_so_ops *new_ops); -#define IN_SOLIB_DYNSYM_RESOLVE_CODE(pc) in_svr4_dynsym_resolve_code (pc) +/* Return non-zero if NAME is the libpthread shared library. */ -extern int -in_svr4_dynsym_resolve_code PARAMS ((CORE_ADDR)); +extern int libpthread_name_p (const char *name); -#endif +#endif /* SOLIB_H */