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;
}