Debian patch courtesy of the Debian ltrace maintainer Juan Cespedes --- ltrace-0.5.3.orig/sysdeps/linux-gnu/breakpoint.c +++ ltrace-0.5.3/sysdeps/linux-gnu/breakpoint.c @@ -6,8 +6,6 @@ #include "common.h" #include "arch.h" -static unsigned char break_insn[] = BREAKPOINT_VALUE; - #ifdef ARCH_HAVE_ENABLE_BREAKPOINT extern void arch_enable_breakpoint(pid_t, Breakpoint *); void @@ -20,6 +18,9 @@ arch_enable_breakpoint(pid, sbp); } #else + +static unsigned char break_insn[] = BREAKPOINT_VALUE; + void enable_breakpoint(pid_t pid, Breakpoint *sbp) { unsigned int i, j; --- ltrace-0.5.3.orig/sysdeps/linux-gnu/arm/breakpoint.c +++ ltrace-0.5.3/sysdeps/linux-gnu/arm/breakpoint.c @@ -24,10 +24,7 @@ #include #include "config.h" -#include "arch.h" -#include "options.h" -#include "output.h" -#include "debug.h" +#include "common.h" void arch_enable_breakpoint(pid_t pid, Breakpoint *sbp) { @@ -59,8 +56,6 @@ void arch_disable_breakpoint(pid_t pid, const Breakpoint *sbp) { unsigned int i, j; - const unsigned char break_insn[] = BREAKPOINT_VALUE; - const unsigned char thumb_break_insn[] = THUMB_BREAKPOINT_VALUE; debug(1, "arch_disable_breakpoint(%d,%p)", pid, sbp->addr); --- ltrace-0.5.3.orig/sysdeps/linux-gnu/ia64/plt.c +++ ltrace-0.5.3/sysdeps/linux-gnu/ia64/plt.c @@ -1,4 +1,5 @@ #include +#include #include "common.h" /* A bundle is 128 bits */ --- ltrace-0.5.3.orig/sysdeps/linux-gnu/ia64/breakpoint.c +++ ltrace-0.5.3/sysdeps/linux-gnu/ia64/breakpoint.c @@ -6,10 +6,7 @@ #include #include -#include "arch.h" -#include "options.h" -#include "output.h" -#include "debug.h" +#include "common.h" static long long extract_bit_field(char *bundle, int from, int len) { --- ltrace-0.5.3.orig/sysdeps/linux-gnu/ia64/regs.c +++ ltrace-0.5.3/sysdeps/linux-gnu/ia64/regs.c @@ -7,7 +7,6 @@ #include #include -#include "debug.h" #include "common.h" void *