This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC v2 00/20] RISC-V glibc port for the 32-bit
- From: Arnd Bergmann <arnd at arndb dot de>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Alistair Francis <alistair dot francis at wdc dot com>, GNU C Library <libc-alpha at sourceware dot org>, Adhemerval Zanella <adhemerval dot zanella at linaro dot org>, Palmer Dabbelt <palmer at sifive dot com>, macro at wdc dot com, Zong Li <zongbox at gmail dot com>, Zong Li <zong at andestech dot com>, Alistair Francis <alistair23 at gmail dot com>
- Date: Tue, 25 Jun 2019 14:07:55 +0200
- Subject: Re: [RFC v2 00/20] RISC-V glibc port for the 32-bit
- References: <cover.1561421042.git.alistair.francis@wdc.com> <8736jx6hld.fsf@oldenburg2.str.redhat.com>
On Tue, Jun 25, 2019 at 1:16 PM Florian Weimer <fweimer@redhat.com> wrote:
>
> * Alistair Francis:
>
> > To mitigate this I have set the RV32 port to use 64-bit time_t and off_t
> > (as is done in x86-32) and also changed the syscall imvocation to handle
> > the missing syscalls.
> >
> > The first 3 patches are from Lukasz and have been sent upstream before
> > [2].
> >
> > The 4th patch is a fixup required ontop of Lukasz's patches.
>
> I think if the port has a 64-bit time_t only, you really should not need
> Lukasz's patches. What's problematic about the x86-64 x32 approach?
x32 is really different from everything else at the kernel level. It's
an odd mix of the old __NR_* macros with data structures from the
64-bit kernel, while rv32 behaves just like all the other architectures
as long as you use the new data types. I would hope that nds32
and rv32 can implement the syscall interface in the same way,
and all future glibc ports can follow that. This will also share all the
code with the existing 32-bit architectures except that those
need a runtime fallback (until you stop stupporting kernels earlier
than linux-5.1, maybe in 5 to 10 years from now?).
Arnd