mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-27 09:37:38 +01:00
(unw_get_proc_info): Implement it based on dwarf_make_proc_info().
(Logical change 1.290)
This commit is contained in:
parent
7ac9665fd3
commit
0f27732d35
1 changed files with 14 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
||||||
/* libunwind - a platform-independent unwind library
|
/* libunwind - a platform-independent unwind library
|
||||||
Copyright (C) 2003 Hewlett-Packard Co
|
Copyright (C) 2004 Hewlett-Packard Co
|
||||||
Contributed by ...
|
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
||||||
|
|
||||||
This file is part of libunwind.
|
This file is part of libunwind.
|
||||||
|
|
||||||
|
@ -28,15 +28,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
PROTECTED int
|
PROTECTED int
|
||||||
unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
|
unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
|
||||||
{
|
{
|
||||||
#if 0
|
|
||||||
struct cursor *c = (struct cursor *) cursor;
|
struct cursor *c = (struct cursor *) cursor;
|
||||||
int ret;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
printf ("%s: implement me, please\n", __FUNCTION__);
|
if (dwarf_make_proc_info (&c->dwarf) < 0)
|
||||||
#if 0
|
{
|
||||||
if ((ret = ia64_make_proc_info (c)) < 0)
|
/* On hppa, some key routines such as _start() and _dl_start()
|
||||||
return ret;
|
are missing DWARF unwind info. We don't want to fail in that
|
||||||
#endif
|
case, because those frames are uninteresting and just mark
|
||||||
|
the end of the frame-chain anyhow. */
|
||||||
|
memset (pi, 0, sizeof (*pi));
|
||||||
|
pi->start_ip = c->dwarf.ip;
|
||||||
|
pi->end_ip = c->dwarf.ip + 4;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
*pi = c->dwarf.pi;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue