mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 02:50:08 +08:00
* gdbtk.c (gdb_get_tracepoint_info): use info in struct
symtab_and_line, not struct tracepoint. (tracepoint_notify): use info in struct symtab_and_line, not struct tracepoint
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
Mon Dec 8 15:51:45 1997 Keith Seitz <keiths@onions.cygnus.com>
|
||||||
|
|
||||||
|
* gdbtk.c (gdb_get_tracepoint_info): use info in struct
|
||||||
|
symtab_and_line, not struct tracepoint.
|
||||||
|
(tracepoint_notify): use info in struct symtab_and_line,
|
||||||
|
not struct tracepoint
|
||||||
|
|
||||||
Mon Dec 8 14:28:49 1997 Michael Snyder (msnyder@cleaver.cygnus.com)
|
Mon Dec 8 14:28:49 1997 Michael Snyder (msnyder@cleaver.cygnus.com)
|
||||||
|
|
||||||
* tracepoint.c (memrange_sortmerge): allow for memranges
|
* tracepoint.c (memrange_sortmerge): allow for memranges
|
||||||
|
32
gdb/gdbtk.c
32
gdb/gdbtk.c
@ -2371,11 +2371,11 @@ gdb_get_tracepoint_info (clientData, interp, objc, objv)
|
|||||||
Tcl_Obj *CONST objv[];
|
Tcl_Obj *CONST objv[];
|
||||||
{
|
{
|
||||||
struct symtab_and_line sal;
|
struct symtab_and_line sal;
|
||||||
struct command_line *cmd;
|
|
||||||
int tpnum;
|
int tpnum;
|
||||||
struct tracepoint *tp;
|
struct tracepoint *tp;
|
||||||
struct action_line *al;
|
struct action_line *al;
|
||||||
Tcl_Obj *list, *action_list;
|
Tcl_Obj *list, *action_list;
|
||||||
|
char *filename, *funcname;
|
||||||
char tmp[19];
|
char tmp[19];
|
||||||
|
|
||||||
if (objc != 2)
|
if (objc != 2)
|
||||||
@ -2391,13 +2391,15 @@ gdb_get_tracepoint_info (clientData, interp, objc, objv)
|
|||||||
error ("Tracepoint #%d does not exist", tpnum);
|
error ("Tracepoint #%d does not exist", tpnum);
|
||||||
|
|
||||||
list = Tcl_NewListObj (0, NULL);
|
list = Tcl_NewListObj (0, NULL);
|
||||||
if (tp->source_file != NULL)
|
sal = find_pc_line (tp->address, 0);
|
||||||
Tcl_ListObjAppendElement (interp, list, Tcl_NewStringObj (tp->source_file, -1));
|
filename = symtab_to_filename (sal.symtab);
|
||||||
else
|
if (filename == NULL)
|
||||||
Tcl_ListObjAppendElement (interp, list, Tcl_NewStringObj ("N/A", -1));
|
filename = "N/A";
|
||||||
Tcl_ListObjAppendElement (interp, list, Tcl_NewIntObj (tp->line_number));
|
Tcl_ListObjAppendElement (interp, list,
|
||||||
/* the function part is not currently used by the frontend */
|
Tcl_NewStringObj (filename, -1));
|
||||||
Tcl_ListObjAppendElement (interp, list, Tcl_NewStringObj ("function", -1));
|
Tcl_ListObjAppendElement (interp, list, Tcl_NewIntObj (sal.line));
|
||||||
|
find_pc_partial_function (tp->address, &funcname, NULL, NULL);
|
||||||
|
Tcl_ListObjAppendElement (interp, list, Tcl_NewStringObj (funcname, -1));
|
||||||
sprintf (tmp, "0x%08x", tp->address);
|
sprintf (tmp, "0x%08x", tp->address);
|
||||||
Tcl_ListObjAppendElement (interp, list, Tcl_NewStringObj (tmp, -1));
|
Tcl_ListObjAppendElement (interp, list, Tcl_NewStringObj (tmp, -1));
|
||||||
Tcl_ListObjAppendElement (interp, list, Tcl_NewIntObj (tp->enabled));
|
Tcl_ListObjAppendElement (interp, list, Tcl_NewIntObj (tp->enabled));
|
||||||
@ -2439,17 +2441,19 @@ tracepoint_notify(tp, action)
|
|||||||
const char *action;
|
const char *action;
|
||||||
{
|
{
|
||||||
char buf[256];
|
char buf[256];
|
||||||
char *source;
|
|
||||||
int v;
|
int v;
|
||||||
|
struct symtab_and_line sal;
|
||||||
|
char *filename;
|
||||||
|
|
||||||
/* We ensure that ACTION contains no special Tcl characters, so we
|
/* We ensure that ACTION contains no special Tcl characters, so we
|
||||||
can do this. */
|
can do this. */
|
||||||
if (tp->source_file != NULL)
|
sal = find_pc_line (tp->address, 0);
|
||||||
source = tp->source_file;
|
|
||||||
else
|
filename = symtab_to_filename (sal.symtab);
|
||||||
source = "N/A";
|
if (filename == NULL)
|
||||||
|
filename = "N/A";
|
||||||
sprintf (buf, "gdbtk_tcl_tracepoint %s %d 0x%lx %d {%s}", action, tp->number,
|
sprintf (buf, "gdbtk_tcl_tracepoint %s %d 0x%lx %d {%s}", action, tp->number,
|
||||||
(long)tp->address, tp->line_number, source);
|
(long)tp->address, sal.line, filename);
|
||||||
|
|
||||||
v = Tcl_Eval (interp, buf);
|
v = Tcl_Eval (interp, buf);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user