* [Ask for HELP] Should it support ustat syscall for arm64
@ 2014-12-29 2:58 Wang Weidong
2014-12-29 8:15 ` Wei Xu
0 siblings, 1 reply; 4+ messages in thread
From: Wang Weidong @ 2014-12-29 2:58 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
As I ran LTP testcase ustat01 and ustat02 on Arm64, and got the result:
ustat01 1 TFAIL : ustat(2) failed and setthe errno to 38 : Function not implemented
ustat02 1 TFAIL : ustat(2) failed to produce expected error; 22, errno: EINVAL:
TEST_ERRNO=ENOSYS(38): Function not implemented
ustat02 2 TFAIL : ustat(2) failed to produce expected error; 14, errno: EFAULT:
TEST_ERRNO=ENOSYS(38): Function not implemented
-----------------------
I found the glibc and kernel's implementation:
The glibc version is 2.19, kernel is 3.16.
The glibc will use the sysdeps/unix/sysv/linux/generic/ustat.c
But it only return ENOSYS.
The kernel doesn't support the NR_ustat syscall.
So I did that:
1. In glibc:
I changed the sysdeps/unix/sysv/linux/generic/ustat.c:
-#include <errno.h>
-#include <sys/ustat.h>
+#define __ARCH_WANT_SYSCALL_DEPRECATED
+#include <sysdeps/unix/sysv/linux/ustat.c>
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-/* This deprecated syscall is no longer used (replaced with fstat). */
-int
-ustat (dev_t dev, struct ustat *ubuf)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (ustat)
2. In Kernel:
I changed the arch/arm64/include/uapi/asm/unistd.h:
+#define __ARCH_WANT_SYSCALL_DEPRECATED
+#define __ARCH_WANT_SYS_FORK
+#define __ARCH_WANT_SYS_VFORK
After the changing, These cases will Pass.
So, Does it need to support ustat syscall for arm64?
Regards,
Wang
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Ask for HELP] Should it support ustat syscall for arm64
2014-12-29 2:58 [Ask for HELP] Should it support ustat syscall for arm64 Wang Weidong
@ 2014-12-29 8:15 ` Wei Xu
2015-01-05 10:53 ` Frediano Ziglio
0 siblings, 1 reply; 4+ messages in thread
From: Wei Xu @ 2014-12-29 8:15 UTC (permalink / raw)
To: linux-arm-kernel
On 2014/12/29 10:58, Wang Weidong wrote:
> Hi,
>
> As I ran LTP testcase ustat01 and ustat02 on Arm64, and got the result:
>
> ustat01 1 TFAIL : ustat(2) failed and setthe errno to 38 : Function not implemented
>
> ustat02 1 TFAIL : ustat(2) failed to produce expected error; 22, errno: EINVAL:
> TEST_ERRNO=ENOSYS(38): Function not implemented
> ustat02 2 TFAIL : ustat(2) failed to produce expected error; 14, errno: EFAULT:
> TEST_ERRNO=ENOSYS(38): Function not implemented
>
> -----------------------
>
> I found the glibc and kernel's implementation:
> The glibc version is 2.19, kernel is 3.16.
>
> The glibc will use the sysdeps/unix/sysv/linux/generic/ustat.c
> But it only return ENOSYS.
>
> The kernel doesn't support the NR_ustat syscall.
>
> So I did that:
> 1. In glibc:
> I changed the sysdeps/unix/sysv/linux/generic/ustat.c:
>
> -#include <errno.h>
> -#include <sys/ustat.h>
> +#define __ARCH_WANT_SYSCALL_DEPRECATED
> +#include <sysdeps/unix/sysv/linux/ustat.c>
>
> -#include <sysdep.h>
> -#include <sys/syscall.h>
> -
> -/* This deprecated syscall is no longer used (replaced with fstat). */
> -int
> -ustat (dev_t dev, struct ustat *ubuf)
> -{
> - __set_errno (ENOSYS);
> - return -1;
> -}
> -stub_warning (ustat)
>
> 2. In Kernel:
> I changed the arch/arm64/include/uapi/asm/unistd.h:
>
> +#define __ARCH_WANT_SYSCALL_DEPRECATED
> +#define __ARCH_WANT_SYS_FORK
> +#define __ARCH_WANT_SYS_VFORK
>
> After the changing, These cases will Pass.
Hi Weidong,
> So, Does it need to support ustat syscall for arm64?
No, on arm64 the ustat syscall is obsolete.
You could find syscalls from "include/uapi/asm-generic/unistd.h".
And on arm64, there is no define for "__ARCH_WANT_SYSCALL_DEPRECATED".
So there is no support for the syscalls covered by the macro above.
Best Regards,
Wei
> Regards,
> Wang
>
> _______________________________________________
> linuxarm mailing list
> linuxarm at huawei.com
> http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm
>
> .
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Ask for HELP] Should it support ustat syscall for arm64
2014-12-29 8:15 ` Wei Xu
@ 2015-01-05 10:53 ` Frediano Ziglio
2015-01-07 7:09 ` Wang Weidong
0 siblings, 1 reply; 4+ messages in thread
From: Frediano Ziglio @ 2015-01-05 10:53 UTC (permalink / raw)
To: linux-arm-kernel
> On 2014/12/29 10:58, Wang Weidong wrote:
> > Hi,
> >
> > As I ran LTP testcase ustat01 and ustat02 on Arm64, and got the
> result:
> >
> > ustat01 1 TFAIL : ustat(2) failed and setthe errno to 38 :
> Function not implemented
> >
> > ustat02 1 TFAIL : ustat(2) failed to produce expected error;
> 22, errno: EINVAL:
> > TEST_ERRNO=ENOSYS(38): Function not
> implemented
> > ustat02 2 TFAIL : ustat(2) failed to produce expected error;
> 14, errno: EFAULT:
> > TEST_ERRNO=ENOSYS(38): Function not
> > implemented
> >
> > -----------------------
> >
> > I found the glibc and kernel's implementation:
> > The glibc version is 2.19, kernel is 3.16.
> >
> > The glibc will use the sysdeps/unix/sysv/linux/generic/ustat.c
> > But it only return ENOSYS.
> >
> > The kernel doesn't support the NR_ustat syscall.
> >
> > So I did that:
> > 1. In glibc:
> > I changed the sysdeps/unix/sysv/linux/generic/ustat.c:
> >
> > -#include <errno.h>
> > -#include <sys/ustat.h>
> > +#define __ARCH_WANT_SYSCALL_DEPRECATED #include
> > +<sysdeps/unix/sysv/linux/ustat.c>
> >
> > -#include <sysdep.h>
> > -#include <sys/syscall.h>
> > -
> > -/* This deprecated syscall is no longer used (replaced with fstat).
> > */ -int -ustat (dev_t dev, struct ustat *ubuf) -{
> > - __set_errno (ENOSYS);
> > - return -1;
> > -}
> > -stub_warning (ustat)
> >
> > 2. In Kernel:
> > I changed the arch/arm64/include/uapi/asm/unistd.h:
> >
> > +#define __ARCH_WANT_SYSCALL_DEPRECATED #define __ARCH_WANT_SYS_FORK
> > +#define __ARCH_WANT_SYS_VFORK
> >
> > After the changing, These cases will Pass.
>
> Hi Weidong,
>
> > So, Does it need to support ustat syscall for arm64?
>
> No, on arm64 the ustat syscall is obsolete.
> You could find syscalls from "include/uapi/asm-generic/unistd.h".
> And on arm64, there is no define for "__ARCH_WANT_SYSCALL_DEPRECATED".
> So there is no support for the syscalls covered by the macro above.
>
> Best Regards,
> Wei
>
> > Regards,
> > Wang
> >
Hi,
Opened an issue at https://github.com/linux-test-project/ltp/issues/25
Frediano
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Ask for HELP] Should it support ustat syscall for arm64
2015-01-05 10:53 ` Frediano Ziglio
@ 2015-01-07 7:09 ` Wang Weidong
0 siblings, 0 replies; 4+ messages in thread
From: Wang Weidong @ 2015-01-07 7:09 UTC (permalink / raw)
To: linux-arm-kernel
On 2015/1/5 18:53, Frediano Ziglio wrote:
>> On 2014/12/29 10:58, Wang Weidong wrote:
>>> Hi,
>>>
>>> As I ran LTP testcase ustat01 and ustat02 on Arm64, and got the
>> result:
>>>
>>> ustat01 1 TFAIL : ustat(2) failed and setthe errno to 38 :
>> Function not implemented
>>>
>>> ustat02 1 TFAIL : ustat(2) failed to produce expected error;
>> 22, errno: EINVAL:
>>> TEST_ERRNO=ENOSYS(38): Function not
>> implemented
>>> ustat02 2 TFAIL : ustat(2) failed to produce expected error;
>> 14, errno: EFAULT:
>>> TEST_ERRNO=ENOSYS(38): Function not
>>> implemented
>>>
>>> -----------------------
>>>
>>> I found the glibc and kernel's implementation:
>>> The glibc version is 2.19, kernel is 3.16.
>>>
>>> The glibc will use the sysdeps/unix/sysv/linux/generic/ustat.c
>>> But it only return ENOSYS.
>>>
>>> The kernel doesn't support the NR_ustat syscall.
>>>
>>> So I did that:
>>> 1. In glibc:
>>> I changed the sysdeps/unix/sysv/linux/generic/ustat.c:
>>>
>>> -#include <errno.h>
>>> -#include <sys/ustat.h>
>>> +#define __ARCH_WANT_SYSCALL_DEPRECATED #include
>>> +<sysdeps/unix/sysv/linux/ustat.c>
>>>
>>> -#include <sysdep.h>
>>> -#include <sys/syscall.h>
>>> -
>>> -/* This deprecated syscall is no longer used (replaced with fstat).
>>> */ -int -ustat (dev_t dev, struct ustat *ubuf) -{
>>> - __set_errno (ENOSYS);
>>> - return -1;
>>> -}
>>> -stub_warning (ustat)
>>>
>>> 2. In Kernel:
>>> I changed the arch/arm64/include/uapi/asm/unistd.h:
>>>
>>> +#define __ARCH_WANT_SYSCALL_DEPRECATED #define __ARCH_WANT_SYS_FORK
>>> +#define __ARCH_WANT_SYS_VFORK
>>>
>>> After the changing, These cases will Pass.
>>
>> Hi Weidong,
>>
>>> So, Does it need to support ustat syscall for arm64?
>>
>> No, on arm64 the ustat syscall is obsolete.
>> You could find syscalls from "include/uapi/asm-generic/unistd.h".
>> And on arm64, there is no define for "__ARCH_WANT_SYSCALL_DEPRECATED".
>> So there is no support for the syscalls covered by the macro above.
>>
>> Best Regards,
>> Wei
>>
>>> Regards,
>>> Wang
>>>
>
> Hi,
> Opened an issue at https://github.com/linux-test-project/ltp/issues/25
>
> Frediano
>
OK, Got it.
Thanks,
Wang
>
> .
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-01-07 7:09 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-29 2:58 [Ask for HELP] Should it support ustat syscall for arm64 Wang Weidong
2014-12-29 8:15 ` Wei Xu
2015-01-05 10:53 ` Frediano Ziglio
2015-01-07 7:09 ` Wang Weidong
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.