aboutsummaryrefslogtreecommitdiff
path: root/gdb/stack.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1995-11-19 07:16:03 +0000
committerFred Fish <fnf@specifix.com>1995-11-19 07:16:03 +0000
commitd0e0eca26eaf62461d6fcdec1f4ef8c2e482ba49 (patch)
treebdb62f55363804690256459cf997b7fafc9c82cc /gdb/stack.c
parent90a7abbca34a2c0b8500bcde40489a2981e62dca (diff)
downloadgdb-d0e0eca26eaf62461d6fcdec1f4ef8c2e482ba49.zip
gdb-d0e0eca26eaf62461d6fcdec1f4ef8c2e482ba49.tar.gz
gdb-d0e0eca26eaf62461d6fcdec1f4ef8c2e482ba49.tar.bz2
* 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.
Diffstat (limited to 'gdb/stack.c')
-rw-r--r--gdb/stack.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/gdb/stack.c b/gdb/stack.c
index 5bde58e..06fd83d 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -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"
@@ -344,6 +345,18 @@ print_frame_info (fi, level, source, args)
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. */