C calls to syscall like 'syscall(351, 1, 2, 3, 4, 5, 6);' resulted in
the following ftrace: 'sys_enter: NR 351 (1, 2, 3, 4, 5, 5)'.
This is because the syscall function failed to copy the 6th argument
into the appropriate register. In combination with the function calling
convention this meant that the 5th argument was repeated into the 6th.
---
libc/sysdeps/linux/powerpc/syscall.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/libc/sysdeps/linux/powerpc/syscall.S
b/libc/sysdeps/linux/powerpc/syscall.S
index 3cb048a..248df69 100644
--- a/libc/sysdeps/linux/powerpc/syscall.S
+++ b/libc/sysdeps/linux/powerpc/syscall.S
@@ -29,6 +29,7 @@ syscall:
mr 5,6
mr 6,7
mr 7,8
+ mr 8,9
sc
bnslr;
--
1.8.5.2
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc