mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-17 13:47:37 +01:00
(getunwind): Define only if HAVE_GETUNWIND is not defined.
(_Uia64_glibc_acquire_unwind_info): Correct typo: dl_iterate_phdr() is successful only if it returns a positive value. (Logical change 1.18)
This commit is contained in:
parent
c56126ea7b
commit
c845317889
1 changed files with 4 additions and 4 deletions
|
@ -40,11 +40,11 @@ License. */
|
||||||
# error You need GLIBC 2.2.4 or later on IA-64 Linux
|
# error You need GLIBC 2.2.4 or later on IA-64 Linux
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
#ifdef HAVE_GETUNWIND
|
||||||
|
|
||||||
extern unsigned long getunwind (void *buf, size_t len);
|
extern unsigned long getunwind (void *buf, size_t len);
|
||||||
|
|
||||||
#else
|
#else /* HAVE_GETUNWIND */
|
||||||
|
|
||||||
/* XXX fix me */
|
/* XXX fix me */
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ getunwind (void *buf, size_t len)
|
||||||
return syscall (SYS_getunwind, buf, len);
|
return syscall (SYS_getunwind, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif /* HAVE_GETUNWIND */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
get_kernel_table (void *ptr)
|
get_kernel_table (void *ptr)
|
||||||
|
@ -187,7 +187,7 @@ _Uia64_glibc_acquire_unwind_info (unw_word_t ip, void *info, void *arg)
|
||||||
{
|
{
|
||||||
((unw_ia64_table_t *) info)->segbase = ip; /* this is cheap... */
|
((unw_ia64_table_t *) info)->segbase = ip; /* this is cheap... */
|
||||||
|
|
||||||
if (dl_iterate_phdr (callback, info) >= 0)
|
if (dl_iterate_phdr (callback, info) > 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return get_kernel_table (info);
|
return get_kernel_table (info);
|
||||||
|
|
Loading…
Reference in a new issue