This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[RFC PATCH 0/2] AARCH64/ILP32: support stat syscalls
- From: Yury Norov <ynorov at caviumnetworks dot com>
- To: <libc-alpha at sourceware dot org>
- Cc: Yury Norov <ynorov at caviumnetworks dot com>
- Date: Fri, 9 Sep 2016 18:49:57 +0300
- Subject: [RFC PATCH 0/2] AARCH64/ILP32: support stat syscalls
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Yuri dot Norov at caviumnetworks dot com;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
This is another implementation for stat syscalls. I tried to follow all comments.
It defines custom struct stat to avoid annoying copying, and implements custom
statfs syscalls to be compatible to lp64. The rest is taken from generic code.
XSTAT_IS_XSTAT64 and STAT_IS_KERNEL_STAT are enabled to reuse code and bypass
__xstat_conv().
First patch is the preparing work and not related to aarch64/ilp32 directly.
It may be applied separately.
Notice that kernel ABI is changed, so pull latest version for testing:
https://github.com/norov/linux/tree/linux-stat
https://github.com/norov/glibc/tree/glibc-stat
Yury Norov (2):
generic/wordsize-32: don't duplicate lxstat, xstat if XSTAT_IS_XSTAT64
is enabled
[AARCH64] ILP32: stat syscalls
sysdeps/unix/sysv/linux/aarch64/bits/stat.h | 166 +++++++++++++++++++++
sysdeps/unix/sysv/linux/aarch64/bits/statfs.h | 68 +++++++++
sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs.c | 1 +
sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c | 35 +++++
sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c | 1 +
sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c | 1 +
sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c | 1 +
sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c | 1 +
.../unix/sysv/linux/aarch64/ilp32/kernel_stat.h | 7 +
sysdeps/unix/sysv/linux/aarch64/ilp32/statfs.c | 1 +
sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c | 38 +++++
.../unix/sysv/linux/generic/wordsize-32/lxstat.c | 2 +
.../unix/sysv/linux/generic/wordsize-32/lxstat64.c | 7 +
.../unix/sysv/linux/generic/wordsize-32/xstat.c | 2 +
.../unix/sysv/linux/generic/wordsize-32/xstat64.c | 7 +
15 files changed, 338 insertions(+)
create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/stat.h
create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/statfs.h
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/kernel_stat.h
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/statfs.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c
--
2.7.4