* tuiData.h (TuiLocatorElement): Use CORE_ADDR for address member.

(TuiLineOrAddress): Likewise.
	* tuiDisassem.c (tuiGetBeginAsmAddress): Use CORE_ADDR to specify
	an address.
	(tuiSetDisassemContent): Likewise.
	(tuiShowDisassem, tuiShowDisassemAndUpdateSource): Likewise.
	* tuiLayout.c (_extractDisplayStartAddr): Likewise.
	(tuiSetLayout): Likewise.
	* tuiSourceWin.c (tuiDisplayMainFunction): Likewise.
	(tuiUpdateSourceWindowsWithAddr): Likewise.
	(tuiUpdateSourceWindowsWithLine): Likewise.
	(tuiSetHasBreakAt): Likewise.
	* tuiStack.c (tuiSetLocatorInfo): Likewise.
	(tuiSwitchFilename): Likewise.
	(tuiUpdateLocatorInfoFromFrame): Likewise.
	(tuiSetLocatorContent): Likewise.
	(tuiShowFrameInfo): Likewise.
	* tuiDisassem.h: Update prototypes to use CORE_ADDR.
	* tuiSourceWin.h: Likewise.
	* tuiStack.h: Likewise.
This commit is contained in:
Stephane Carrez
2001-07-18 20:59:00 +00:00
parent 227288a05c
commit c774cec6a7
9 changed files with 69 additions and 46 deletions

View File

@ -1,3 +1,26 @@
2001-07-18 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* tuiData.h (TuiLocatorElement): Use CORE_ADDR for address member.
(TuiLineOrAddress): Likewise.
* tuiDisassem.c (tuiGetBeginAsmAddress): Use CORE_ADDR to specify
an address.
(tuiSetDisassemContent): Likewise.
(tuiShowDisassem, tuiShowDisassemAndUpdateSource): Likewise.
* tuiLayout.c (_extractDisplayStartAddr): Likewise.
(tuiSetLayout): Likewise.
* tuiSourceWin.c (tuiDisplayMainFunction): Likewise.
(tuiUpdateSourceWindowsWithAddr): Likewise.
(tuiUpdateSourceWindowsWithLine): Likewise.
(tuiSetHasBreakAt): Likewise.
* tuiStack.c (tuiSetLocatorInfo): Likewise.
(tuiSwitchFilename): Likewise.
(tuiUpdateLocatorInfoFromFrame): Likewise.
(tuiSetLocatorContent): Likewise.
(tuiShowFrameInfo): Likewise.
* tuiDisassem.h: Update prototypes to use CORE_ADDR.
* tuiSourceWin.h: Likewise.
* tuiStack.h: Likewise.
2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr> 2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* tuiWin.c: Add missing includes. * tuiWin.c: Add missing includes.

View File

@ -142,7 +142,7 @@ TuiRegisterDisplayType, *TuiRegisterDisplayTypePtr;
typedef union _TuiLineOrAddress typedef union _TuiLineOrAddress
{ {
int lineNo; int lineNo;
Opaque addr; CORE_ADDR addr;
} }
TuiLineOrAddress, *TuiLineOrAddressPtr; TuiLineOrAddress, *TuiLineOrAddressPtr;
@ -195,7 +195,7 @@ typedef struct _TuiLocatorElement
char fileName[MAX_LOCATOR_ELEMENT_LEN]; char fileName[MAX_LOCATOR_ELEMENT_LEN];
char procName[MAX_LOCATOR_ELEMENT_LEN]; char procName[MAX_LOCATOR_ELEMENT_LEN];
int lineNo; int lineNo;
Opaque addr; CORE_ADDR addr;
} }
TuiLocatorElement, *TuiLocatorElementPtr; TuiLocatorElement, *TuiLocatorElementPtr;

View File

