Re: [PATCH 2/2] proc: test /proc/self/syscall

From: Naresh Kamboju
Date: Fri May 18 2018 - 03:58:24 EST


On 15 May 2018 at 01:33, Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
> On Tue, May 15, 2018 at 12:34:18AM +0530, Naresh Kamboju wrote:
>> Hi Alexey,
>>
>> On 27 February 2018 at 02:51, Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
>> > Read from /proc/self/syscall should yield read system call and correct
>> > args in the output as current is reading /proc/self/syscall.
>>
>> Is this test expected to work on arm32 bit architecture ?
>> I have tested on arm32 devices and it returns 1 and reported as FAIL.
>>
>> Strace output:
>> <snip>
>> munmap(0xb6f4a000, 13514) = 0
>> open("/proc/self/syscall", O_RDONLY) = 3
>> read(3, "3 0x3 0xbeacfbe0 0x40 0x3 0xbeac"..., 64) = 64
>
> Yes! Obviously, it was tested on x86_64 only.
>
> arch/arm/tools/syscall.tbl shows read is #3
> and pointer looks 32-bit, so what's wrong?

Please ignore the strace output because test return 0 for strace process.

Here is the modified test case with more prints, which shows test case failed
due to third condition is true.
strncmp() return 3.
Is strncmp() implementation different on 32 and 64 bit architecture in glibc ?

Test case and output:
https://pastebin.com/grL2TUzs

- Naresh