* blockframe.c, frame.h (reinit_frame_cache): New function.
solib.c (solib_add), symfile.c ({,add_}symbol_file_command): Use it.
This commit is contained in:
parent
6a3958b22d
commit
2403f49b37
|
@ -1,3 +1,9 @@
|
||||||
|
Wed Apr 24 09:45:17 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
|
||||||
|
|
||||||
|
* blockframe.c, frame.h (reinit_frame_cache): New function.
|
||||||
|
solib.c (solib_add), symfile.c ({,add_}symbol_file_command):
|
||||||
|
Use it.
|
||||||
|
|
||||||
Tue Apr 23 10:38:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
|
Tue Apr 23 10:38:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
|
||||||
|
|
||||||
* symtab.c (lookup_symbol): Add 3 more of those loops through
|
* symtab.c (lookup_symbol): Add 3 more of those loops through
|
||||||
|
|
|
@ -146,6 +146,17 @@ flush_cached_frames ()
|
||||||
current_frame = (struct frame_info *) 0; /* Invalidate cache */
|
current_frame = (struct frame_info *) 0; /* Invalidate cache */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Flush the frame cache, and start a new one if necessary. */
|
||||||
|
void
|
||||||
|
reinit_frame_cache ()
|
||||||
|
{
|
||||||
|
FRAME fr = current_frame;
|
||||||
|
flush_cached_frames ();
|
||||||
|
if (fr)
|
||||||
|
set_current_frame ( create_new_frame (read_register (FP_REGNUM),
|
||||||
|
read_pc ()));
|
||||||
|
}
|
||||||
|
|
||||||
/* Return a structure containing various interesting information
|
/* Return a structure containing various interesting information
|
||||||
about a specified stack frame. */
|
about a specified stack frame. */
|
||||||
/* How do I justify including this function? Well, the FRAME
|
/* How do I justify including this function? Well, the FRAME
|
||||||
|
|
|
@ -31,6 +31,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
#include "gdbcore.h"
|
#include "gdbcore.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
|
#include "frame.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** local data declarations
|
** local data declarations
|
||||||
|
@ -249,6 +250,10 @@ int from_tty;
|
||||||
else if (val = (char *) re_comp (arg_string)) {
|
else if (val = (char *) re_comp (arg_string)) {
|
||||||
error ("Invalid regexp: %s", val);
|
error ("Invalid regexp: %s", val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Getting new symbols may change our opinion about what is
|
||||||
|
frameless. */
|
||||||
|
reinit_frame_cache ();
|
||||||
|
|
||||||
printf_filtered ("All shared libraries");
|
printf_filtered ("All shared libraries");
|
||||||
if (arg_string)
|
if (arg_string)
|
||||||
|
|
|
@ -511,6 +511,10 @@ symbol_file_command (name, from_tty)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Getting new symbols may change our opinion about what is
|
||||||
|
frameless. */
|
||||||
|
reinit_frame_cache ();
|
||||||
|
|
||||||
symbol_file_add (name, from_tty, (CORE_ADDR)0, 1);
|
symbol_file_add (name, from_tty, (CORE_ADDR)0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -610,6 +614,10 @@ add_symbol_file_command (args, from_tty)
|
||||||
char *args;
|
char *args;
|
||||||
int from_tty;
|
int from_tty;
|
||||||
{
|
{
|
||||||
|
/* Getting new symbols may change our opinion about what is
|
||||||
|
frameless. */
|
||||||
|
reinit_frame_cache ();
|
||||||
|
|
||||||
target_add_syms (args, from_tty);
|
target_add_syms (args, from_tty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue