diff options
Diffstat (limited to 'gdb/irix5-nat.c')
-rw-r--r-- | gdb/irix5-nat.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gdb/irix5-nat.c b/gdb/irix5-nat.c index 74004d41..2831b9c 100644 --- a/gdb/irix5-nat.c +++ b/gdb/irix5-nat.c @@ -607,6 +607,7 @@ solib_add (arg_string, from_tty, target) char *re_err; int count; int old; + int symbols_added = 0; if ((re_err = re_comp (arg_string ? arg_string : ".")) != NULL) { @@ -614,9 +615,7 @@ solib_add (arg_string, from_tty, target) } /* Add the shared library sections to the section table of the - specified target, if any. We have to do this before reading the - symbol files as symbol_file_add calls reinit_frame_cache and - creating a new frame might access memory in the shared library. */ + specified target, if any. */ if (target) { /* Count how many new section_table entries there are. */ @@ -683,9 +682,15 @@ solib_add (arg_string, from_tty, target) { so_last = so; so -> symbols_loaded = 1; + symbols_added = 1; } } } + + /* Getting new symbols may change our opinion about what is + frameless. */ + if (symbols_added) + reinit_frame_cache (); } /* |