Minor bug fixes from BSD Net2 gdb:

* blockframe.c (get_prev_frame_info):  If FRAME_CHAIN_COMBINE
returns 0, there is no previous frame.
* breakpoint.c (commands_command):  If !from_tty, don't call
input_from_terminal_p().
* dbxread.c (record_misc_function):  Speed up slightly.
(compare_psymbols):  Ditto.
* infcmd.c (do_registers_info):  Take a second argument to
determine whether to print float registers.  "info registers"
does not do so anymore.  "info all-registers" does, now.
* mips-tdep.c, pyr-tdep.c (xxx_do_registers_info):  Take second
arg and ignore it.
* tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO):  Pass second arg.
* inflow.c (initialize_inflow):  Set tflags_ours correctly.
This commit is contained in:
John Gilmore 1991-08-19 20:54:03 +00:00
parent 6724ff46c8
commit 361bf6eee5
4 changed files with 17 additions and 12 deletions

View File

@ -8,19 +8,19 @@
This file is part of GDB.
GDB is free software; you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
GDB is distributed in the hope that it will be useful,
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GDB; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* FIXME: Can a MIPS porter/tester determine which of these include
files we still need? -- gnu@cygnus.com */
@ -295,7 +295,8 @@ FRAME_ADDR mips_frame_chain(frame)
else
{ /* This hack depends on the internals of __start. */
/* We also assume the breakpoints are *not* inserted */
if (read_memory_integer (saved_pc + 8, 4) & 0xFC00003F == 0xD)
if (saved_pc == 0
|| read_memory_integer (saved_pc + 8, 4) & 0xFC00003F == 0xD)
return 0; /* break */
}
proc_desc = find_proc_desc(saved_pc, frame);
@ -579,8 +580,10 @@ static mips_print_register(regnum, all)
}
}
mips_do_registers_info(regnum)
/* Replacement for generic do_registers_info. fpregs is currently ignored. */
mips_do_registers_info (regnum, fpregs)
int regnum;
int fpregs;
{
if (regnum != -1) {
mips_print_register (regnum, 0);

View File

@ -46,10 +46,12 @@ pyr_print_registers(reg_buf, regnum)
"usp", usp);
}
/* Print the register regnum, or all registers if regnum is -1. */
/* Print the register regnum, or all registers if regnum is -1.
fpregs is currently ignored. */
pyr_do_registers_info (regnum)
pyr_do_registers_info (regnum, fpregs)
int regnum;
int fpregs;
{
/* On a pyr, we know a virtual register can always fit in an long.
Here (and elsewhere) we take advantage of that. Yuk. */

View File

@ -134,7 +134,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Define DO_REGISTERS_INFO() to do machine-specific formatting
of register dumps. */
#define DO_REGISTERS_INFO(_regnum) mips_do_registers_info(_regnum)
#define DO_REGISTERS_INFO(_regnum, fp) mips_do_registers_info(_regnum, fp)
#define REGISTER_U_ADDR(addr, blockend, regno) \
if (blockend == 0) { \

View File

@ -181,7 +181,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Define DO_REGISTERS_INFO() to do machine-specific formatting
of register dumps. */
#define DO_REGISTERS_INFO(_regnum) pyr_do_registers_info(_regnum)
#define DO_REGISTERS_INFO(_regnum, fp) pyr_do_registers_info(_regnum, fp)
/* need this so we can find the global registers: they never get saved. */
extern unsigned int global_reg_offset;