* solib.c (solib_address): Return the name of the containing solib.

* solib.h (PC_SOLIB): New macro; define using solib_address.
	* stack.c (print_frame_info) [PC_SOLIB]: If no function name, try
	PC_SOLIB on the PC value.
This commit is contained in:
Fred Fish 1995-11-19 07:16:03 +00:00
parent 90a7abbca3
commit d0e0eca26e
3 changed files with 64 additions and 5 deletions

View File

@ -1,3 +1,43 @@
Sat Nov 18 11:19:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* solib.c (solib_address): Return the name of the containing solib.
* solib.h (PC_SOLIB): New macro; define using solib_address.
* stack.c (print_frame_info) [PC_SOLIB]: If no function name, try
PC_SOLIB on the PC value.
Sat Nov 18 04:09:31 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* annotate.c (annotate_source, annotate_frame_begin): Issue
`0x' prefix for the pc value, to remain consistent with previous
GDB versions.
* blockframe.c (find_pc_partial_function), config/pa/tm-hppa.h:
Remove Sun shared library transfer hack and
INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK, it is obsoleted by the
mst_solib_trampoline minimal symbols.
* blockframe.c (inside_main_func): Check main_func_*pc against
INVALID_ENTRY_*PC, not zero.
* symfile.c (init_entry_point_info): Initialize ei.*pc with
INVALID_ENTRY_*PC.
* mipsread.c (mipscoff_symfile_read): If the entry_file bounds
are still unknown after processing the partial symbols, then try
to set them from the minimal symbols.
* infcmd.c (registers_info): Error out if selected_frame is NULL.
* stack.c (return_command): Select new current frame silently if
not interactive.
* mipsread.c (read_alphacoff_dynamic_symtab): Ignore additional
DT_MIPS_LOCAL_GOTNO and DT_MIPS_GOTSYM entries.
* irix5-nat.c (solib_create_inferior_hook): Call solib_add only
if auto_solib_add_at_startup is nonzero.
(_initialize_solib): Add "set auto-solib-add" command.
* osfsolib.c (solib_create_inferior_hook): Call solib_add only
if auto_solib_add_at_startup is nonzero.
(_initialize_solib): Add "set auto-solib-add" command.
Wed Nov 15 17:12:04 1995 Stan Shebs <shebs@andros.cygnus.com>
* utils.c: Don't include sys/ioctl.h etc if MPW is host.

View File

@ -50,7 +50,11 @@ solib_create_inferior_hook PARAMS((void)); /* solib.c */
/* If we can't set a breakpoint, and it's in a shared library, just
disable it. */
#define DISABLE_UNSETTABLE_BREAK(addr) solib_address(addr)
#define DISABLE_UNSETTABLE_BREAK(addr) (solib_address(addr) != NULL)
extern int
extern char *
solib_address PARAMS ((CORE_ADDR)); /* solib.c */
/* If ADDR lies in a shared library, return its name. */
#define PC_SOLIB(addr) solib_address (addr)

View File

@ -1,5 +1,5 @@
/* Print and select stack frames for GDB, the GNU debugger.
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995
Free Software Foundation, Inc.
This file is part of GDB.
@ -16,10 +16,11 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "gdb_string.h"
#include "defs.h"
#include "gdb_string.h"
#include "value.h"
#include "symtab.h"
#include "gdbtypes.h"
@ -343,6 +344,18 @@ print_frame_info (fi, level, source, args)
wrap_here (" ");
printf_filtered (" from %s", PC_LOAD_SEGMENT (fi->pc));
}
#endif
#ifdef PC_SOLIB
if (!funname)
{
char *lib = PC_SOLIB (fi->pc);
if (lib)
{
annotate_frame_where ();
wrap_here (" ");
printf_filtered (" from %s", lib);
}
}
#endif
printf_filtered ("\n");
}
@ -1385,6 +1398,8 @@ return_command (retval_exp, from_tty)
if (from_tty)
frame_command ("0", 1);
else
select_frame_command ("0", 0);
}
/* Gets the language of the current frame. */