2004-08-17 17:34:28 +02:00
|
|
|
#include "unwind_i.h"
|
|
|
|
|
|
|
|
static inline int
|
|
|
|
is_local_addr_space (unw_addr_space_t as)
|
|
|
|
{
|
|
|
|
extern unw_addr_space_t _ULhppa_local_addr_space;
|
|
|
|
|
|
|
|
return (as == _Uhppa_local_addr_space
|
|
|
|
#ifndef UNW_REMOTE_ONLY
|
|
|
|
|| as == _ULhppa_local_addr_space
|
|
|
|
#endif
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
HIDDEN int
|
|
|
|
tdep_find_proc_info (unw_addr_space_t as, unw_word_t ip,
|
|
|
|
unw_proc_info_t *pi, int need_unwind_info, void *arg)
|
|
|
|
{
|
|
|
|
printf ("%s: begging to get implemented...\n", __FUNCTION__);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
HIDDEN int
|
|
|
|
tdep_search_unwind_table (unw_addr_space_t as, unw_word_t ip,
|
|
|
|
unw_dyn_info_t *di,
|
|
|
|
unw_proc_info_t *pi, int need_unwind_info, void *arg)
|
|
|
|
{
|
|
|
|
printf ("%s: the biggest beggar of them all...\n", __FUNCTION__);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
HIDDEN void
|
|
|
|
tdep_put_unwind_info (unw_addr_space_t as, unw_proc_info_t *pi, void *arg)
|
|
|
|
{
|
|
|
|
if (!pi->unwind_info)
|
|
|
|
return;
|
|
|
|
|
|
|
|
if (!is_local_addr_space (as))
|
|
|
|
{
|
|
|
|
free (pi->unwind_info);
|
|
|
|
pi->unwind_info = NULL;
|
|
|
|
}
|
|
|
|
}
|