@ -49,12 +49,12 @@ static struct breakpoint *_hasBreak (CORE_ADDR);
** Function to set the disassembly window's content. ** Function to set the disassembly window's content.
*/ */
TuiStatus TuiStatus
tuiSetDisassemContent (struct symtab *s, Opaque startAddr) tuiSetDisassemContent (struct symtab *s, CORE_ADDR startAddr)
{ {
TuiStatus ret = TUI_FAILURE; TuiStatus ret = TUI_FAILURE;
struct ui_file *gdb_dis_out; struct ui_file *gdb_dis_out;
if (startAddr != (Opaque) NULL) if (startAddr != 0)
{ {
register int i, desc; register int i, desc;
@ -83,7 +83,7 @@ extern void strcat_address_numeric (CORE_ADDR, int, char *, int);
disassemWin->detail.sourceInfo.startLineOrAddr.addr = startAddr; disassemWin->detail.sourceInfo.startLineOrAddr.addr = startAddr;
/* Now construct each line */ /* Now construct each line */
for (curLine = 0, pc = (CORE_ADDR) startAddr; (curLine < maxLines);) for (curLine = 0, pc = startAddr; (curLine < maxLines);)
{ {
TuiWinElementPtr element = (TuiWinElementPtr) disassemWin->generic.content[curLine]; TuiWinElementPtr element = (TuiWinElementPtr) disassemWin->generic.content[curLine];
struct breakpoint *bp; struct breakpoint *bp;
@ -142,9 +142,9 @@ extern void strcat_address_numeric (CORE_ADDR, int, char *, int);
** Function to display the disassembly window with disassembled code. ** Function to display the disassembly window with disassembled code.
*/ */
void void
tuiShowDisassem (Opaque startAddr) tuiShowDisassem (CORE_ADDR startAddr)
{ {
struct symtab *s = find_pc_symtab ((CORE_ADDR) startAddr); struct symtab *s = find_pc_symtab (startAddr);
TuiWinInfoPtr winWithFocus = tuiWinWithFocus (); TuiWinInfoPtr winWithFocus = tuiWinWithFocus ();
tuiAddWinToLayout (DISASSEM_WIN); tuiAddWinToLayout (DISASSEM_WIN);
@ -165,7 +165,7 @@ tuiShowDisassem (Opaque startAddr)
** Function to display the disassembly window. ** Function to display the disassembly window.
*/ */
void void
tuiShowDisassemAndUpdateSource (Opaque startAddr) tuiShowDisassemAndUpdateSource (CORE_ADDR startAddr)
{ {
struct symtab_and_line sal; struct symtab_and_line sal;
@ -177,7 +177,7 @@ tuiShowDisassemAndUpdateSource (Opaque startAddr)
** Update what is in the source window if it is displayed too, ** Update what is in the source window if it is displayed too,
** note that it follows what is in the disassembly window and visa-versa ** note that it follows what is in the disassembly window and visa-versa
*/ */
sal = find_pc_line ((CORE_ADDR) startAddr, 0); sal = find_pc_line (startAddr, 0);
current_source_symtab = sal.symtab; current_source_symtab = sal.symtab;
tuiUpdateSourceWindow (srcWin, sal.symtab, (Opaque) sal.line, TRUE); tuiUpdateSourceWindow (srcWin, sal.symtab, (Opaque) sal.line, TRUE);
tuiUpdateLocatorFilename (sal.symtab->filename); tuiUpdateLocatorFilename (sal.symtab->filename);
@ -211,24 +211,24 @@ tuiShowDisassemAsIs (Opaque addr)
/* /*
** tuiGetBeginAsmAddress(). ** tuiGetBeginAsmAddress().
*/ */
Opaque CORE_ADDR
tuiGetBeginAsmAddress (void) tuiGetBeginAsmAddress (void)
{ {
TuiGenWinInfoPtr locator; TuiGenWinInfoPtr locator;
TuiLocatorElementPtr element; TuiLocatorElementPtr element;
Opaque addr; CORE_ADDR addr;
locator = locatorWinInfoPtr (); locator = locatorWinInfoPtr ();
element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator; element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator;
if (element->addr == (Opaque) 0) if (element->addr == 0)
{ {
/*the target is not executing, because the pc is 0 */ /*the target is not executing, because the pc is 0 */
addr = (Opaque) parse_and_eval_address ("main"); addr = parse_and_eval_address ("main");
if (addr == (Opaque) 0) if (addr == 0)
addr = (Opaque) parse_and_eval_address ("MAIN"); addr = parse_and_eval_address ("MAIN");
} }
else /* the target is executing */ else /* the target is executing */

View File

@ -31,11 +31,11 @@
/***************************************** /*****************************************
** PUBLIC FUNCTION EXTERNAL DECLS ** ** PUBLIC FUNCTION EXTERNAL DECLS **
******************************************/ ******************************************/
extern TuiStatus tuiSetDisassemContent (struct symtab *, Opaque); extern TuiStatus tuiSetDisassemContent (struct symtab *, CORE_ADDR);
extern void tuiShowDisassem (Opaque); extern void tuiShowDisassem (CORE_ADDR);
extern void tuiShowDisassemAndUpdateSource (Opaque); extern void tuiShowDisassemAndUpdateSource (Opaque);
extern void tuiVerticalDisassemScroll (TuiScrollDirection, int); extern void tuiVerticalDisassemScroll (TuiScrollDirection, int);
extern Opaque tuiGetBeginAsmAddress (void); extern CORE_ADDR tuiGetBeginAsmAddress (void);
#endif #endif
/*_TUI_DISASSEM_H*/ /*_TUI_DISASSEM_H*/

View File

@ -58,7 +58,7 @@ static void _tuiToggleLayout_command (char *, int);
static void _tui_vToggleLayout_command (va_list); static void _tui_vToggleLayout_command (va_list);
static void _tuiToggleSplitLayout_command (char *, int); static void _tuiToggleSplitLayout_command (char *, int);
static void _tui_vToggleSplitLayout_command (va_list); static void _tui_vToggleSplitLayout_command (va_list);
static Opaque _extractDisplayStartAddr (void); static CORE_ADDR _extractDisplayStartAddr (void);
static void _tuiHandleXDBLayout (TuiLayoutDefPtr); static void _tuiHandleXDBLayout (TuiLayoutDefPtr);
static TuiStatus _tuiSetLayoutTo (char *); static TuiStatus _tuiSetLayoutTo (char *);
@ -152,7 +152,7 @@ tuiSetLayout (TuiLayoutType layoutType,
{ {
TuiLayoutType curLayout = currentLayout (), newLayout = UNDEFINED_LAYOUT; TuiLayoutType curLayout = currentLayout (), newLayout = UNDEFINED_LAYOUT;
int regsPopulate = FALSE; int regsPopulate = FALSE;
Opaque addr = _extractDisplayStartAddr (); CORE_ADDR addr = _extractDisplayStartAddr ();
TuiWinInfoPtr newWinWithFocus = (TuiWinInfoPtr) NULL, winWithFocus = tuiWinWithFocus (); TuiWinInfoPtr newWinWithFocus = (TuiWinInfoPtr) NULL, winWithFocus = tuiWinWithFocus ();
TuiLayoutDefPtr layoutDef = tuiLayoutDef (); TuiLayoutDefPtr layoutDef = tuiLayoutDef ();
@ -581,11 +581,11 @@ _tuiSetLayoutTo (char *layoutName)
} /* _tuiSetLayoutTo */ } /* _tuiSetLayoutTo */
static Opaque static CORE_ADDR
_extractDisplayStartAddr (void) _extractDisplayStartAddr (void)
{ {
TuiLayoutType curLayout = currentLayout (); TuiLayoutType curLayout = currentLayout ();
Opaque addr; CORE_ADDR addr;
CORE_ADDR pc; CORE_ADDR pc;
switch (curLayout) switch (curLayout)
@ -595,7 +595,7 @@ _extractDisplayStartAddr (void)
find_line_pc (current_source_symtab, find_line_pc (current_source_symtab,
srcWin->detail.sourceInfo.startLineOrAddr.lineNo, srcWin->detail.sourceInfo.startLineOrAddr.lineNo,
&pc); &pc);
addr =(Opaque) pc; addr = pc;
break; break;
case DISASSEM_COMMAND: case DISASSEM_COMMAND:
case SRC_DISASSEM_COMMAND: case SRC_DISASSEM_COMMAND:
@ -603,7 +603,7 @@ _extractDisplayStartAddr (void)
addr = disassemWin->detail.sourceInfo.startLineOrAddr.addr; addr = disassemWin->detail.sourceInfo.startLineOrAddr.addr;
break; break;
default: default:
addr = (Opaque) NULL; addr = 0;
break; break;
} }

View File

@ -28,6 +28,8 @@
#include "tui.h" #include "tui.h"
#include "tuiData.h" #include "tuiData.h"
#include "tuiStack.h" #include "tuiStack.h"
#include "tuiWin.h"
#include "tuiGeneralWin.h"
#include "tuiSourceWin.h" #include "tuiSourceWin.h"
#include "tuiSource.h" #include "tuiSource.h"
#include "tuiDisassem.h" #include "tuiDisassem.h"
@ -93,13 +95,13 @@ tuiDisplayMainFunction (void)
CORE_ADDR addr; CORE_ADDR addr;
addr = parse_and_eval_address ("main"); addr = parse_and_eval_address ("main");
if (addr <= (CORE_ADDR) 0) if (addr == (CORE_ADDR) 0)
addr = parse_and_eval_address ("MAIN"); addr = parse_and_eval_address ("MAIN");
if (addr > (CORE_ADDR) 0) if (addr != (CORE_ADDR) 0)
{ {
struct symtab_and_line sal; struct symtab_and_line sal;
tuiUpdateSourceWindowsWithAddr ((Opaque) addr); tuiUpdateSourceWindowsWithAddr (addr);
sal = find_pc_line (addr, 0); sal = find_pc_line (addr, 0);
tuiSwitchFilename (sal.symtab->filename); tuiSwitchFilename (sal.symtab->filename);
} }
@ -178,9 +180,9 @@ tuiUpdateSourceWindowAsIs (TuiWinInfoPtr winInfo, struct symtab *s,
** reflect the input address. ** reflect the input address.
*/ */
void void
tuiUpdateSourceWindowsWithAddr (Opaque addr) tuiUpdateSourceWindowsWithAddr (CORE_ADDR addr)
{ {
if (addr > (Opaque) NULL) if (addr != 0)
{ {
struct symtab_and_line sal; struct symtab_and_line sal;
@ -194,10 +196,8 @@ tuiUpdateSourceWindowsWithAddr (Opaque addr)
tuiShowDisassemAndUpdateSource (addr); tuiShowDisassemAndUpdateSource (addr);
break; break;
default: default:
sal = find_pc_line ((CORE_ADDR) addr, 0); sal = find_pc_line (addr, 0);
tuiShowSource (sal.symtab, tuiShowSource (sal.symtab, sal.line, FALSE);
(Opaque) sal.line,
FALSE);
break; break;
} }
} }
@ -248,14 +248,14 @@ tuiUpdateSourceWindowsWithLine (struct symtab *s, int line)
case DISASSEM_COMMAND: case DISASSEM_COMMAND:
case DISASSEM_DATA_COMMAND: case DISASSEM_DATA_COMMAND:
find_line_pc (s, line, &pc); find_line_pc (s, line, &pc);
tuiUpdateSourceWindowsWithAddr ((Opaque) pc); tuiUpdateSourceWindowsWithAddr (pc);
break; break;
default: default:
tuiShowSource (s, (Opaque) line, FALSE); tuiShowSource (s, line, FALSE);
if (currentLayout () == SRC_DISASSEM_COMMAND) if (currentLayout () == SRC_DISASSEM_COMMAND)
{ {
find_line_pc (s, line, &pc); find_line_pc (s, line, &pc);
tuiShowDisassem ((Opaque) pc); tuiShowDisassem (pc);
} }
break; break;
} }
@ -527,7 +527,7 @@ tuiSetHasBreakAt (struct breakpoint *bp, TuiWinInfoPtr winInfo, int hasBreak)
} }
else else
gotIt = (content[i]->whichElement.source.lineOrAddr.addr gotIt = (content[i]->whichElement.source.lineOrAddr.addr
== (Opaque) bp->address); == bp->address);
if (gotIt) if (gotIt)
{ {
content[i]->whichElement.source.hasBreak = hasBreak; content[i]->whichElement.source.hasBreak = hasBreak;

View File

@ -27,7 +27,7 @@ extern void tuiUpdateSourceWindow (TuiWinInfoPtr, struct symtab *, Opaque,
int); int);
extern void tuiUpdateSourceWindowAsIs (TuiWinInfoPtr, struct symtab *, Opaque, extern void tuiUpdateSourceWindowAsIs (TuiWinInfoPtr, struct symtab *, Opaque,
int); int);
extern void tuiUpdateSourceWindowsWithAddr (Opaque); extern void tuiUpdateSourceWindowsWithAddr (CORE_ADDR);
extern void tui_vUpdateSourceWindowsWithAddr (va_list); extern void tui_vUpdateSourceWindowsWithAddr (va_list);
extern void tuiUpdateSourceWindowsWithLine (struct symtab *, int); extern void tuiUpdateSourceWindowsWithLine (struct symtab *, int);
extern void tui_vUpdateSourceWindowsWithLine (va_list); extern void tui_vUpdateSourceWindowsWithLine (va_list);

View File

@ -113,7 +113,7 @@ tuiShowLocatorContent (void)
*/ */
void void
tuiSetLocatorInfo (char *fname, char *procname, int lineNo, tuiSetLocatorInfo (char *fname, char *procname, int lineNo,
Opaque addr, TuiLocatorElementPtr element) CORE_ADDR addr, TuiLocatorElementPtr element)
{ {
#ifdef COMMENT #ifdef COMMENT
/* first free the old info */ /* first free the old info */
@ -137,7 +137,7 @@ tuiSetLocatorInfo (char *fname, char *procname, int lineNo,
strcat_to_buf (element->procName, MAX_LOCATOR_ELEMENT_LEN, procname); strcat_to_buf (element->procName, MAX_LOCATOR_ELEMENT_LEN, procname);
#endif #endif
element->lineNo = lineNo; element->lineNo = lineNo;
element->addr = (Opaque) addr; element->addr = addr;
return; return;
} /* tuiSetLocatorInfo */ } /* tuiSetLocatorInfo */
@ -198,7 +198,7 @@ tuiSwitchFilename (char *fileName)
tuiSetLocatorInfo (fileName, tuiSetLocatorInfo (fileName,
(char *) NULL, (char *) NULL,
0, 0,
(Opaque) NULL, (CORE_ADDR) 0,
&((TuiWinElementPtr) locator->content[0])->whichElement.locator); &((TuiWinElementPtr) locator->content[0])->whichElement.locator);
tuiShowLocatorContent (); tuiShowLocatorContent ();
@ -251,13 +251,13 @@ tuiUpdateLocatorInfoFromFrame (struct frame_info *frameInfo,
tuiSetLocatorInfo (symtabAndLine.symtab->filename, tuiSetLocatorInfo (symtabAndLine.symtab->filename,
_getFuncNameFromFrame (frameInfo), _getFuncNameFromFrame (frameInfo),
symtabAndLine.line, symtabAndLine.line,
(Opaque) frameInfo->pc, frameInfo->pc,
element); element);
else else
tuiSetLocatorInfo ((char *) NULL, tuiSetLocatorInfo ((char *) NULL,
_getFuncNameFromFrame (frameInfo), _getFuncNameFromFrame (frameInfo),
0, 0,
(Opaque) frameInfo->pc, frameInfo->pc,
element); element);
return; return;
@ -292,7 +292,7 @@ tuiSetLocatorContent (struct frame_info *frameInfo)
tuiSetLocatorInfo ((char *) NULL, tuiSetLocatorInfo ((char *) NULL,
(char *) NULL, (char *) NULL,
0, 0,
(Opaque) NULL, (CORE_ADDR) 0,
&((TuiWinElementPtr) locator->content[0])->whichElement.locator); &((TuiWinElementPtr) locator->content[0])->whichElement.locator);
return; return;
} /* tuiSetLocatorContent */ } /* tuiSetLocatorContent */
@ -354,7 +354,7 @@ tuiShowFrameInfo (struct frame_info *fi)
if (find_pc_partial_function (fi->pc, (char **) NULL, &low, (CORE_ADDR) NULL) == 0) if (find_pc_partial_function (fi->pc, (char **) NULL, &low, (CORE_ADDR) NULL) == 0)
error ("No function contains program counter for selected frame.\n"); error ("No function contains program counter for selected frame.\n");
else else
low = (CORE_ADDR) tuiGetLowDisassemblyAddress ((Opaque) low, (Opaque) fi->pc); low = tuiGetLowDisassemblyAddress (low, fi->pc);
} }
if (winInfo == srcWin) if (winInfo == srcWin)

View File

@ -25,7 +25,7 @@
** This header file supports ** This header file supports
*/ */
extern void tuiSetLocatorInfo (char *, char *, int, Opaque, extern void tuiSetLocatorInfo (char *, char *, int, CORE_ADDR,
TuiLocatorElementPtr); TuiLocatorElementPtr);
extern void tuiUpdateLocatorFilename (char *); extern void tuiUpdateLocatorFilename (char *);
extern void tui_vUpdateLocatorFilename (va_list); extern void tui_vUpdateLocatorFilename (va_list);