Index: libunwind/src/ppc32/get_func_addr.c =================================================================== --- libunwind.orig/src/ppc32/get_func_addr.c +++ libunwind/src/ppc32/get_func_addr.c @@ -28,18 +28,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE #include "unwind_i.h" int -tdep_get_func_addr (unw_addr_space_t as, unw_word_t addr, - unw_word_t *entry_point) +tdep_get_func_addr (unw_addr_space_t as, unw_word_t symbol_val_addr, + unw_word_t *real_func_addr) { - unw_accessors_t *a; - int ret; - - a = unw_get_accessors (as); - /* Entry-point is stored in the 1st word of the function descriptor. - In case that changes in the future, we'd have to update the line - below and read the word at addr + offset: */ - ret = (*a->access_mem) (as, addr, entry_point, 0, NULL); - if (ret < 0) - return ret; + *real_func_addr = symbol_val_addr; return 0; } Index: libunwind/configure.in =================================================================== --- libunwind.orig/configure.in +++ libunwind/configure.in @@ -95,6 +95,12 @@ AM_CONDITIONAL(ARCH_PPC64, test x$target AM_CONDITIONAL(OS_LINUX, expr x$target_os : xlinux >/dev/null) AM_CONDITIONAL(OS_HPUX, expr x$target_os : xhpux >/dev/null) +if test x$target_arch = xppc64; then + libdir='${exec_prefix}/lib64' + AC_MSG_NOTICE([PowerPC64 detected, lib will be installed ${libdir}]); + AC_SUBST([libdir]) +fi + if test x$target_arch != x$build_arch; then CPPFLAGS="${CPPFLAGS} -DUNW_REMOTE_ONLY" fi