unwind-ia64.c (_Unwind_GetCFA): New.

* config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
        (_Unwind_FindEnclosingFunction): Implement.

From-SVN: r68168
This commit is contained in:
Richard Henderson 2003-06-18 15:53:06 -07:00 committed by Richard Henderson
parent a2f8629a69
commit 61193e7bb1
2 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2003-06-18 Richard Henderson <rth@redhat.com>
* config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
(_Unwind_FindEnclosingFunction): Implement.
2003-06-18 Kazu Hirata <kazu@cs.umass.edu>
* toplev.c (rest_of_handle_sched): Hide the entire function if

View File

@ -1647,7 +1647,24 @@ _Unwind_GetRegionStart (struct _Unwind_Context *context)
void *
_Unwind_FindEnclosingFunction (void *pc)
{
return NULL;
struct unw_table_entry *ent;
unsigned long segment_base, gp;
ent = _Unwind_FindTableEntry (pc, &segment_base, &gp);
if (ent == NULL)
return NULL;
else
return (void *)(segment_base + ent->start_offset);
}
/* Get the value of the CFA as saved in CONTEXT. In GCC/Dwarf2 parlance,
the CFA is the value of the stack pointer on entry; In IA-64 unwind
parlance, this is the PSP. */
_Unwind_Word
_Unwind_GetCFA (struct _Unwind_Context *context)
{
return (_Unwind_Ptr) context->psp;
}