/* Target-machine dependent code for the AMD 29000
- Copyright (C) 1990 Free Software Foundation, Inc.
+ Copyright 1990, 1991 Free Software Foundation, Inc.
Contributed by Cygnus Support. Written by Jim Kingdon.
This file is part of GDB.
#include "defs.h"
#include "gdbcore.h"
-#include <stdio.h>
#include "frame.h"
#include "value.h"
-#include "param.h"
#include "symtab.h"
#include "inferior.h"
+extern CORE_ADDR text_start; /* FIXME, kludge... */
+
/* Structure to hold cached info about function prologues. */
struct prologue_info
{
{
long insn;
CORE_ADDR p = pc;
- int misc_index = find_pc_misc_function (pc);
+ struct minimal_symbol *msymbol = lookup_minimal_symbol_by_pc (pc);
struct prologue_info *mi = 0;
- if (misc_index >= 0)
- mi = (struct prologue_info *)misc_function_vector[misc_index].misc_info;
+ if (msymbol != NULL)
+ mi = (struct prologue_info *) msymbol -> misc_info;
if (mi != 0)
{
}
done:
- if (misc_index >= 0)
+ if (msymbol != NULL)
{
if (mi == 0)
{
/* Add a new cache entry. */
mi = (struct prologue_info *)xmalloc (sizeof (struct prologue_info));
- misc_function_vector[misc_index].misc_info = (char *)mi;
+ msymbol -> misc_info = (char *)mi;
mi->rsize_valid = 0;
mi->msize_valid = 0;
mi->mfp_valid = 0;
/* Assume innermost frame. May produce strange results for "info frame"
but there isn't any way to tell the difference. */
init_frame_info (1, fci);
- else
- /* We're in get_prev_frame_info.
- Take care of everything in init_frame_pc. */
- ;
+ else {
+ /* We're in get_prev_frame_info.
+ Take care of everything in init_frame_pc. */
+ ;
+ }
}
void
if (lval != NULL)
*lval = lval_memory;
if (actual_mem_addr != NULL)
- *actual_mem_addr == memaddr;
+ *actual_mem_addr = memaddr;
}
}
if (myaddr != NULL)
write_memory (memaddr, myaddr, 4);
if (actual_mem_addr != NULL)
- *actual_mem_addr == memaddr;
+ *actual_mem_addr = memaddr;
}
}
\f
write_register
(SR_REGNUM (i + 128),
read_register (LR0_REGNUM + DUMMY_ARG / 4 + i));
- for (i = 0; i < DUMMY_SAVE_GR96; ++i)
+ for (i = 0; i < DUMMY_SAVE_GREGS; ++i)
write_register
- (GR96_REGNUM + i,
+ (RETURN_REGNUM + i,
read_register (LR0_REGNUM + DUMMY_ARG / 4 + DUMMY_SAVE_SR128 + i));
}
for (i = 0; i < DUMMY_SAVE_SR128; ++i)
write_register (LR0_REGNUM + DUMMY_ARG / 4 + i,
read_register (SR_REGNUM (i + 128)));
- for (i = 0; i < DUMMY_SAVE_GR96; ++i)
+ for (i = 0; i < DUMMY_SAVE_GREGS; ++i)
write_register (LR0_REGNUM + DUMMY_ARG / 4 + DUMMY_SAVE_SR128 + i,
- read_register (GR96_REGNUM + i));
+ read_register (RETURN_REGNUM + i));
}