* frame.h, symtab.h, findvar.c (read_var_value): Change basereg

support to use LOC_BASEREG rather than SYMBOL_BASEREG_VALID.
	* dwarfread.c: Use LOC_BASEREG where appropriate.
	* Various: Support LOC_BASEREG and LOC_BASEREG_ARG.
This commit is contained in:
Jim Kingdon
1993-08-24 21:38:24 +00:00
parent fb2fc3b6b5
commit a1c8d76ef8
8 changed files with 66 additions and 80 deletions

View File

@@ -927,50 +927,36 @@ address_info (exp, from_tty)
printf ("an argument in register %s", reg_names[val]);
break;
case LOC_REGPARM_ADDR:
printf ("address of an argument in register %s", reg_names[val]);
break;
case LOC_REGPARM_ADDR:
printf ("address of 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);
}
printf ("an argument at offset %ld", val);
break;
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);
}
printf ("an argument at frame offset %ld", val);
break;
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);
}
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_BASEREG:
printf ("a variable at offset %ld from register %s",
val, reg_names[basereg]);
break;
case LOC_BASEREG_ARG:
printf ("an argument at offset %ld from register %s",
val, reg_names[basereg]);
break;
case LOC_TYPEDEF:
printf ("a typedef");
break;
@@ -1494,6 +1480,8 @@ print_frame_args (func, fi, num, stream)
case LOC_REGPARM:
case LOC_REGPARM_ADDR:
case LOC_LOCAL_ARG:
case LOC_BASEREG:
case LOC_BASEREG_ARG:
break;
/* Other types of symbols we just skip over. */