]> granicus.if.org Git - strace/commit
ARM EABI: fix 64-bit syscall's arguments decoding
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 28 May 2011 20:47:43 +0000 (20:47 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 30 May 2011 21:14:55 +0000 (21:14 +0000)
commit7a5b08fb26dcfb343e2c89567bf139af252a95fd
tree425fc65f5553823f48651979fff99c63399e0f7f
parent3087dd678088754dddc0c801008e22ca2b7b9a37
ARM EABI: fix 64-bit syscall's arguments decoding

ARM OABI and ARM EABI have different function parameters passing rules.
With EABI, 64-bit function parameters passed in registers are aligned to
an even-numbered register instead of using the next available pair, see
http://lkml.org/lkml/2006/1/12/175
This rule also applies to syscall's arguments.

* linux/arm/syscallent.h (pread, pwrite, truncate64, ftruncate64,
readahead, preadv, pwritev): Fix number of arguments.
* util.c (printllval): Align 64bit argument to 64bit boundary on
__ARM_EABI__.

Reported-by: Damir Shayhutdinov <damir@altlinux.org>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
linux/arm/syscallent.h
util.c