This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 21/27] [AARCH64] ILP32: introduce syscalls that pass off_t
- From: Yury Norov <ynorov at caviumnetworks dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: <libc-alpha at sourceware dot org>, <linux-kernel at vger dot kernel dot org>, <arnd at arndb dot de>, <catalin dot marinas at arm dot com>, <marcus dot shawcroft at arm dot com>, <philb at gnu dot org>, <davem at davemloft dot net>, <szabolcs dot nagy at arm dot com>, <maxim dot kuvyrkov at linaro dot org>, <pinskia at gmail dot com>, Yury Norov <yury dot norov at gmail dot com>
- Date: Thu, 23 Jun 2016 08:57:56 +0300
- Subject: Re: [PATCH 21/27] [AARCH64] ILP32: introduce syscalls that pass off_t
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp dot mailfrom=Yuri dot Norov at caviumnetworks dot com;
- References: <1466485631-3532-1-git-send-email-ynorov at caviumnetworks dot com> <1466485631-3532-23-git-send-email-ynorov at caviumnetworks dot com> <alpine dot DEB dot 2 dot 20 dot 1606211033060 dot 4526 at digraph dot polyomino dot org dot uk>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On Tue, Jun 21, 2016 at 10:35:27AM +0000, Joseph Myers wrote:
> On Tue, 21 Jun 2016, Yury Norov wrote:
>
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate64.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/lseek.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/mmap.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pread.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/readahead.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/truncate.c
> > create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c
>
> I don't like how you need so many ilp32 files.
>
> Presumably this is a new convention to be followed for all future ilp32
> ABIs on 64-bit architectures. Meaning that you should have some sysdeps
> macros to say whether this convention is in use and then make either the
> sysdeps/unix/sysv/linux files, or the .../generic files, or a new
> architecture-independent sysdeps directory, implement that convention.
>
> Note also how Adhemerval recently unified pread / pwrite implementations.
> Adding new files for those functions goes against that unification.
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
Hi Joseph,
There's RISC-V convention that implements very similar approach to
aarch64/ilp32.
https://github.com/manuelafm/riscv-gnu-toolchain/commits/master
But as I understand, there is much work there to be done before upstreaming.
So for now I think it's simpler to have this ABI in sysdeps, and be in
touch with RISC-V team to have aarch64/ilp32 compatible to RISC-V.
After RISC-V merge, we can switch aarch64/ilp32 to it and drop
unneeded sysdeps.
If you mean something different, could you explain it in details, or
suggest an action plan for such rework.
Yury.