aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/tui/ChangeLog7
-rw-r--r--gdb/tui/tuiDisassem.c23
2 files changed, 20 insertions, 10 deletions
diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog
index 376f8b7..8277bbe 100644
--- a/gdb/tui/ChangeLog
+++ b/gdb/tui/ChangeLog
@@ -1,3 +1,10 @@
+2001-07-19 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * tuiDisassem.c (tuiVerticalDisassemScroll): Use CORE_ADDR.
+ (tuiVerticalDisassemScroll): Likewise.
+ (tuiShowDisassemAndUpdateSource): Check for null symtab to
+ prevent a crash.
+
2001-07-18 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* tuiIO.c (_tuiHandleResizeDuringIO): Call tuiRefreshAll.
diff --git a/gdb/tui/tuiDisassem.c b/gdb/tui/tuiDisassem.c
index e73b40a..4d3b61a 100644
--- a/gdb/tui/tuiDisassem.c
+++ b/gdb/tui/tuiDisassem.c
@@ -178,9 +178,14 @@ tuiShowDisassemAndUpdateSource (CORE_ADDR startAddr)
** note that it follows what is in the disassembly window and visa-versa
*/
sal = find_pc_line (startAddr, 0);
- current_source_symtab = sal.symtab;
- tuiUpdateSourceWindow (srcWin, sal.symtab, (Opaque) sal.line, TRUE);
- tuiUpdateLocatorFilename (sal.symtab->filename);
+ tuiUpdateSourceWindow (srcWin, sal.symtab, sal.line, TRUE);
+ if (sal.symtab)
+ {
+ current_source_symtab = sal.symtab;
+ tuiUpdateLocatorFilename (sal.symtab->filename);
+ }
+ else
+ tuiUpdateLocatorFilename ("?");
}
return;
@@ -248,7 +253,7 @@ tuiVerticalDisassemScroll (TuiScrollDirection scrollDirection,
{
if (disassemWin->generic.content != (OpaquePtr) NULL)
{
- Opaque pc, lowAddr;
+ CORE_ADDR pc, lowAddr;
TuiWinContent content;
struct symtab *s;
@@ -259,15 +264,13 @@ tuiVerticalDisassemScroll (TuiScrollDirection scrollDirection,
s = current_source_symtab;
pc = content[0]->whichElement.source.lineOrAddr.addr;
- if (find_pc_partial_function ((CORE_ADDR) pc,
- (char **) NULL,
- (CORE_ADDR *) & lowAddr,
- (CORE_ADDR) NULL) == 0)
- error ("No function contains prgram counter for selected frame.\n");
+ if (find_pc_partial_function (pc, (char **) NULL, &lowAddr,
+ (CORE_ADDR) 0) == 0)
+ error ("No function contains program counter for selected frame.\n");
else
{
register int line = 0;
- register Opaque newLow;
+ register CORE_ADDR newLow;
bfd_byte buffer[4];
newLow = pc;