--- 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 *