All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.