--- ltrace-0.7.3.orig/configure.ac +++ ltrace-0.7.3/configure.ac @@ -43,7 +43,7 @@ arm*|sa110) HOST_CPU="arm" ;; cris*) HOST_CPU="cris" ;; mips*) HOST_CPU="mips" ;; - powerpc|powerpc64) HOST_CPU="ppc" ;; + powerpc|powerpc64|powerpc64le) HOST_CPU="ppc" ;; sun4u|sparc64) HOST_CPU="sparc" ;; s390x) HOST_CPU="s390" ;; i?86|x86_64) HOST_CPU="x86" ;; @@ -159,7 +159,7 @@ arm*|sa110) UNWIND_ARCH="arm" ;; i?86) UNWIND_ARCH="x86" ;; powerpc) UNWIND_ARCH="ppc32" ;; - powerpc64) UNWIND_ARCH="ppc64" ;; + powerpc64|powerpc64le) UNWIND_ARCH="ppc64" ;; mips*) UNWIND_ARCH="mips" ;; *) UNWIND_ARCH="${host_cpu}" ;; esac --- ltrace-0.7.3.orig/sysdeps/linux-gnu/ppc/ptrace.h +++ ltrace-0.7.3/sysdeps/linux-gnu/ppc/ptrace.h @@ -18,4 +18,5 @@ * 02110-1301 USA */ +#include <asm/ptrace.h> #include <sys/ptrace.h> --- ltrace-0.7.3.orig/sysdeps/linux-gnu/ppc/regs.c +++ ltrace-0.7.3/sysdeps/linux-gnu/ppc/regs.c @@ -26,7 +26,9 @@ #include <sys/ptrace.h> #include <asm/ptrace.h> #include <errno.h> +#ifdef HAVE_ERROR_H #include <error.h> +#endif #include "proc.h" #include "common.h" @@ -47,8 +49,11 @@ void set_instruction_pointer(Process *proc, void *addr) { - if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0) - error(0, errno, "set_instruction_pointer"); + if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0){ + strerror(0, errno, "set_instruction_pointer"); + report_global_error("%s: set_instruction_pointer", + strerror(errno)); + } } void *