ltrace/ltrace-0.6.0-ppc-shift.patch
2011-11-25 15:16:39 +01:00

22 lines
526 B
Diff

diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
index 980d028..668f63d 100644
--- a/sysdeps/linux-gnu/ppc/plt.c
+++ b/sysdeps/linux-gnu/ppc/plt.c
@@ -44,12 +44,16 @@ sym2addr(Process *proc, struct library_symbol *sym) {
pt_ret = ptrace(PTRACE_PEEKTEXT, proc->pid, addr, 0);
+#if SIZEOF_LONG == 8
if (proc->mask_32bit) {
// Assume big-endian.
addr = (void *)((pt_ret >> 32) & 0xffffffff);
} else {
addr = (void *)pt_ret;
}
+#else
+ addr = (void *)pt_ret;
+#endif
return addr;
}