* 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:
parent
90a7abbca3
commit
d0e0eca26e
3 changed files with 64 additions and 5 deletions
|
@ -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>
|
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.
|
* utils.c: Don't include sys/ioctl.h etc if MPW is host.
|
||||||
|
|
|
@ -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
|
/* If we can't set a breakpoint, and it's in a shared library, just
|
||||||
disable it. */
|
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 */
|
solib_address PARAMS ((CORE_ADDR)); /* solib.c */
|
||||||
|
|
||||||
|
/* If ADDR lies in a shared library, return its name. */
|
||||||
|
|
||||||
|
#define PC_SOLIB(addr) solib_address (addr)
|
||||||
|
|
21
gdb/stack.c
21
gdb/stack.c
|
@ -1,5 +1,5 @@
|
||||||
/* Print and select stack frames for GDB, the GNU debugger.
|
/* 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.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GDB.
|
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
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
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 "defs.h"
|
||||||
|
#include "gdb_string.h"
|
||||||
#include "value.h"
|
#include "value.h"
|
||||||
#include "symtab.h"
|
#include "symtab.h"
|
||||||
#include "gdbtypes.h"
|
#include "gdbtypes.h"
|
||||||
|
@ -343,6 +344,18 @@ print_frame_info (fi, level, source, args)
|
||||||
wrap_here (" ");
|
wrap_here (" ");
|
||||||
printf_filtered (" from %s", PC_LOAD_SEGMENT (fi->pc));
|
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
|
#endif
|
||||||
printf_filtered ("\n");
|
printf_filtered ("\n");
|
||||||
}
|
}
|
||||||
|
@ -1385,6 +1398,8 @@ return_command (retval_exp, from_tty)
|
||||||
|
|
||||||
if (from_tty)
|
if (from_tty)
|
||||||
frame_command ("0", 1);
|
frame_command ("0", 1);
|
||||||
|
else
|
||||||
|
select_frame_command ("0", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Gets the language of the current frame. */
|
/* Gets the language of the current frame. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue