/*
- * Copyright (c) 1983 Regents of the University of California.
+ * Copyright (c) 1983, 1998 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted
*/
#include "gprof.h"
#include "cg_arcs.h"
-#include "core.h"
+#include "corefile.h"
#include "hist.h"
#include "symtab.h"
a; /* any format */
struct
{
- signed disp:21;
+ int disp:21;
unsigned ra:5;
unsigned op_code:6;
}
b; /* branch format */
struct
{
- signed hint:14;
+ int hint:14;
unsigned func:2;
unsigned rb:5;
unsigned ra:5;
}
j; /* jump format */
}
-Instruction;
+alpha_Instruction;
static Sym indirect_child;
* potentially call integer division routines, for example.)
*/
void
-find_call (parent, p_lowpc, p_highpc)
+alpha_find_call (parent, p_lowpc, p_highpc)
Sym *parent;
bfd_vma p_lowpc;
bfd_vma p_highpc;
{
static bfd_vma delta = 0;
bfd_vma dest_pc;
- Instruction *pc;
+ alpha_Instruction *pc;
Sym *child;
if (!delta)
delta = (bfd_vma) core_text_space - core_text_sect->vma;
sym_init (&indirect_child);
- indirect_child.name = "<indirect child>";
+ indirect_child.name = _("<indirect child>");
indirect_child.cg.prop.fract = 1.0;
indirect_child.cg.cyc.head = &indirect_child;
- } /* if */
+ }
if (!core_text_space)
{
return;
- } /* if */
+ }
if (p_lowpc < s_lowpc)
{
p_lowpc = s_lowpc;
- } /* if */
+ }
if (p_highpc > s_highpc)
{
p_highpc = s_highpc;
- } /* if */
- DBG (CALLDEBUG, printf ("[find_call] %s: 0x%lx to 0x%lx\n",
+ }
+ DBG (CALLDEBUG, printf (_("[find_call] %s: 0x%lx to 0x%lx\n"),
parent->name, p_lowpc, p_highpc));
- for (pc = (Instruction *) (p_lowpc + delta);
- pc < (Instruction *) (p_highpc + delta);
+ for (pc = (alpha_Instruction *) (p_lowpc + delta);
+ pc < (alpha_Instruction *) (p_highpc + delta);
++pc)
{
switch (pc->a.op_code)
|| pc->j.func == Jxx_FUNC_JSR_COROUTINE)
{
DBG (CALLDEBUG,
- printf ("[find_call] 0x%lx: jsr%s <indirect_child>\n",
+ printf (_("[find_call] 0x%lx: jsr%s <indirect_child>\n"),
(bfd_vma) pc - delta,
pc->j.func == Jxx_FUNC_JSR ? "" : "_coroutine"));
arc_add (parent, &indirect_child, 0);
- } /* if */
+ }
break;
case OP_BSR:
DBG (CALLDEBUG,
- printf ("[find_call] 0x%lx: bsr", (bfd_vma) pc - delta));
+ printf (_("[find_call] 0x%lx: bsr"), (bfd_vma) pc - delta));
/*
* Regular PC relative addressing. Check that this is the
* address of a function. The linker sometimes redirects
/* a hit: */
arc_add (parent, child, 0);
continue;
- } /* if */
- } /* if */
+ }
+ }
/*
* Something funny going on.
*/
default:
break;
- } /* switch */
- } /* for */
-} /* find_call */
-/*** end of alpha.c ***/
+ }
+ }
+}