mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-02 17:16:42 +00:00
199b2450f6
Change all references to stdout/stderr to gdb_stdout/gdb_stderr. Replace all calls to stdio output functions with calls to corresponding _unfiltered functions (`fprintf_unfiltered') Replaced calls to fopen for output to gdb_fopen. Added sufficient goo to utils.c and defs.h to make the above work. The net effect is that stdio output functions are only directly used in utils.c. Elsewhere, the _unfiltered and _filtered functions and GDB_FILE type are used. In the near future, GDB_FILE will stop being equivalant to FILE. The semantics of some commands has changed in a very subtle way: called in the right context, they may cause new occurences of prompt_for_continue() behavior. The testsuite doesn't notice anything like this, though. Please respect this change by not reintroducing stdio output dependencies in the main body of gdb code. All output from commands should go to a GDB_FILE. Target-specific code can still use stdio directly to communicate with targets.
1750 lines
47 KiB
Plaintext
Executable File
1750 lines
47 KiB
Plaintext
Executable File
# Apply these patches to GDB to produce an Energize GDB.
|
||
# To apply these patches, first cd to gdb-XX/gdb, run "patch -p0 <thisfile",
|
||
# and then Sanitize.
|
||
|
||
===================================================================
|
||
*** 2.72 1992/09/27 06:48:41
|
||
--- .Sanitize 1992/09/28 21:34:08
|
||
***************
|
||
*** 74,79 ****
|
||
--- 74,82 ----
|
||
doc
|
||
dwarfread.c
|
||
elfread.c
|
||
+ energize
|
||
+ energize.c
|
||
+ energize.h
|
||
environ.c
|
||
environ.h
|
||
eval.c
|
||
===================================================================
|
||
*** 1.187 1992/09/26 08:06:30
|
||
--- Makefile.in 1992/09/28 21:34:08
|
||
***************
|
||
*** 123,128 ****
|
||
--- 123,135 ----
|
||
READLINE_DEP = $$(READLINE_DIR)
|
||
RL_LIB = ./../readline${subdir}/libreadline.a
|
||
|
||
+ # Energize libraries. Works slightly differently than other libraries
|
||
+ # because it is a gdb subdir and we try to build the energize library
|
||
+ # if it doesn't exist, unlike readline, bfd, mmalloc, etc. Note
|
||
+ # that SDIR and BDIR will be different if we configured with -srcdir.
|
||
+ ENERGIZE_DIR = energize
|
||
+ ENERGIZE_LIB = ${ENERGIZE_DIR}/libconn.a
|
||
+
|
||
# All the includes used for CFLAGS and for lint.
|
||
# -I. for config files.
|
||
# -I${srcdir} possibly for regex.h also.
|
||
***************
|
||
*** 157,166 ****
|
||
# Libraries and corresponding dependencies for compiling gdb.
|
||
# {X,T}M_CLIBS, defined in *config files, have host- and target-dependent libs.
|
||
# TERMCAP comes after readline, since readline depends on it.
|
||
! CLIBS = ${BFD_LIB} ${RL_LIB} ${TERMCAP} ${OPCODES} ${MMALLOC_LIB} ${LIBIBERTY} \
|
||
! ${XM_CLIBS} ${TM_CLIBS} ${NAT_CLIBS}
|
||
! CDEPS = ${XM_CDEPS} ${TM_CDEPS} ${NAT_CDEPS} \
|
||
! ${BFD_LIB} ${RL_LIB} ${OPCODES} ${MMALLOC_LIB} ${LIBIBERTY}
|
||
|
||
ADD_FILES = ${REGEX} ${ALLOCA} ${XM_ADD_FILES} ${TM_ADD_FILES} ${NAT_ADD_FILES}
|
||
ADD_DEPS = ${REGEX1} ${ALLOCA1} ${XM_ADD_FILES} ${TM_ADD_FILES} ${NAT_ADD_FILES}
|
||
--- 164,173 ----
|
||
# Libraries and corresponding dependencies for compiling gdb.
|
||
# {X,T}M_CLIBS, defined in *config files, have host- and target-dependent libs.
|
||
# TERMCAP comes after readline, since readline depends on it.
|
||
! CLIBS = ${BFD_LIB} ${RL_LIB} ${TERMCAP} ${OPCODES} ${MMALLOC_LIB} \
|
||
! ${LIBIBERTY} ${XM_CLIBS} ${TM_CLIBS} ${NAT_CLIBS} ${ENERGIZE_LIB}
|
||
! CDEPS = ${XM_CDEPS} ${TM_CDEPS} ${NAT_CDEPS} ${BFD_LIB} ${RL_LIB} ${OPCODES} \
|
||
! ${MMALLOC_LIB} ${LIBIBERTY} ${ENERGIZE_LIB}
|
||
|
||
ADD_FILES = ${REGEX} ${ALLOCA} ${XM_ADD_FILES} ${TM_ADD_FILES} ${NAT_ADD_FILES}
|
||
ADD_DEPS = ${REGEX1} ${ALLOCA1} ${XM_ADD_FILES} ${TM_ADD_FILES} ${NAT_ADD_FILES}
|
||
***************
|
||
*** 200,206 ****
|
||
mem-break.c target.c \
|
||
dbxread.c coffread.c elfread.c dwarfread.c xcoffread.c stabsread.c \
|
||
language.c parse.c buildsym.c objfiles.c \
|
||
! minsyms.c mipsread.c maint.c
|
||
|
||
# Source files in subdirectories (which will be handled separately by
|
||
# 'make gdb.tar.Z').
|
||
--- 207,213 ----
|
||
mem-break.c target.c \
|
||
dbxread.c coffread.c elfread.c dwarfread.c xcoffread.c stabsread.c \
|
||
language.c parse.c buildsym.c objfiles.c \
|
||
! minsyms.c mipsread.c maint.c energize.c
|
||
|
||
# Source files in subdirectories (which will be handled separately by
|
||
# 'make gdb.tar.Z').
|
||
***************
|
||
*** 289,295 ****
|
||
command.o utils.o expprint.o environ.o version.o gdbtypes.o \
|
||
copying.o $(DEPFILES) mem-break.o target.o \
|
||
putenv.o parse.o language.o $(YYOBJ) \
|
||
! buildsym.o objfiles.o minsyms.o maint.o demangle.o \
|
||
dbxread.o coffread.o elfread.o dwarfread.o xcoffread.o mipsread.o \
|
||
stabsread.o core.o
|
||
|
||
--- 296,302 ----
|
||
command.o utils.o expprint.o environ.o version.o gdbtypes.o \
|
||
copying.o $(DEPFILES) mem-break.o target.o \
|
||
putenv.o parse.o language.o $(YYOBJ) \
|
||
! buildsym.o objfiles.o minsyms.o maint.o demangle.o energize.o \
|
||
dbxread.o coffread.o elfread.o dwarfread.o xcoffread.o mipsread.o \
|
||
stabsread.o core.o
|
||
|
||
***************
|
||
*** 303,309 ****
|
||
|
||
NTSSTART = kdb-start.o
|
||
|
||
! SUBDIRS = doc
|
||
|
||
# For now, shortcut the "configure GDB for fewer languages" stuff.
|
||
YYFILES = c-exp.tab.c m2-exp.tab.c
|
||
--- 310,316 ----
|
||
|
||
NTSSTART = kdb-start.o
|
||
|
||
! SUBDIRS = doc ${ENERGIZE_DIR}
|
||
|
||
# For now, shortcut the "configure GDB for fewer languages" stuff.
|
||
YYFILES = c-exp.tab.c m2-exp.tab.c
|
||
***************
|
||
*** 365,370 ****
|
||
--- 372,391 ----
|
||
#load `echo " "$(DEPFILES) | sed -e 's/\.o/.c/g' -e 's, , ../,g'`
|
||
echo "Load .c corresponding to:" $(DEPFILES)
|
||
|
||
+ ${ENERGIZE_LIB} :
|
||
+ @(cd ${ENERGIZE_DIR}; \
|
||
+ $(MAKE) \
|
||
+ "against=$(against)" \
|
||
+ "AR=$(AR)" \
|
||
+ "AR_FLAGS=$(AR_FLAGS)" \
|
||
+ "CC=$(CC)" \
|
||
+ "CFLAGS=$(CFLAGS)" \
|
||
+ "RANLIB=$(RANLIB)" \
|
||
+ "MAKEINFO=$(MAKEINFO)" \
|
||
+ "INSTALL=$(INSTALL)" \
|
||
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||
+ "INSTALL_DATA=$(INSTALL_DATA)" \
|
||
+ "BISON=$(BISON)")
|
||
|
||
# This is useful when debugging GDB, because some Unix's don't let you run GDB
|
||
# on itself without copying the executable. So "make gdb1" will make
|
||
===================================================================
|
||
*** 1.48 1992/09/29 05:07:04
|
||
--- breakpoint.c 1992/09/28 21:34:09
|
||
***************
|
||
*** 273,278 ****
|
||
--- 273,279 ----
|
||
b->cond_string = NULL;
|
||
if (from_tty)
|
||
printf_filtered ("Breakpoint %d now unconditional.\n", bnum);
|
||
+ energize_condition_breakpoint(b);
|
||
}
|
||
else
|
||
{
|
||
***************
|
||
*** 281,286 ****
|
||
--- 282,288 ----
|
||
typed in or the decompiled expression. */
|
||
b->cond_string = savestring (arg, strlen (arg));
|
||
b->cond = parse_exp_1 (&arg, block_for_pc (b->address), 0);
|
||
+ energize_condition_breakpoint(b);
|
||
if (*arg)
|
||
error ("Junk at end of expression");
|
||
}
|
||
***************
|
||
*** 322,327 ****
|
||
--- 324,330 ----
|
||
l = read_command_lines ();
|
||
free_command_lines (&b->commands);
|
||
b->commands = l;
|
||
+ energize_commands_breakpoint(b);
|
||
return;
|
||
}
|
||
error ("No breakpoint number %d.", bnum);
|
||
***************
|
||
*** 445,452 ****
|
||
b->enable = disabled;
|
||
if (!disabled_breaks)
|
||
{
|
||
! fprintf (stderr,
|
||
! "Cannot insert breakpoint %d:\n", b->number);
|
||
printf_filtered ("Disabling shared library breakpoints:\n");
|
||
}
|
||
disabled_breaks = 1;
|
||
--- 448,455 ----
|
||
b->enable = disabled;
|
||
if (!disabled_breaks)
|
||
{
|
||
! fprintf_filtered (stderr, "Cannot insert breakpoint %d:\n",
|
||
! b->number);
|
||
printf_filtered ("Disabling shared library breakpoints:\n");
|
||
}
|
||
disabled_breaks = 1;
|
||
***************
|
||
*** 455,464 ****
|
||
else
|
||
#endif
|
||
{
|
||
! fprintf (stderr, "Cannot insert breakpoint %d:\n", b->number);
|
||
#ifdef ONE_PROCESS_WRITETEXT
|
||
! fprintf (stderr,
|
||
! "The same program may be running in another process.\n");
|
||
#endif
|
||
memory_error (val, b->address); /* which bombs us out */
|
||
}
|
||
--- 458,468 ----
|
||
else
|
||
#endif
|
||
{
|
||
! fprintf_filtered (stderr, "Cannot insert breakpoint %d:\n",
|
||
! b->number);
|
||
#ifdef ONE_PROCESS_WRITETEXT
|
||
! fprintf_filtered (stderr,
|
||
! "The same program may be running in another process.\n");
|
||
#endif
|
||
memory_error (val, b->address); /* which bombs us out */
|
||
}
|
||
***************
|
||
*** 478,484 ****
|
||
int val;
|
||
|
||
#ifdef BREAKPOINT_DEBUG
|
||
! printf ("Removing breakpoints.\n");
|
||
#endif /* BREAKPOINT_DEBUG */
|
||
|
||
ALL_BREAKPOINTS (b)
|
||
--- 482,488 ----
|
||
int val;
|
||
|
||
#ifdef BREAKPOINT_DEBUG
|
||
! printf_filtered ("Removing breakpoints.\n");
|
||
#endif /* BREAKPOINT_DEBUG */
|
||
|
||
ALL_BREAKPOINTS (b)
|
||
***************
|
||
*** 489,500 ****
|
||
return val;
|
||
b->inserted = 0;
|
||
#ifdef BREAKPOINT_DEBUG
|
||
! printf ("Removed breakpoint at %s",
|
||
! local_hex_string(b->address));
|
||
! printf (", shadow %s",
|
||
! local_hex_string(b->shadow_contents[0]));
|
||
! printf (", %s.\n",
|
||
! local_hex_string(b->shadow_contents[1]));
|
||
#endif /* BREAKPOINT_DEBUG */
|
||
}
|
||
|
||
--- 493,504 ----
|
||
return val;
|
||
b->inserted = 0;
|
||
#ifdef BREAKPOINT_DEBUG
|
||
! printf_filtered ("Removed breakpoint at %s",
|
||
! local_hex_string(b->address));
|
||
! printf_filtered (", shadow %s",
|
||
! local_hex_string(b->shadow_contents[0]));
|
||
! printf_filtered (", %s.\n",
|
||
! local_hex_string(b->shadow_contents[1]));
|
||
#endif /* BREAKPOINT_DEBUG */
|
||
}
|
||
|
||
***************
|
||
*** 922,927 ****
|
||
--- 926,932 ----
|
||
{
|
||
b->ignore_count--;
|
||
this_bp_stop = 0;
|
||
+ energize_ignore_breakpoint(b);
|
||
}
|
||
else
|
||
{
|
||
***************
|
||
*** 1141,1157 ****
|
||
others++;
|
||
if (others > 0)
|
||
{
|
||
! printf ("Note: breakpoint%s ", (others > 1) ? "s" : "");
|
||
ALL_BREAKPOINTS (b)
|
||
if (b->address == pc)
|
||
{
|
||
others--;
|
||
! printf ("%d%s%s ",
|
||
! b->number,
|
||
! (b->enable == disabled) ? " (disabled)" : "",
|
||
! (others > 1) ? "," : ((others == 1) ? " and" : ""));
|
||
}
|
||
! printf ("also set at pc %s.\n", local_hex_string(pc));
|
||
}
|
||
}
|
||
|
||
--- 1146,1163 ----
|
||
others++;
|
||
if (others > 0)
|
||
{
|
||
! printf_filtered ("Note: breakpoint%s ", (others > 1) ? "s" : "");
|
||
ALL_BREAKPOINTS (b)
|
||
if (b->address == pc)
|
||
{
|
||
others--;
|
||
! printf_filtered ("%d%s%s ",
|
||
! b->number,
|
||
! (b->enable == disabled) ? " (disabled)" : "",
|
||
! (others > 1) ? "," :
|
||
! ((others == 1) ? " and" : ""));
|
||
}
|
||
! printf_filtered ("also set at pc %s.\n", local_hex_string(pc));
|
||
}
|
||
}
|
||
|
||
***************
|
||
*** 1373,1378 ****
|
||
--- 1379,1386 ----
|
||
mention (b)
|
||
struct breakpoint *b;
|
||
{
|
||
+ energize_create_breakpoint(b);
|
||
+
|
||
switch (b->type)
|
||
{
|
||
case bp_watchpoint:
|
||
***************
|
||
*** 1550,1557 ****
|
||
|
||
if (sals.nelts > 1)
|
||
{
|
||
! printf ("Multiple breakpoints were set.\n");
|
||
! printf ("Use the \"delete\" command to delete unwanted breakpoints.\n");
|
||
}
|
||
free ((PTR)sals.sals);
|
||
}
|
||
--- 1558,1565 ----
|
||
|
||
if (sals.nelts > 1)
|
||
{
|
||
! printf_filtered ("Multiple breakpoints were set.\n");
|
||
! printf_filtered ("Use the \"delete\" command to delete unwanted breakpoints.\n");
|
||
}
|
||
free ((PTR)sals.sals);
|
||
}
|
||
***************
|
||
*** 1769,1775 ****
|
||
goto win;
|
||
}
|
||
#endif
|
||
! printf ("No catch clause for exception %s.\n", p);
|
||
#if 0
|
||
win:
|
||
#endif
|
||
--- 1777,1783 ----
|
||
goto win;
|
||
}
|
||
#endif
|
||
! printf_filtered ("No catch clause for exception %s.\n", p);
|
||
#if 0
|
||
win:
|
||
#endif
|
||
***************
|
||
*** 1970,1985 ****
|
||
b->enable = enabled;
|
||
b->disposition = tempflag ? delete : donttouch;
|
||
|
||
! printf ("Breakpoint %d at %s", b->number, local_hex_string(b->address));
|
||
if (b->symtab)
|
||
! printf (": file %s, line %d.", b->symtab->filename, b->line_number);
|
||
! printf ("\n");
|
||
}
|
||
|
||
if (sals.nelts > 1)
|
||
{
|
||
! printf ("Multiple breakpoints were set.\n");
|
||
! printf ("Use the \"delete\" command to delete unwanted breakpoints.\n");
|
||
}
|
||
free ((PTR)sals.sals);
|
||
}
|
||
--- 1978,1995 ----
|
||
b->enable = enabled;
|
||
b->disposition = tempflag ? delete : donttouch;
|
||
|
||
! printf_filtered ("Breakpoint %d at %s", b->number,
|
||
! local_hex_string(b->address));
|
||
if (b->symtab)
|
||
! printf_filtered (": file %s, line %d.",
|
||
! b->symtab->filename, b->line_number);
|
||
! printf_filtered ("\n");
|
||
}
|
||
|
||
if (sals.nelts > 1)
|
||
{
|
||
! printf_filtered ("Multiple breakpoints were set.\n");
|
||
! printf_filtered ("Use the \"delete\" command to delete unwanted breakpoints.\n");
|
||
}
|
||
free ((PTR)sals.sals);
|
||
}
|
||
***************
|
||
*** 2086,2095 ****
|
||
}
|
||
|
||
if (found->next) from_tty = 1; /* Always report if deleted more than one */
|
||
! if (from_tty) printf ("Deleted breakpoint%s ", found->next ? "s" : "");
|
||
while (found)
|
||
{
|
||
! if (from_tty) printf ("%d ", found->number);
|
||
b1 = found->next;
|
||
delete_breakpoint (found);
|
||
found = b1;
|
||
--- 2096,2106 ----
|
||
}
|
||
|
||
if (found->next) from_tty = 1; /* Always report if deleted more than one */
|
||
! if (from_tty) printf_filtered ("Deleted breakpoint%s ",
|
||
! found->next ? "s" : "");
|
||
while (found)
|
||
{
|
||
! if (from_tty) printf_filtered ("%d ", found->number);
|
||
b1 = found->next;
|
||
delete_breakpoint (found);
|
||
found = b1;
|
||
***************
|
||
*** 2120,2125 ****
|
||
--- 2131,2138 ----
|
||
register struct breakpoint *b;
|
||
register bpstat bs;
|
||
|
||
+ energize_delete_breakpoint(bpt);
|
||
+
|
||
if (bpt->inserted)
|
||
target_remove_breakpoint(bpt->address, bpt->shadow_contents);
|
||
|
||
***************
|
||
*** 2144,2150 ****
|
||
free ((PTR)bpt->addr_string);
|
||
|
||
if (xgdb_verbose && bpt->type == bp_breakpoint)
|
||
! printf ("breakpoint #%d deleted\n", bpt->number);
|
||
|
||
/* Be sure no bpstat's are pointing at it after it's been freed. */
|
||
/* FIXME, how can we find all bpstat's? We just check stop_bpstat for now. */
|
||
--- 2157,2163 ----
|
||
free ((PTR)bpt->addr_string);
|
||
|
||
if (xgdb_verbose && bpt->type == bp_breakpoint)
|
||
! printf_filtered ("breakpoint #%d deleted\n", bpt->number);
|
||
|
||
/* Be sure no bpstat's are pointing at it after it's been freed. */
|
||
/* FIXME, how can we find all bpstat's? We just check stop_bpstat for now. */
|
||
***************
|
||
*** 2264,2270 ****
|
||
|
||
ALL_BREAKPOINTS_SAFE (b, temp)
|
||
{
|
||
! sprintf (message, message1, b->number); /* Format possible error msg */
|
||
catch_errors (breakpoint_re_set_one, (char *) b, message);
|
||
}
|
||
|
||
--- 2277,2283 ----
|
||
|
||
ALL_BREAKPOINTS_SAFE (b, temp)
|
||
{
|
||
! printf_filtered (message, message1, b->number); /* Format possible error msg */
|
||
catch_errors (breakpoint_re_set_one, (char *) b, message);
|
||
}
|
||
|
||
***************
|
||
*** 2298,2303 ****
|
||
--- 2311,2317 ----
|
||
if (b->number == bptnum)
|
||
{
|
||
b->ignore_count = count;
|
||
+ energize_ignore_breakpoint(b);
|
||
if (!from_tty)
|
||
return;
|
||
else if (count == 0)
|
||
***************
|
||
*** 2322,2328 ****
|
||
struct breakpoint *b;
|
||
|
||
ALL_BREAKPOINTS (b)
|
||
! b->ignore_count = 0;
|
||
}
|
||
|
||
/* Command to set ignore-count of breakpoint N to COUNT. */
|
||
--- 2336,2345 ----
|
||
struct breakpoint *b;
|
||
|
||
ALL_BREAKPOINTS (b)
|
||
! {
|
||
! b->ignore_count = 0;
|
||
! energize_ignore_breakpoint(b);
|
||
! }
|
||
}
|
||
|
||
/* Command to set ignore-count of breakpoint N to COUNT. */
|
||
***************
|
||
*** 2377,2383 ****
|
||
function (b);
|
||
goto win;
|
||
}
|
||
! printf ("No breakpoint number %d.\n", num);
|
||
win:
|
||
p = p1;
|
||
}
|
||
--- 2394,2400 ----
|
||
function (b);
|
||
goto win;
|
||
}
|
||
! printf_filtered ("No breakpoint number %d.\n", num);
|
||
win:
|
||
p = p1;
|
||
}
|
||
***************
|
||
*** 2389,2396 ****
|
||
{
|
||
bpt->enable = enabled;
|
||
|
||
if (xgdb_verbose && bpt->type == bp_breakpoint)
|
||
! printf ("breakpoint #%d enabled\n", bpt->number);
|
||
|
||
check_duplicates (bpt->address);
|
||
if (bpt->type == bp_watchpoint)
|
||
--- 2406,2415 ----
|
||
{
|
||
bpt->enable = enabled;
|
||
|
||
+ energize_enable_breakpoint(bpt);
|
||
+
|
||
if (xgdb_verbose && bpt->type == bp_breakpoint)
|
||
! printf_filtered ("breakpoint #%d enabled\n", bpt->number);
|
||
|
||
check_duplicates (bpt->address);
|
||
if (bpt->type == bp_watchpoint)
|
||
***************
|
||
*** 2436,2441 ****
|
||
--- 2455,2462 ----
|
||
disable_breakpoint (bpt)
|
||
struct breakpoint *bpt;
|
||
{
|
||
+ energize_disable_breakpoint(bpt);
|
||
+
|
||
bpt->enable = disabled;
|
||
|
||
if (xgdb_verbose && bpt->type == bp_breakpoint)
|
||
===================================================================
|
||
*** 1.18 1992/07/10 17:22:30
|
||
--- command.c 1992/09/28 21:34:09
|
||
***************
|
||
*** 1093,1098 ****
|
||
--- 1093,1100 ----
|
||
else
|
||
error ("gdb internal error: bad cmd_type in do_setshow_command");
|
||
(*c->function.sfunc) (NULL, from_tty, c);
|
||
+ if (energize)
|
||
+ print_prompt();
|
||
}
|
||
|
||
/* Show all the settings in a list of show commands. */
|
||
***************
|
||
*** 1148,1154 ****
|
||
}
|
||
|
||
if (pid != -1)
|
||
! while ((rc = wait (&status)) != pid && rc != -1)
|
||
;
|
||
else
|
||
error ("Fork failed");
|
||
--- 1150,1156 ----
|
||
}
|
||
|
||
if (pid != -1)
|
||
! while ((rc = energize_shell_wait (&status)) != pid && rc != -1)
|
||
;
|
||
else
|
||
error ("Fork failed");
|
||
===================================================================
|
||
*** 1.67 1992/09/21 20:01:00
|
||
--- configure.in 1992/09/28 21:34:10
|
||
***************
|
||
*** 1,4 ****
|
||
! configdirs="doc"
|
||
srcname="GDB"
|
||
srctrigger=main.c
|
||
|
||
--- 1,4 ----
|
||
! configdirs="energize doc"
|
||
srcname="GDB"
|
||
srctrigger=main.c
|
||
|
||
===================================================================
|
||
*** 1.48 1992/09/15 08:55:59
|
||
--- defs.h 1992/09/28 21:34:10
|
||
***************
|
||
*** 811,814 ****
|
||
--- 811,816 ----
|
||
#define MAINTENANCE_CMDS 1
|
||
#endif
|
||
|
||
+ #include "energize.h"
|
||
+
|
||
#endif /* !defined (DEFS_H) */
|
||
===================================================================
|
||
*** 2.5 1992/09/03 16:26:03
|
||
--- demangle.c 1992/09/28 21:34:10
|
||
***************
|
||
*** 37,43 ****
|
||
the appropriate target configuration file. */
|
||
|
||
#ifndef DEFAULT_DEMANGLING_STYLE
|
||
! # define DEFAULT_DEMANGLING_STYLE AUTO_DEMANGLING_STYLE_STRING
|
||
#endif
|
||
|
||
/* String name for the current demangling style. Set by the "set demangling"
|
||
--- 37,43 ----
|
||
the appropriate target configuration file. */
|
||
|
||
#ifndef DEFAULT_DEMANGLING_STYLE
|
||
! # define DEFAULT_DEMANGLING_STYLE LUCID_DEMANGLING_STYLE_STRING
|
||
#endif
|
||
|
||
/* String name for the current demangling style. Set by the "set demangling"
|
||
===================================================================
|
||
*** 1.34 1992/09/26 05:20:04
|
||
--- infcmd.c 1992/09/28 21:34:11
|
||
***************
|
||
*** 242,247 ****
|
||
--- 242,248 ----
|
||
|
||
target_create_inferior (exec_file, inferior_args,
|
||
environ_vector (inferior_environ));
|
||
+ energize_new_process();
|
||
}
|
||
|
||
static void
|
||
===================================================================
|
||
*** 1.29 1992/09/25 19:19:00
|
||
--- inflow.c 1992/09/28 21:34:11
|
||
***************
|
||
*** 87,93 ****
|
||
static short pgrp_inferior;
|
||
static short pgrp_ours;
|
||
# else /* not def SHORT_PGRP */
|
||
! static int pgrp_inferior;
|
||
static int pgrp_ours;
|
||
# endif /* not def SHORT_PGRP */
|
||
#else /* not def TIOCGPGRP */
|
||
--- 87,93 ----
|
||
static short pgrp_inferior;
|
||
static short pgrp_ours;
|
||
# else /* not def SHORT_PGRP */
|
||
! int pgrp_inferior;
|
||
static int pgrp_ours;
|
||
# endif /* not def SHORT_PGRP */
|
||
#else /* not def TIOCGPGRP */
|
||
===================================================================
|
||
*** 1.59 1992/09/26 01:49:01
|
||
--- infrun.c 1992/09/28 21:34:12
|
||
***************
|
||
*** 519,525 ****
|
||
flush_cached_frames ();
|
||
registers_changed ();
|
||
|
||
! target_wait (&w);
|
||
|
||
#ifdef SIGTRAP_STOP_AFTER_LOAD
|
||
|
||
--- 519,525 ----
|
||
flush_cached_frames ();
|
||
registers_changed ();
|
||
|
||
! energize_wait (&w);
|
||
|
||
#ifdef SIGTRAP_STOP_AFTER_LOAD
|
||
|
||
===================================================================
|
||
*** 1.17 1992/09/26 09:06:10
|
||
--- inftarg.c 1992/09/28 21:34:12
|
||
***************
|
||
*** 123,128 ****
|
||
--- 123,129 ----
|
||
|
||
attach (pid);
|
||
inferior_pid = pid;
|
||
+ energize_new_process();
|
||
push_target (&child_ops);
|
||
#endif /* ATTACH_DETACH */
|
||
}
|
||
===================================================================
|
||
*** 1.57 1992/09/29 05:07:14
|
||
--- main.c 1992/09/28 21:34:13
|
||
***************
|
||
*** 441,446 ****
|
||
--- 441,447 ----
|
||
char *corearg = NULL;
|
||
char *cdarg = NULL;
|
||
char *ttyarg = NULL;
|
||
+ char *energize_id = NULL;
|
||
|
||
/* Pointers to all arguments of +command option. */
|
||
char **cmdarg;
|
||
***************
|
||
*** 539,544 ****
|
||
--- 540,546 ----
|
||
{"tty", required_argument, 0, 't'},
|
||
{"baud", required_argument, 0, 'b'},
|
||
{"b", required_argument, 0, 'b'},
|
||
+ {"context", required_argument, 0, 12},
|
||
/* Allow machine descriptions to add more options... */
|
||
#ifdef ADDITIONAL_OPTIONS
|
||
ADDITIONAL_OPTIONS
|
||
***************
|
||
*** 571,576 ****
|
||
--- 573,581 ----
|
||
case 11:
|
||
cdarg = optarg;
|
||
break;
|
||
+ case 12:
|
||
+ energize_id = optarg;
|
||
+ break;
|
||
case 's':
|
||
symarg = optarg;
|
||
break;
|
||
***************
|
||
*** 611,617 ****
|
||
ADDITIONAL_OPTION_CASES
|
||
#endif
|
||
case '?':
|
||
! fprintf (stderr,
|
||
"Use `%s +help' for a complete list of options.\n",
|
||
argv[0]);
|
||
exit (1);
|
||
--- 616,622 ----
|
||
ADDITIONAL_OPTION_CASES
|
||
#endif
|
||
case '?':
|
||
! fprintf_filtered (stderr,
|
||
"Use `%s +help' for a complete list of options.\n",
|
||
argv[0]);
|
||
exit (1);
|
||
***************
|
||
*** 668,674 ****
|
||
corearg = argv[optind];
|
||
break;
|
||
case 3:
|
||
! fprintf (stderr,
|
||
"Excess command line arguments ignored. (%s%s)\n",
|
||
argv[optind], (optind == argc - 1) ? "" : " ...");
|
||
break;
|
||
--- 673,679 ----
|
||
corearg = argv[optind];
|
||
break;
|
||
case 3:
|
||
! fprintf_filtered (stderr,
|
||
"Excess command line arguments ignored. (%s%s)\n",
|
||
argv[optind], (optind == argc - 1) ? "" : " ...");
|
||
break;
|
||
***************
|
||
*** 679,684 ****
|
||
--- 684,692 ----
|
||
|
||
/* Run the init function of each source file */
|
||
|
||
+ /* Must call this first to setup tty */
|
||
+ energize_initialize (energize_id, execarg);
|
||
+
|
||
initialize_cmd_lists (); /* This needs to be done first */
|
||
initialize_all_files ();
|
||
initialize_main (); /* But that omits this file! Do it now */
|
||
***************
|
||
*** 853,859 ****
|
||
if (!setjmp (to_top_level))
|
||
{
|
||
do_cleanups (ALL_CLEANUPS); /* Do complete cleanup */
|
||
! command_loop ();
|
||
quit_command ((char *)0, instream == stdin);
|
||
}
|
||
}
|
||
--- 861,870 ----
|
||
if (!setjmp (to_top_level))
|
||
{
|
||
do_cleanups (ALL_CLEANUPS); /* Do complete cleanup */
|
||
! if (energize)
|
||
! energize_main_loop();
|
||
! else
|
||
! command_loop ();
|
||
quit_command ((char *)0, instream == stdin);
|
||
}
|
||
}
|
||
***************
|
||
*** 915,921 ****
|
||
else if (c->function.cfunc == NO_FUNCTION)
|
||
error ("That is not a command, just a help topic.");
|
||
else
|
||
! (*c->function.cfunc) (arg, from_tty & caution);
|
||
}
|
||
|
||
/* Tell the user if the language has changed (except first time). */
|
||
--- 926,932 ----
|
||
else if (c->function.cfunc == NO_FUNCTION)
|
||
error ("That is not a command, just a help topic.");
|
||
else
|
||
! energize_call_command (c, arg, from_tty & caution);
|
||
}
|
||
|
||
/* Tell the user if the language has changed (except first time). */
|
||
***************
|
||
*** 1317,1323 ****
|
||
#else
|
||
signal (STOP_SIGNAL, stop_sig);
|
||
#endif
|
||
! printf ("%s", prompt);
|
||
fflush (stdout);
|
||
|
||
/* Forget about any previous command -- null line now will do nothing. */
|
||
--- 1328,1334 ----
|
||
#else
|
||
signal (STOP_SIGNAL, stop_sig);
|
||
#endif
|
||
! printf_filtered ("%s", prompt);
|
||
fflush (stdout);
|
||
|
||
/* Forget about any previous command -- null line now will do nothing. */
|
||
***************
|
||
*** 1463,1469 ****
|
||
if (expanded)
|
||
{
|
||
/* Print the changes. */
|
||
! printf ("%s\n", history_value);
|
||
|
||
/* If there was an error, call this function again. */
|
||
if (expanded < 0)
|
||
--- 1474,1480 ----
|
||
if (expanded)
|
||
{
|
||
/* Print the changes. */
|
||
! printf_filtered ("%s\n", history_value);
|
||
|
||
/* If there was an error, call this function again. */
|
||
if (expanded < 0)
|
||
***************
|
||
*** 1570,1576 ****
|
||
while (1)
|
||
{
|
||
dont_repeat ();
|
||
! p = command_line_input ((char *) NULL, instream == stdin);
|
||
if (p == NULL)
|
||
/* Treat end of file like "end". */
|
||
break;
|
||
--- 1581,1587 ----
|
||
while (1)
|
||
{
|
||
dont_repeat ();
|
||
! p = energize_command_line_input ((char *) NULL, instream == stdin);
|
||
if (p == NULL)
|
||
/* Treat end of file like "end". */
|
||
break;
|
||
***************
|
||
*** 1661,1667 ****
|
||
char *arg;
|
||
int from_tty;
|
||
{
|
||
! printf ("\"info\" must be followed by the name of an info command.\n");
|
||
help_list (infolist, "info ", -1, stdout);
|
||
}
|
||
|
||
--- 1672,1678 ----
|
||
char *arg;
|
||
int from_tty;
|
||
{
|
||
! printf_filtered ("\"info\" must be followed by the name of an info command.\n");
|
||
help_list (infolist, "info ", -1, stdout);
|
||
}
|
||
|
||
***************
|
||
*** 1777,1783 ****
|
||
|
||
if (from_tty)
|
||
{
|
||
! printf ("Type commands for definition of \"%s\".\n\
|
||
End with a line saying just \"end\".\n", comname);
|
||
fflush (stdout);
|
||
}
|
||
--- 1788,1794 ----
|
||
|
||
if (from_tty)
|
||
{
|
||
! printf_filtered ("Type commands for definition of \"%s\".\n\
|
||
End with a line saying just \"end\".\n", comname);
|
||
fflush (stdout);
|
||
}
|
||
***************
|
||
*** 1810,1816 ****
|
||
error ("Command \"%s\" is built-in.", comname);
|
||
|
||
if (from_tty)
|
||
! printf ("Type documentation for \"%s\".\n\
|
||
End with a line saying just \"end\".\n", comname);
|
||
|
||
doclines = read_command_lines ();
|
||
--- 1821,1827 ----
|
||
error ("Command \"%s\" is built-in.", comname);
|
||
|
||
if (from_tty)
|
||
! printf_filtered ("Type documentation for \"%s\".\n\
|
||
End with a line saying just \"end\".\n", comname);
|
||
|
||
doclines = read_command_lines ();
|
||
***************
|
||
*** 1841,1847 ****
|
||
static void
|
||
print_gnu_advertisement()
|
||
{
|
||
! printf ("\
|
||
GDB is free software and you are welcome to distribute copies of it\n\
|
||
under certain conditions; type \"show copying\" to see the conditions.\n\
|
||
There is absolutely no warranty for GDB; type \"show warranty\" for details.\n\
|
||
--- 1852,1858 ----
|
||
static void
|
||
print_gnu_advertisement()
|
||
{
|
||
! printf_filtered ("\
|
||
GDB is free software and you are welcome to distribute copies of it\n\
|
||
under certain conditions; type \"show copying\" to see the conditions.\n\
|
||
There is absolutely no warranty for GDB; type \"show warranty\" for details.\n\
|
||
***************
|
||
*** 1874,1880 ****
|
||
void
|
||
print_prompt ()
|
||
{
|
||
! printf ("%s", prompt);
|
||
fflush (stdout);
|
||
}
|
||
|
||
--- 1885,1891 ----
|
||
void
|
||
print_prompt ()
|
||
{
|
||
! printf_filtered ("%s", prompt);
|
||
fflush (stdout);
|
||
}
|
||
|
||
***************
|
||
*** 1920,1929 ****
|
||
getcwd (dirbuf, sizeof (dirbuf));
|
||
|
||
if (strcmp (dirbuf, current_directory))
|
||
! printf ("Working directory %s\n (canonically %s).\n",
|
||
current_directory, dirbuf);
|
||
else
|
||
! printf ("Working directory %s.\n", current_directory);
|
||
}
|
||
|
||
static void
|
||
--- 1931,1940 ----
|
||
getcwd (dirbuf, sizeof (dirbuf));
|
||
|
||
if (strcmp (dirbuf, current_directory))
|
||
! printf_filtered ("Working directory %s\n (canonically %s).\n",
|
||
current_directory, dirbuf);
|
||
else
|
||
! printf_filtered ("Working directory %s.\n", current_directory);
|
||
}
|
||
|
||
static void
|
||
***************
|
||
*** 2160,2166 ****
|
||
char *args;
|
||
int from_tty;
|
||
{
|
||
! printf ("\"set history\" must be followed by the name of a history subcommand.\n");
|
||
help_list (sethistlist, "set history ", -1, stdout);
|
||
}
|
||
|
||
--- 2171,2177 ----
|
||
char *args;
|
||
int from_tty;
|
||
{
|
||
! printf_filtered ("\"set history\" must be followed by the name of a history subcommand.\n");
|
||
help_list (sethistlist, "set history ", -1, stdout);
|
||
}
|
||
|
||
===================================================================
|
||
*** 1.33 1992/09/29 05:07:19
|
||
--- printcmd.c 1992/09/28 21:34:13
|
||
***************
|
||
*** 778,792 ****
|
||
{
|
||
int histindex = record_latest_value (val);
|
||
|
||
if (inspect)
|
||
! printf ("\031(gdb-makebuffer \"%s\" %d '(\"", exp, histindex);
|
||
else
|
||
if (histindex >= 0) printf_filtered ("$%d = ", histindex);
|
||
|
||
print_formatted (val, format, fmt.size);
|
||
printf_filtered ("\n");
|
||
if (inspect)
|
||
! printf("\") )\030");
|
||
}
|
||
|
||
if (cleanup)
|
||
--- 778,802 ----
|
||
{
|
||
int histindex = record_latest_value (val);
|
||
|
||
+ if (energize)
|
||
+ {
|
||
+ char buf[20];
|
||
+
|
||
+ sprintf(buf, "$%d", histindex);
|
||
+ energize_start_variable_annotation(buf, NULL, VALUE_TYPE(val),
|
||
+ VALUE_ADDRESS(val), "");
|
||
+ }
|
||
+
|
||
if (inspect)
|
||
! printf_filtered ("\031(gdb-makebuffer \"%s\" %d '(\"", exp, histindex);
|
||
else
|
||
if (histindex >= 0) printf_filtered ("$%d = ", histindex);
|
||
|
||
print_formatted (val, format, fmt.size);
|
||
+ energize_end_variable_annotation();
|
||
printf_filtered ("\n");
|
||
if (inspect)
|
||
! printf_filtered("\") )\030");
|
||
}
|
||
|
||
if (cleanup)
|
||
***************
|
||
*** 890,896 ****
|
||
{
|
||
if (is_a_field_of_this)
|
||
{
|
||
! printf ("Symbol \"%s\" is a field of the local class variable `this'\n", exp);
|
||
return;
|
||
}
|
||
|
||
--- 900,906 ----
|
||
{
|
||
if (is_a_field_of_this)
|
||
{
|
||
! printf_filtered ("Symbol \"%s\" is a field of the local class variable `this'\n", exp);
|
||
return;
|
||
}
|
||
|
||
***************
|
||
*** 897,903 ****
|
||
msymbol = lookup_minimal_symbol (exp, (struct objfile *) NULL);
|
||
|
||
if (msymbol != NULL)
|
||
! printf ("Symbol \"%s\" is at %s in a file compiled without debugging.\n",
|
||
exp, local_hex_string(msymbol -> address));
|
||
else
|
||
error ("No symbol \"%s\" in current context.", exp);
|
||
--- 907,913 ----
|
||
msymbol = lookup_minimal_symbol (exp, (struct objfile *) NULL);
|
||
|
||
if (msymbol != NULL)
|
||
! printf_filtered ("Symbol \"%s\" is at %s in a file compiled without debugging.\n",
|
||
exp, local_hex_string(msymbol -> address));
|
||
else
|
||
error ("No symbol \"%s\" in current context.", exp);
|
||
***************
|
||
*** 904,910 ****
|
||
return;
|
||
}
|
||
|
||
! printf ("Symbol \"%s\" is ", SYMBOL_NAME (sym));
|
||
val = SYMBOL_VALUE (sym);
|
||
basereg = SYMBOL_BASEREG (sym);
|
||
|
||
--- 914,920 ----
|
||
return;
|
||
}
|
||
|
||
! printf_filtered ("Symbol \"%s\" is ", SYMBOL_NAME (sym));
|
||
val = SYMBOL_VALUE (sym);
|
||
basereg = SYMBOL_BASEREG (sym);
|
||
|
||
***************
|
||
*** 912,945 ****
|
||
{
|
||
case LOC_CONST:
|
||
case LOC_CONST_BYTES:
|
||
! printf ("constant");
|
||
break;
|
||
|
||
case LOC_LABEL:
|
||
! printf ("a label at address %s", local_hex_string(SYMBOL_VALUE_ADDRESS (sym)));
|
||
break;
|
||
|
||
case LOC_REGISTER:
|
||
! printf ("a variable in register %s", reg_names[val]);
|
||
break;
|
||
|
||
case LOC_STATIC:
|
||
! printf ("static storage at address %s", local_hex_string(SYMBOL_VALUE_ADDRESS (sym)));
|
||
break;
|
||
|
||
case LOC_REGPARM:
|
||
! printf ("an argument in register %s", reg_names[val]);
|
||
break;
|
||
|
||
case LOC_ARG:
|
||
if (SYMBOL_BASEREG_VALID (sym))
|
||
{
|
||
! printf ("an argument at offset %ld from register %s",
|
||
val, reg_names[basereg]);
|
||
}
|
||
else
|
||
{
|
||
! printf ("an argument at offset %ld", val);
|
||
}
|
||
break;
|
||
|
||
--- 922,955 ----
|
||
{
|
||
case LOC_CONST:
|
||
case LOC_CONST_BYTES:
|
||
! printf_filtered ("constant");
|
||
break;
|
||
|
||
case LOC_LABEL:
|
||
! printf_filtered ("a label at address %s", local_hex_string(SYMBOL_VALUE_ADDRESS (sym)));
|
||
break;
|
||
|
||
case LOC_REGISTER:
|
||
! printf_filtered ("a variable in register %s", reg_names[val]);
|
||
break;
|
||
|
||
case LOC_STATIC:
|
||
! printf_filtered ("static storage at address %s", local_hex_string(SYMBOL_VALUE_ADDRESS (sym)));
|
||
break;
|
||
|
||
case LOC_REGPARM:
|
||
! printf_filtered ("an argument in register %s", reg_names[val]);
|
||
break;
|
||
|
||
case LOC_ARG:
|
||
if (SYMBOL_BASEREG_VALID (sym))
|
||
{
|
||
! printf_filtered ("an argument at offset %ld from register %s",
|
||
val, reg_names[basereg]);
|
||
}
|
||
else
|
||
{
|
||
! printf_filtered ("an argument at offset %ld", val);
|
||
}
|
||
break;
|
||
|
||
***************
|
||
*** 946,957 ****
|
||
case LOC_LOCAL_ARG:
|
||
if (SYMBOL_BASEREG_VALID (sym))
|
||
{
|
||
! printf ("an argument at offset %ld from register %s",
|
||
val, reg_names[basereg]);
|
||
}
|
||
else
|
||
{
|
||
! printf ("an argument at frame offset %ld", val);
|
||
}
|
||
break;
|
||
|
||
--- 956,967 ----
|
||
case LOC_LOCAL_ARG:
|
||
if (SYMBOL_BASEREG_VALID (sym))
|
||
{
|
||
! printf_filtered ("an argument at offset %ld from register %s",
|
||
val, reg_names[basereg]);
|
||
}
|
||
else
|
||
{
|
||
! printf_filtered ("an argument at frame offset %ld", val);
|
||
}
|
||
break;
|
||
|
||
***************
|
||
*** 958,990 ****
|
||
case LOC_LOCAL:
|
||
if (SYMBOL_BASEREG_VALID (sym))
|
||
{
|
||
! printf ("a local variable at offset %ld from register %s",
|
||
val, reg_names[basereg]);
|
||
}
|
||
else
|
||
{
|
||
! printf ("a local variable at frame offset %ld", val);
|
||
}
|
||
break;
|
||
|
||
case LOC_REF_ARG:
|
||
! printf ("a reference argument at offset %ld", val);
|
||
break;
|
||
|
||
case LOC_TYPEDEF:
|
||
! printf ("a typedef");
|
||
break;
|
||
|
||
case LOC_BLOCK:
|
||
! printf ("a function at address %s",
|
||
local_hex_string(BLOCK_START (SYMBOL_BLOCK_VALUE (sym))));
|
||
break;
|
||
|
||
default:
|
||
! printf ("of unknown (botched) type");
|
||
break;
|
||
}
|
||
! printf (".\n");
|
||
}
|
||
|
||
static void
|
||
--- 968,1000 ----
|
||
case LOC_LOCAL:
|
||
if (SYMBOL_BASEREG_VALID (sym))
|
||
{
|
||
! printf_filtered ("a local variable at offset %ld from register %s",
|
||
val, reg_names[basereg]);
|
||
}
|
||
else
|
||
{
|
||
! printf_filtered ("a local variable at frame offset %ld", val);
|
||
}
|
||
break;
|
||
|
||
case LOC_REF_ARG:
|
||
! printf_filtered ("a reference argument at offset %ld", val);
|
||
break;
|
||
|
||
case LOC_TYPEDEF:
|
||
! printf_filtered ("a typedef");
|
||
break;
|
||
|
||
case LOC_BLOCK:
|
||
! printf_filtered ("a function at address %s",
|
||
local_hex_string(BLOCK_START (SYMBOL_BLOCK_VALUE (sym))));
|
||
break;
|
||
|
||
default:
|
||
! printf_filtered ("of unknown (botched) type");
|
||
break;
|
||
}
|
||
! printf_filtered (".\n");
|
||
}
|
||
|
||
static void
|
||
***************
|
||
*** 1419,1425 ****
|
||
d->status = disabled;
|
||
return;
|
||
}
|
||
! printf ("No display number %d.\n", num);
|
||
}
|
||
|
||
void
|
||
--- 1429,1435 ----
|
||
d->status = disabled;
|
||
return;
|
||
}
|
||
! printf_filtered ("No display number %d.\n", num);
|
||
}
|
||
|
||
void
|
||
***************
|
||
*** 1428,1434 ****
|
||
if (current_display_number >= 0)
|
||
{
|
||
disable_display (current_display_number);
|
||
! fprintf (stderr, "Disabling display %d to avoid infinite recursion.\n",
|
||
current_display_number);
|
||
}
|
||
current_display_number = -1;
|
||
--- 1438,1444 ----
|
||
if (current_display_number >= 0)
|
||
{
|
||
disable_display (current_display_number);
|
||
! fprintf_filtered (stderr, "Disabling display %d to avoid infinite recursion.\n",
|
||
current_display_number);
|
||
}
|
||
current_display_number = -1;
|
||
***************
|
||
*** 1442,1448 ****
|
||
register struct display *d;
|
||
|
||
if (!display_chain)
|
||
! printf ("There are no auto-display expressions now.\n");
|
||
else
|
||
printf_filtered ("Auto-display expressions now in effect:\n\
|
||
Num Enb Expression\n");
|
||
--- 1452,1458 ----
|
||
register struct display *d;
|
||
|
||
if (!display_chain)
|
||
! printf_filtered ("There are no auto-display expressions now.\n");
|
||
else
|
||
printf_filtered ("Auto-display expressions now in effect:\n\
|
||
Num Enb Expression\n");
|
||
***************
|
||
*** 1495,1501 ****
|
||
d->status = enabled;
|
||
goto win;
|
||
}
|
||
! printf ("No display number %d.\n", num);
|
||
win:
|
||
p = p1;
|
||
while (*p == ' ' || *p == '\t')
|
||
--- 1505,1511 ----
|
||
d->status = enabled;
|
||
goto win;
|
||
}
|
||
! printf_filtered ("No display number %d.\n", num);
|
||
win:
|
||
p = p1;
|
||
while (*p == ' ' || *p == '\t')
|
||
***************
|
||
*** 1652,1662 ****
|
||
--- 1662,1680 ----
|
||
standard indentation here is 4 spaces, and val_print indents
|
||
2 for each recurse. */
|
||
val = read_var_value (sym, FRAME_INFO_ID (fi));
|
||
+
|
||
+ energize_start_variable_annotation(SYMBOL_NAME(sym), sym,
|
||
+ VALUE_TYPE(val),
|
||
+ VALUE_ADDRESS(val), "");
|
||
+
|
||
if (val)
|
||
val_print (VALUE_TYPE (val), VALUE_CONTENTS (val), VALUE_ADDRESS (val),
|
||
stream, 0, 0, 2, Val_no_prettyprint);
|
||
else
|
||
fputs_filtered ("???", stream);
|
||
+
|
||
+ energize_end_variable_annotation();
|
||
+
|
||
first = 0;
|
||
}
|
||
|
||
===================================================================
|
||
*** 1.35 1992/09/18 09:20:00
|
||
--- stack.c 1992/09/28 21:34:14
|
||
***************
|
||
*** 159,165 ****
|
||
if (addressprint)
|
||
printf_filtered ("%s in ", local_hex_string(fi->pc));
|
||
|
||
! fputs_demangled (fname, stdout, 0);
|
||
fputs_filtered (" (...)\n", stdout);
|
||
|
||
return;
|
||
--- 159,168 ----
|
||
if (addressprint)
|
||
printf_filtered ("%s in ", local_hex_string(fi->pc));
|
||
|
||
! if (energize)
|
||
! energize_annotate_function(fname, 0, level);
|
||
! else
|
||
! fputs_demangled (fname, stdout, 0);
|
||
fputs_filtered (" (...)\n", stdout);
|
||
|
||
return;
|
||
***************
|
||
*** 218,224 ****
|
||
if (addressprint)
|
||
if (fi->pc != sal.pc || !sal.symtab)
|
||
printf_filtered ("%s in ", local_hex_string(fi->pc));
|
||
! fputs_demangled (funname ? funname : "??", stdout, 0);
|
||
wrap_here (" ");
|
||
fputs_filtered (" (", stdout);
|
||
if (args)
|
||
--- 221,230 ----
|
||
if (addressprint)
|
||
if (fi->pc != sal.pc || !sal.symtab)
|
||
printf_filtered ("%s in ", local_hex_string(fi->pc));
|
||
! if (energize)
|
||
! energize_annotate_function(funname ? funname : "??", 0, level);
|
||
! else
|
||
! fputs_demangled (funname ? funname : "??", stdout, 0);
|
||
wrap_here (" ");
|
||
fputs_filtered (" (", stdout);
|
||
if (args)
|
||
***************
|
||
*** 255,261 ****
|
||
{
|
||
if (addressprint && mid_statement)
|
||
printf_filtered ("%s\t", local_hex_string(fi->pc));
|
||
! print_source_lines (sal.symtab, sal.line, sal.line + 1, 0);
|
||
}
|
||
current_source_line = max (sal.line - lines_to_list/2, 1);
|
||
}
|
||
--- 261,268 ----
|
||
{
|
||
if (addressprint && mid_statement)
|
||
printf_filtered ("%s\t", local_hex_string(fi->pc));
|
||
! if (!energize)
|
||
! print_source_lines (sal.symtab, sal.line, sal.line + 1, 0);
|
||
}
|
||
current_source_line = max (sal.line - lines_to_list/2, 1);
|
||
}
|
||
***************
|
||
*** 429,435 ****
|
||
if (funname)
|
||
{
|
||
printf_filtered (" in ");
|
||
! fputs_demangled (funname, stdout, DMGL_ANSI | DMGL_PARAMS);
|
||
}
|
||
wrap_here (" ");
|
||
if (sal.symtab)
|
||
--- 436,446 ----
|
||
if (funname)
|
||
{
|
||
printf_filtered (" in ");
|
||
! if (energize)
|
||
! energize_annotate_function(funname, DMGL_ANSI | DMGL_PARAMS,
|
||
! selected_frame_level);
|
||
! else
|
||
! fputs_demangled (funname, stdout, DMGL_ANSI | DMGL_PARAMS);
|
||
}
|
||
wrap_here (" ");
|
||
if (sal.symtab)
|
||
===================================================================
|
||
*** 1.59 1992/09/29 05:07:26
|
||
--- symfile.c 1992/09/28 21:34:14
|
||
***************
|
||
*** 614,619 ****
|
||
--- 614,621 ----
|
||
fflush (stdout);
|
||
}
|
||
|
||
+ energize_symbol_file(objfile);
|
||
+
|
||
return (objfile);
|
||
}
|
||
|
||
***************
|
||
*** 646,652 ****
|
||
current_source_line = 0;
|
||
if (from_tty)
|
||
{
|
||
! printf ("No symbol file now.\n");
|
||
}
|
||
}
|
||
else
|
||
--- 648,654 ----
|
||
current_source_line = 0;
|
||
if (from_tty)
|
||
{
|
||
! printf_filtered ("No symbol file now.\n");
|
||
}
|
||
}
|
||
else
|
||
***************
|
||
*** 1164,1170 ****
|
||
return;
|
||
clear_symtab_users_done = clear_symtab_users_queued;
|
||
|
||
! printf ("Resetting debugger state after updating old symbol tables\n");
|
||
|
||
/* Someday, we should do better than this, by only blowing away
|
||
the things that really need to be blown. */
|
||
--- 1166,1172 ----
|
||
return;
|
||
clear_symtab_users_done = clear_symtab_users_queued;
|
||
|
||
! printf_filtered ("Resetting debugger state after updating old symbol tables\n");
|
||
|
||
/* Someday, we should do better than this, by only blowing away
|
||
the things that really need to be blown. */
|
||
===================================================================
|
||
*** 1.63 1992/09/26 05:34:06
|
||
--- utils.c 1992/09/28 21:34:15
|
||
***************
|
||
*** 700,720 ****
|
||
fflush (stdout);
|
||
va_start (args);
|
||
ctlstr = va_arg (args, char *);
|
||
vfprintf_filtered (stdout, ctlstr, args);
|
||
- va_end (args);
|
||
printf_filtered ("(y or n) ");
|
||
! fflush (stdout);
|
||
! answer = fgetc (stdin);
|
||
! clearerr (stdin); /* in case of C-d */
|
||
! if (answer == EOF) /* C-d */
|
||
! return 1;
|
||
! if (answer != '\n') /* Eat rest of input line, to EOF or newline */
|
||
! do
|
||
! {
|
||
! ans2 = fgetc (stdin);
|
||
! clearerr (stdin);
|
||
! }
|
||
! while (ans2 != EOF && ans2 != '\n');
|
||
if (answer >= 'a')
|
||
answer -= 040;
|
||
if (answer == 'Y')
|
||
--- 700,731 ----
|
||
fflush (stdout);
|
||
va_start (args);
|
||
ctlstr = va_arg (args, char *);
|
||
+ energize_query (ctlstr, args);
|
||
vfprintf_filtered (stdout, ctlstr, args);
|
||
printf_filtered ("(y or n) ");
|
||
! if (energize)
|
||
! {
|
||
! char *buf;
|
||
!
|
||
! buf = energize_command_line_input(0, 0);
|
||
! answer = buf ? *buf : 'Y';
|
||
! energize_acknowledge_query(buf);
|
||
! }
|
||
! else
|
||
! {
|
||
! fflush (stdout);
|
||
! answer = fgetc (stdin);
|
||
! clearerr (stdin); /* in case of C-d */
|
||
! if (answer == EOF) /* C-d */
|
||
! return 1;
|
||
! if (answer != '\n') /* Eat rest of input line, to EOF or newline */
|
||
! do
|
||
! {
|
||
! ans2 = fgetc (stdin);
|
||
! clearerr (stdin);
|
||
! }
|
||
! while (ans2 != EOF && ans2 != '\n');
|
||
! }
|
||
if (answer >= 'a')
|
||
answer -= 040;
|
||
if (answer == 'Y')
|
||
***************
|
||
*** 722,727 ****
|
||
--- 733,739 ----
|
||
if (answer == 'N')
|
||
return 0;
|
||
printf_filtered ("Please answer y or n.\n");
|
||
+ va_end (args);
|
||
}
|
||
}
|
||
|
||
***************
|
||
*** 1000,1005 ****
|
||
--- 1012,1023 ----
|
||
if (linebuffer == 0)
|
||
return;
|
||
|
||
+ if (energize)
|
||
+ {
|
||
+ energize_fputs(linebuffer);
|
||
+ return;
|
||
+ }
|
||
+
|
||
/* Don't do any filtering if it is disabled. */
|
||
if (stream != stdout
|
||
|| (lines_per_page == UINT_MAX && chars_per_line == UINT_MAX))
|
||
===================================================================
|
||
*** 1.55 1992/09/29 05:07:34
|
||
--- valprint.c 1992/09/28 21:34:15
|
||
***************
|
||
*** 384,390 ****
|
||
VALUE_CONTENTS (val) + typelen * i,
|
||
VALUE_ADDRESS (val) + typelen * i,
|
||
stream, format, 1, 0, pretty);
|
||
! fprintf (stream, " <repeats %u times>", reps);
|
||
i = rep1 - 1;
|
||
things_printed += REPEAT_COUNT_THRESHOLD;
|
||
}
|
||
--- 384,390 ----
|
||
VALUE_CONTENTS (val) + typelen * i,
|
||
VALUE_ADDRESS (val) + typelen * i,
|
||
stream, format, 1, 0, pretty);
|
||
! fprintf_filtered (stream, " <repeats %u times>", reps);
|
||
i = rep1 - 1;
|
||
things_printed += REPEAT_COUNT_THRESHOLD;
|
||
}
|
||
***************
|
||
*** 488,493 ****
|
||
--- 488,494 ----
|
||
struct type **dont_print;
|
||
{
|
||
int i, len, n_baseclasses;
|
||
+ char expr_tag[100]; /* Energize */
|
||
|
||
check_stub_type (type);
|
||
|
||
***************
|
||
*** 552,557 ****
|
||
--- 553,565 ----
|
||
fprint_symbol (stream, TYPE_FIELD_NAME (type, i));
|
||
fputs_filtered (" = ", stream);
|
||
}
|
||
+
|
||
+ sprintf(expr_tag, ".%s", TYPE_FIELD_NAME(type, i));
|
||
+
|
||
+ energize_start_variable_annotation(expr_tag, NULL,
|
||
+ TYPE_FIELD_TYPE(type, i),
|
||
+ (CORE_ADDR) (valaddr + TYPE_FIELD_BITPOS(type, i) / 8),
|
||
+ "");
|
||
if (TYPE_FIELD_PACKED (type, i))
|
||
{
|
||
value v;
|
||
***************
|
||
*** 570,575 ****
|
||
--- 578,584 ----
|
||
valaddr + TYPE_FIELD_BITPOS (type, i) / 8,
|
||
0, stream, format, 0, recurse + 1, pretty);
|
||
}
|
||
+ energize_end_variable_annotation();
|
||
}
|
||
if (pretty)
|
||
{
|
||
***************
|
||
*** 804,809 ****
|
||
--- 813,819 ----
|
||
unsigned int rep1;
|
||
/* Number of repetitions we have detected so far. */
|
||
unsigned int reps;
|
||
+ char expr_tag[100]; /* Energize */
|
||
|
||
if (i != 0)
|
||
if (arrayprint)
|
||
***************
|
||
*** 825,830 ****
|
||
--- 835,845 ----
|
||
++rep1;
|
||
}
|
||
|
||
+ sprintf(expr_tag, "[%d]", i);
|
||
+ energize_start_variable_annotation(expr_tag, NULL,
|
||
+ elttype,
|
||
+ (CORE_ADDR) (valaddr + i * eltlen),
|
||
+ "");
|
||
if (reps > REPEAT_COUNT_THRESHOLD)
|
||
{
|
||
val_print (elttype, valaddr + i * eltlen,
|
||
***************
|
||
Sun Oct 24 23:48:55 1993*** 841,846 ****
|
||
--- 856,862 ----
|
||
recurse + 1, pretty);
|
||
things_printed++;
|
||
}
|
||
+ energize_end_variable_annotation();
|
||
}
|
||
if (i < len)
|
||
fprintf_filtered (stream, "...");
|
||
***************
|
||
*** 910,916 ****
|
||
{
|
||
fprintf_filtered (stream, "&");
|
||
type_print_varspec_prefix (TYPE_FN_FIELD_TYPE (f, j), stream, 0, 0);
|
||
! fprintf (stream, kind);
|
||
if (TYPE_FN_FIELD_PHYSNAME (f, j)[0] == '_'
|
||
&& TYPE_FN_FIELD_PHYSNAME (f, j)[1] == CPLUS_MARKER)
|
||
type_print_method_args
|
||
--- 926,932 ----
|
||
{
|
||
fprintf_filtered (stream, "&");
|
||
type_print_varspec_prefix (TYPE_FN_FIELD_TYPE (f, j), stream, 0, 0);
|
||
! fprintf_filtered (stream, kind);
|
||
if (TYPE_FN_FIELD_PHYSNAME (f, j)[0] == '_'
|
||
&& TYPE_FN_FIELD_PHYSNAME (f, j)[1] == CPLUS_MARKER)
|
||
type_print_method_args
|
||
***************
|
||
*** 1528,1534 ****
|
||
|
||
case TYPE_CODE_METHOD:
|
||
if (passed_a_ptr)
|
||
! fprintf (stream, "(");
|
||
type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, 0,
|
||
0);
|
||
if (passed_a_ptr)
|
||
--- 1544,1550 ----
|
||
|
||
case TYPE_CODE_METHOD:
|
||
if (passed_a_ptr)
|
||
! fprintf_filtered (stream, "(");
|
||
type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, 0,
|
||
0);
|
||
if (passed_a_ptr)
|
||
***************
|
||
*** 1907,1913 ****
|
||
if (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)) == 0)
|
||
{
|
||
/* Keep GDB from crashing here. */
|
||
! fprintf (stream, "<undefined type> %s;\n",
|
||
TYPE_FN_FIELD_PHYSNAME (f, j));
|
||
break;
|
||
}
|
||
--- 1923,1929 ----
|
||
if (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)) == 0)
|
||
{
|
||
/* Keep GDB from crashing here. */
|
||
! fprintf_filtered (stream, "<undefined type> %s;\n",
|
||
TYPE_FN_FIELD_PHYSNAME (f, j));
|
||
break;
|
||
}
|
||
***************
|
||
*** 2098,2104 ****
|
||
char *arg;
|
||
int from_tty;
|
||
{
|
||
! printf (
|
||
"\"set print\" must be followed by the name of a print subcommand.\n");
|
||
help_list (setprintlist, "set print ", -1, stdout);
|
||
}
|
||
--- 2114,2120 ----
|
||
char *arg;
|
||
int from_tty;
|
||
{
|
||
! printf_filtered (
|
||
"\"set print\" must be followed by the name of a print subcommand.\n");
|
||
help_list (setprintlist, "set print ", -1, stdout);
|
||
}
|
||
===================================================================
|
||
*** 1.5 1992/09/26 08:07:45
|
||
--- amix.mh 1992/09/28 21:34:15
|
||
***************
|
||
*** 22,24 ****
|
||
--- 22,38 ----
|
||
|
||
# SVR4 puts the BSD compatible install in /usr/ucb.
|
||
INSTALL = /usr/ucb/install -c
|
||
+
|
||
+ # These are the libs that are needed for the Energize version of gdb on
|
||
+ # SVR4. Note that we MUST include the standard C library before libucb.a,
|
||
+ # otherwise we get lots of broken stuff we don't want.
|
||
+ ENERGIZE_LIB = energize/libconn.a
|
||
+ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \
|
||
+ -lsocket -lc /usr/ucblib/libucb.a -lnsl
|
||
+
|
||
+ # These are the libs that are needed for the Energize version of gdb on
|
||
+ # SVR4. Note that we MUST include the standard C library before libucb.a,
|
||
+ # otherwise we get lots of broken stuff we don't want.
|
||
+ ENERGIZE_LIB = energize/libconn.a
|
||
+ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \
|
||
+ -lsocket -lc /usr/ucblib/libucb.a -lnsl
|
||
===================================================================
|
||
*** 1.5 1992/09/26 08:08:14
|
||
--- ncr3000.mh 1992/09/28 21:34:16
|
||
***************
|
||
*** 38,40 ****
|
||
--- 38,59 ----
|
||
# The /usr/ucb/install program is incompatible (complains about unknown
|
||
# group staff). Use good old cp...
|
||
INSTALL = cp
|
||
+
|
||
+ # These are the libs that are needed for the Energize version of gdb on
|
||
+ # SVR4. Note that we MUST include the standard C library before libucb.a,
|
||
+ # otherwise we get lots of broken stuff we don't want.
|
||
+ XM_CLIBS = -L/usr/lib -lm -lnet -lresolv -lform -lsocket -lnsl -lc
|
||
+
|
||
+ # These are the libs that are needed for the Energize version of gdb on
|
||
+ # SVR4. Note that we MUST include the standard C library before libucb.a,
|
||
+ # otherwise we get lots of broken stuff we don't want.
|
||
+ ENERGIZE_LIB = energize/libconn.a
|
||
+ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \
|
||
+ -lsocket -lc /usr/ucblib/libucb.a -lnsl
|
||
+
|
||
+ # These are the libs that are needed for the Energize version of gdb on
|
||
+ # SVR4. Note that we MUST include the standard C library before libucb.a,
|
||
+ # otherwise we get lots of broken stuff we don't want.
|
||
+ ENERGIZE_LIB = energize/libconn.a
|
||
+ ENERGIZE_LIBS = ${ENERGIZE_LIB} -L/usr/lib -lm -lnet -lresolv -lform \
|
||
+ -lsocket -lc /usr/ucblib/libucb.a -lnsl
|