[Ask for HELP] Should it support ustat syscall for arm64

Frediano Ziglio frediano.ziglio at huawei.com
Mon Jan 5 02:53:07 PST 2015


> 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




More information about the linux-arm-kernel mailing list