|
|
Sponsor |
[PATCH] fix build breakage in tui: msg#00734gdb.patches
The changes to current_source_symtab broke the tui. So I checked this in. Stephane, please double check. Elena 2002-09-29 Elena Zannoni <ezannoni@xxxxxxxxxx> * tui.c (tui_show_source): Don't access current_source_symtab, use accessor function instead. Include source.h and symtab.h * tuiDisassem.c (tuiShowDisassemAndUpdateSource, tuiVerticalDisassemScroll): Use accessor functions for current source line and symtab. Include source.h. * tuiLayout.c (_extractDisplayStartAddr): Use accessor functions for current source line and symtab. Include source.h. * tuiWin.c (_makeVisibleWithNewHeight): Ditto. * tuiSourceWin.c (tuiUpdateSourceWindowAsIs, tuiHorizontalSourceScroll): Ditto. * tuiSource.c (tuiVerticalSourceScroll): Ditto. Index: tui.c =================================================================== RCS file: /cvs/uberbaum/gdb/tui/tui.c,v retrieving revision 1.26 diff -u -p -r1.26 tui.c --- tui.c 13 Sep 2002 20:06:56 -0000 1.26 +++ tui.c 30 Sep 2002 00:42:08 -0000 @@ -67,6 +67,8 @@ #include "frame.h" #include "breakpoint.h" #include "inferior.h" +#include "symtab.h" +#include "source.h" /* Tells whether the TUI is active or not. */ int tui_active = 0; @@ -543,10 +545,11 @@ _tuiReset (void) void tui_show_source (const char *file, int line) { + struct symtab_and_line cursal = get_current_source_symtab_and_line (); /* make sure that the source window is displayed */ tuiAddWinToLayout (SRC_WIN); - tuiUpdateSourceWindowsWithLine (current_source_symtab, line); + tuiUpdateSourceWindowsWithLine (cursal.symtab, line); tuiUpdateLocatorFilename (file); } Index: tuiDisassem.c =================================================================== RCS file: /cvs/uberbaum/gdb/tui/tuiDisassem.c,v retrieving revision 1.16 diff -u -p -r1.16 tuiDisassem.c --- tuiDisassem.c 28 Aug 2002 20:33:27 -0000 1.16 +++ tuiDisassem.c 30 Sep 2002 00:42:08 -0000 @@ -44,6 +44,7 @@ #include "breakpoint.h" #include "frame.h" #include "value.h" +#include "source.h" #include "tui.h" #include "tuiData.h" @@ -337,7 +338,7 @@ tuiShowDisassemAndUpdateSource (CORE_ADD tuiUpdateSourceWindow (srcWin, sal.symtab, val, TRUE); if (sal.symtab) { - current_source_symtab = sal.symtab; + set_current_source_symtab_and_line (&sal); tuiUpdateLocatorFilename (sal.symtab->filename); } else @@ -415,12 +416,13 @@ tuiVerticalDisassemScroll (TuiScrollDire struct symtab *s; TuiLineOrAddress val; int maxLines, dir; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); content = (TuiWinContent) disassemWin->generic.content; - if (current_source_symtab == (struct symtab *) NULL) + if (cursal.symtab == (struct symtab *) NULL) s = find_pc_symtab (selected_frame->pc); else - s = current_source_symtab; + s = cursal.symtab; /* account for hilite */ maxLines = disassemWin->generic.height - 2; Index: tuiLayout.c =================================================================== RCS file: /cvs/uberbaum/gdb/tui/tuiLayout.c,v retrieving revision 1.17 diff -u -p -r1.17 tuiLayout.c --- tuiLayout.c 24 Aug 2002 15:25:25 -0000 1.17 +++ tuiLayout.c 30 Sep 2002 00:42:09 -0000 @@ -43,6 +43,7 @@ #include "command.h" #include "symtab.h" #include "frame.h" +#include "source.h" #include <ctype.h> #include "tui.h" @@ -546,12 +547,13 @@ _extractDisplayStartAddr (void) TuiLayoutType curLayout = currentLayout (); CORE_ADDR addr; CORE_ADDR pc; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); switch (curLayout) { case SRC_COMMAND: case SRC_DATA_COMMAND: - find_line_pc (current_source_symtab, + find_line_pc (cursal.symtab, srcWin->detail.sourceInfo.startLineOrAddr.lineNo, &pc); addr = pc; Index: tuiSource.c =================================================================== RCS file: /cvs/uberbaum/gdb/tui/tuiSource.c,v retrieving revision 1.12 diff -u -p -r1.12 tuiSource.c --- tuiSource.c 1 Sep 2002 16:12:52 -0000 1.12 +++ tuiSource.c 30 Sep 2002 00:42:09 -0000 @@ -337,11 +337,12 @@ tuiVerticalSourceScroll (TuiScrollDirect TuiLineOrAddress l; struct symtab *s; TuiWinContent content = (TuiWinContent) srcWin->generic.content; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); - if (current_source_symtab == (struct symtab *) NULL) + if (cursal.symtab == (struct symtab *) NULL) s = find_pc_symtab (selected_frame->pc); else - s = current_source_symtab; + s = cursal.symtab; if (scrollDirection == FORWARD_SCROLL) { Index: tuiSourceWin.c =================================================================== RCS file: /cvs/uberbaum/gdb/tui/tuiSourceWin.c,v retrieving revision 1.21 diff -u -p -r1.21 tuiSourceWin.c --- tuiSourceWin.c 31 Aug 2002 12:25:29 -0000 1.21 +++ tuiSourceWin.c 30 Sep 2002 00:42:10 -0000 @@ -45,6 +45,7 @@ #include "frame.h" #include "breakpoint.h" #include "value.h" +#include "source.h" #include "tui.h" #include "tuiData.h" @@ -125,9 +126,12 @@ tuiUpdateSourceWindowAsIs (TuiWinInfoPtr tuiUpdateExecInfo (winInfo); if (winInfo->generic.type == SRC_WIN) { - current_source_line = lineOrAddr.lineNo + + struct symtab_and_line sal; + + sal.line = lineOrAddr.lineNo + (winInfo->generic.contentSize - 2); - current_source_symtab = s; + sal.symtab = s; + set_current_source_symtab_and_line (&sal); /* ** If the focus was in the asm win, put it in the src ** win if we don't have a split layout @@ -348,11 +352,12 @@ tuiHorizontalSourceScroll (TuiWinInfoPtr { int offset; struct symtab *s; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); - if (current_source_symtab == (struct symtab *) NULL) + if (cursal.symtab == (struct symtab *) NULL) s = find_pc_symtab (selected_frame->pc); else - s = current_source_symtab; + s = cursal.symtab; if (direction == LEFT_SCROLL) offset = winInfo->detail.sourceInfo.horizontalOffset + numToScroll; Index: tuiWin.c =================================================================== RCS file: /cvs/uberbaum/gdb/tui/tuiWin.c,v retrieving revision 1.23 diff -u -p -r1.23 tuiWin.c --- tuiWin.c 2 Sep 2002 19:34:18 -0000 1.23 +++ tuiWin.c 30 Sep 2002 00:42:11 -0000 @@ -53,6 +53,7 @@ #include "frame.h" #include "cli/cli-cmds.h" #include "top.h" +#include "source.h" #include "tui.h" #include "tuiData.h" @@ -1364,6 +1365,8 @@ _makeVisibleWithNewHeight (TuiWinInfoPtr if (winInfo->generic.content != (OpaquePtr) NULL) { TuiLineOrAddress lineOrAddr; + struct symtab_and_line cursal + = get_current_source_symtab_and_line (); if (winInfo->generic.type == SRC_WIN) lineOrAddr.lineNo = @@ -1373,19 +1376,20 @@ _makeVisibleWithNewHeight (TuiWinInfoPtr winInfo->detail.sourceInfo.startLineOrAddr.addr; freeWinContent (&winInfo->generic); tuiUpdateSourceWindow (winInfo, - current_source_symtab, lineOrAddr, TRUE); + cursal.symtab, lineOrAddr, TRUE); } else if (selected_frame != (struct frame_info *) NULL) { TuiLineOrAddress line; - extern int current_source_line; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); + s = find_pc_symtab (selected_frame->pc); if (winInfo->generic.type == SRC_WIN) - line.lineNo = current_source_line; + line.lineNo = cursal.line; else { - find_line_pc (s, current_source_line, &line.addr); + find_line_pc (s, cursal.line, &line.addr); } tuiUpdateSourceWindow (winInfo, s, line, TRUE); }
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Top level: Separate src release scripts from Makefile (correct), Nathanael Nerode |
|---|---|
| Next by Date: | RFA/types: Clean up use of field bitsize, Daniel Jacobowitz |
| Previous by Thread: | Top level: Separate src release scripts from Makefile (correct), Nathanael Nerode |
| Next by Thread: | RFA/types: Clean up use of field bitsize, Daniel Jacobowitz |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |
Home | sitemap
| advertise | OSDir is
an inevitable website.
|