Bug#618562: syscall in libc6 is broken for __NR_fanotify_mark
On Sun, Mar 27, 2011 at 05:13:31AM +0000, Chen Jie wrote:
> Hi Aurelien,
>
> Got it, thanks for the explanation.
>
> Just curious, does the same problem exist on X86-64(64bit kernel + 32 bit
> userland)? If yes, should the caller of syscall() need to split each 64bit
> argument into two 32bit arguments?
>
It is not something which depends on the running kernel, but the problem
doesn't exists on x86 given the ABI doesn't requires 64-bit arguments to
be aligned. I have been able to reproduce the problem on powerpc and arm
though (they both require 64-bit values to be aligned).
In any case on 32-bit machines, splitting 64-bit arguments into two
32-bit arguments should always work, provided that the endianness is
correctly taken into account.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
Reply to: