frame-select command. Cross funcalls to sun3. Build *.tab.c files in
target dir.
This commit is contained in:
parent
ae9cce45ff
commit
b00771232f
4 changed files with 62 additions and 19 deletions
|
@ -1,5 +1,8 @@
|
|||
Thu Oct 24 09:33:44 1991 John Gilmore (gnu at cygnus.com)
|
||||
|
||||
* stack.c (frame_command): Always print. Use new
|
||||
frame_select_command to select a frame without printing.
|
||||
|
||||
* dwarfread.c: Use <varargs.h>, since <stdarg.h> is not portable.
|
||||
|
||||
Thu Oct 24 01:32:51 1991 Fred Fish (fnf at cygnus.com)
|
||||
|
@ -65,6 +68,18 @@ Thu Oct 24 01:32:51 1991 Fred Fish (fnf at cygnus.com)
|
|||
replace them with a pointer to private data for each different
|
||||
flavor of object file reader to initialize appropriately.
|
||||
|
||||
Wed Oct 23 09:38:20 1991 John Gilmore (gnu at cygnus.com)
|
||||
|
||||
* xconfig/sun[34]os4: Add note about strstr botch on sunos4.0.3c
|
||||
and previous.
|
||||
|
||||
* mipsread.c (fixup_undef_type): New function. If a struct /
|
||||
union / enum is defined in a header file but nowhere else used,
|
||||
(by typedefing, pointer referencing or declaration) the mipsread code
|
||||
builds the complete tree for the structure but leaves its code as
|
||||
TYPE_CODE_UNDEF as it doesn't know what kind of aggregate it is.
|
||||
Guess its type based on the details of the members.
|
||||
|
||||
Tue Oct 22 18:04:32 1991 Stu Grossman (grossman at cygnus.com)
|
||||
|
||||
* infrun.c (wait_for_inferior): Check return value from
|
||||
|
@ -75,6 +90,13 @@ Mon Oct 21 17:47:03 1991 Stu Grossman (grossman at cygnus.com)
|
|||
* infrun.c (wait_for_inferior): fix stepi/nexti that was broken
|
||||
by my last edit to this routine.
|
||||
|
||||
Mon Oct 21 14:27:43 1991 John Gilmore (gnu at cygnus.com)
|
||||
|
||||
* tm-sun3.h (FIX_CALL_DUMMY): problem with cross debugging.
|
||||
FIX_CALL_DUMMY does unaligned accesses and/or forgets to byte swap
|
||||
the values before putting them into the dummy code. (From Peter
|
||||
Schauer)
|
||||
|
||||
Mon Oct 21 10:04:39 1991 Steve Chamberlain (steve at rtl.cygnus.com)
|
||||
|
||||
* configure.in: added ebmon target.
|
||||
|
|
|
@ -293,7 +293,7 @@ saber_gdb: $(SFILES) $(DEPFILES) copying.c version.c
|
|||
#load ./init.c $(SFILES)
|
||||
#unload ${srcdir}/c-exp.y ${srcdir}/m2-exp.y ${srcdir}/vx-share/*.h
|
||||
#unload ${srcdir}/nindy-share/[A-Z]*
|
||||
#load ${srcdir}/c-exp.tab.c ${srcdir}/m2-exp.tab.c
|
||||
#load c-exp.tab.c m2-exp.tab.c
|
||||
#load copying.c version.c
|
||||
#load `echo " "$(DEPFILES) | sed -e 's/\.o/.c/g' -e 's, , ../,g'`
|
||||
#load ${LIBIBERTY_DIR}/*.c
|
||||
|
@ -589,20 +589,20 @@ copying.c : COPYING copying.awk
|
|||
version.c : Makefile.in
|
||||
echo 'char *version = "$(VERSION)";' >version.c
|
||||
|
||||
# c-exp.tab.c is generated in srcdir from c-exp.y, then compiled in target
|
||||
# directory to c-exp.tab.o.
|
||||
c-exp.tab.o: ${srcdir}/c-exp.tab.c
|
||||
${srcdir}/c-exp.tab.c : $(srcdir)/c-exp.y
|
||||
# c-exp.tab.c is generated in target dir from c-exp.y if it doesn't exist
|
||||
# in srcdir, then compiled in target dir to c-exp.tab.o.
|
||||
c-exp.tab.o: c-exp.tab.c
|
||||
c-exp.tab.c: $(srcdir)/c-exp.y
|
||||
@echo 'Expect 4 shift/reduce conflicts.'
|
||||
${YACC} $(srcdir)/c-exp.y
|
||||
mv y.tab.c ${srcdir}/c-exp.tab.c
|
||||
mv y.tab.c c-exp.tab.c
|
||||
|
||||
# m2-exp.tab.c is generated in srcdir from m2-exp.y, then compiled in target
|
||||
# directory to m2-exp.tab.o.
|
||||
m2-exp.tab.o: ${srcdir}/m2-exp.tab.c
|
||||
${srcdir}/m2-exp.tab.c : $(srcdir)/m2-exp.y
|
||||
# m2-exp.tab.c is generated in target dir from m2-exp.y if it doesn't exist
|
||||
# in srcdir, then compiled in target dir to m2-exp.tab.o.
|
||||
m2-exp.tab.o: m2-exp.tab.c
|
||||
m2-exp.tab.c: $(srcdir)/m2-exp.y
|
||||
${YACC} $(srcdir)/m2-exp.y
|
||||
mv y.tab.c ${srcdir}/m2-exp.tab.c
|
||||
mv y.tab.c m2-exp.tab.c
|
||||
|
||||
# dbxread, coffread, mipsread, elfread have dependencies on BFD header files.
|
||||
dbxread.o: ${srcdir}/dbxread.c
|
||||
|
|
28
gdb/stack.c
28
gdb/stack.c
|
@ -360,7 +360,10 @@ frame_info (addr_exp)
|
|||
|
||||
wrap_here (" ");
|
||||
if (funname)
|
||||
printf_filtered (" in %s", funname);
|
||||
{
|
||||
printf_filtered (" in ");
|
||||
fputs_demangled (funname, stdout, 1);
|
||||
}
|
||||
wrap_here (" ");
|
||||
if (sal.symtab)
|
||||
printf_filtered (" (%s:%d)", sal.symtab->filename, sal.line);
|
||||
|
@ -925,14 +928,14 @@ find_relative_frame (frame, level_offset_ptr)
|
|||
return frame;
|
||||
}
|
||||
|
||||
/* The "frame" command. With no arg, print selected frame briefly.
|
||||
/* The "frame_select" command. With no arg, NOP.
|
||||
With arg LEVEL_EXP, select the frame at level LEVEL if it is a
|
||||
valid level. Otherwise, treat level_exp as an address expression
|
||||
and print it. See parse_frame_specification for more info on proper
|
||||
and select it. See parse_frame_specification for more info on proper
|
||||
frame expressions. */
|
||||
|
||||
static void
|
||||
frame_command (level_exp, from_tty)
|
||||
frame_select_command (level_exp, from_tty)
|
||||
char *level_exp;
|
||||
int from_tty;
|
||||
{
|
||||
|
@ -958,10 +961,18 @@ frame_command (level_exp, from_tty)
|
|||
level = 0;
|
||||
|
||||
select_frame (frame, level);
|
||||
}
|
||||
|
||||
if (!from_tty)
|
||||
return;
|
||||
/* The "frame" command. With no arg, print selected frame briefly.
|
||||
With arg, behaves like frame_select and then prints the selected
|
||||
frame. */
|
||||
|
||||
static void
|
||||
frame_command (level_exp, from_tty)
|
||||
char *level_exp;
|
||||
int from_tty;
|
||||
{
|
||||
frame_select_command (level_exp, from_tty);
|
||||
print_stack_frame (selected_frame, selected_frame_level, 1);
|
||||
}
|
||||
|
||||
|
@ -1148,6 +1159,11 @@ a command file or a user-defined command.");
|
|||
|
||||
add_com_alias ("f", "frame", class_stack, 1);
|
||||
|
||||
add_com ("frame-select", class_stack, frame_select_command,
|
||||
"Select a stack frame without printing anything.\n\
|
||||
An argument specifies the frame to select.\n\
|
||||
It can be a stack frame number or the address of the frame.\n");
|
||||
|
||||
add_com ("backtrace", class_stack, backtrace_command,
|
||||
"Print backtrace of all stack frames, or innermost COUNT frames.\n\
|
||||
With a negative argument, print outermost -COUNT frames.");
|
||||
|
|
|
@ -120,5 +120,10 @@ taken for the arguments. */
|
|||
into a call sequence of the above form stored at DUMMYNAME. */
|
||||
|
||||
#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
|
||||
{ *(int *)((char *) dummyname + 20) = nargs * 4; \
|
||||
*(int *)((char *) dummyname + 14) = fun; }
|
||||
{ int temp; \
|
||||
temp = nargs * 4; \
|
||||
SWAP_TARGET_AND_HOST (temp, 4); \
|
||||
bcopy ((char *)&temp, (char *)(dummyname) + 20, 4); \
|
||||
temp = fun; \
|
||||
SWAP_TARGET_AND_HOST (temp, 4); \
|
||||
bcopy ((char *)&temp, (char *)(dummyname) + 14, 4); }
|
||||
|
|
Loading…
Reference in a new issue