/* Convex stuff for GDB.
- Copyright (C) 1990 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1991 Free Software Foundation, Inc.
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. */
-#include <stdio.h>
#include "defs.h"
-#include "param.h"
#include "command.h"
#include "symtab.h"
#include "value.h"
if (!strcmp (name, "vl"))
{
- val = value_from_long (builtin_type_int,
+ val = value_from_longest (builtin_type_int,
(LONGEST) *read_vector_register_1 (VL_REGNUM));
}
else if (!strcmp (name, "vs"))
{
- val = value_from_long (builtin_type_int,
+ val = value_from_longest (builtin_type_int,
(LONGEST) *read_vector_register_1 (VS_REGNUM));
}
else if (!strcmp (name, "vm"))
}
else if (name[0] == 'c')
- val = value_from_long (builtin_type_int,
+ val = value_from_longest (builtin_type_int,
read_comm_register (atoi (&name[1])));
else if (name[0] == 'C')
- val = value_from_long (builtin_type_long_long,
+ val = value_from_longest (builtin_type_long_long,
read_comm_register (atoi (&name[1])));
VALUE_LVAL (val) = lval_internalvar;
{0, 0, 0, 0, subsig4, subsig5, 0, 0, subsig8, 0, subsig10, subsig11, 0};
int i;
- char *p = signo < NSIG ? sys_siglist[signo] : "unknown";
+ char *p;
+ if ((p = strsignal (signo)) == NULL)
+ p = "unknown";
if (signo >= (sizeof subsig_list / sizeof *subsig_list)
|| !subsig_list[signo])
return p;
set_current_frame (create_new_frame (read_register (FP_REGNUM),
read_pc ()));
select_frame (get_current_frame (), 0);
- print_sel_frame (1);
+ print_stack_frame (selected_frame, selected_frame_level, -1);
}
/* Here on CONT command; gdb's dispatch address is changed to come here.
if (arg)
{
- if (sscanf (arg, "0x%x", ®num) == 1
- || sscanf (arg, "%d", ®num) == 1)
- {
- if (regnum > 0)
- regnum &= ~0x8000;
- }
- else if (sscanf (arg, "$c%d", ®num) == 1)
+ if (sscanf (arg, "$c%d", ®num) == 1) {
;
- else if (sscanf (arg, "$C%d", ®num) == 1)
+ } else if (sscanf (arg, "$C%d", ®num) == 1) {
;
- else
+ } else {
regnum = parse_and_eval_address (arg);
+ if (regnum > 0)
+ regnum &= ~0x8000;
+ }
if (regnum >= 64)
error ("%s: invalid register name.", arg);