mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: musl@lists.openwall.com
Cc: palmer@sifive.com
Subject: Re: riscv port for review
Date: Fri, 28 Sep 2018 10:26:12 -0400	[thread overview]
Message-ID: <20180928142612.GT17995@brightrain.aerifal.cx> (raw)
In-Reply-To: <20180928103354.GK10209@port70.net>

On Fri, Sep 28, 2018 at 12:33:54PM +0200, Szabolcs Nagy wrote:
> * Michael Clark <michaeljclark@mac.com> [2018-09-28 18:33:18 +1200]:
> > > On 28/09/2018, at 2:47 PM, Rich Felker <dalias@libc.org> wrote:
> > > 
> > >> On Thu, Sep 27, 2018 at 10:24:04PM -0400, Rich Felker wrote:
> > >> Pulled from here:
> > >> https://github.com/riscv/riscv-musl/commit/6a4f4a9c774608add4b02f95322518bd2f5f51ee
> > >> 
> > >> Attached for review.
> > > 
> > >> diff --git a/arch/riscv32/bits/alltypes.h.in b/arch/riscv32/bits/alltypes.h.in
> > >> new file mode 100644
> > >> index 0000000..66ca18a
> > >> --- /dev/null
> > >> +++ b/arch/riscv32/bits/alltypes.h.in
> > >> @@ -0,0 +1,26 @@
> > >> +#define _Addr int
> > >> +#define _Int64 long long
> > >> +#define _Reg int
> > >> +
> > >> +TYPEDEF __builtin_va_list va_list;
> > >> +TYPEDEF __builtin_va_list __isoc_va_list;
> > >> +
> > >> +#ifndef __cplusplus
> > >> +TYPEDEF int wchar_t;
> > >> +#endif
> > >> +
> > >> +TYPEDEF float float_t;
> > >> +TYPEDEF double double_t;
> > >> +
> > >> +TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
> > >> +
> > >> +TYPEDEF long time_t;
> > > 
> > > Is riscv32 time_t really 32-bit? If so that's really disappointing,
> > > but presumably unfixable...
> > 
> > This definitely is fixable as the riscv32 Linux ABI is not final.
> 
> i think linux is the problem: when x32 tried to do 64bit time_t
> on an ilp32 target it turned out to be a disaster, because
> various driver and fs code can only deal with 32bit time_t when
> long is 32bit (although x32 had other issues too: mixing 64bit
> kernel space and 32bit userspace types).

Are you talking about ioctl interfaces? These need to be fixed at some
point anyway (both for glibc TIME64 profile and musl2) and we can shim
them in userspace with a big list of them. I'd rather do it now than
introduce a new arch/ABI that's broken by design and destined to be
unusable in a few years.

> the consensus after x32 was that new 32bit targets will keep
> using 32bit time_t and there is an independent project to add
> 64bit time_t support (by introducing new syscalls, types etc)
> that will apply to all 32bit targets once it's done.

This is really unfortunate. I'd love it if the rv32 people could
provide some pushback against it.

Rich


  reply	other threads:[~2018-09-28 14:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-28  2:24 Rich Felker
2018-09-28  2:46 ` Rich Felker
2018-10-09 18:05   ` Rich Felker
2018-10-09 21:36     ` Michael Clark
2018-10-10  1:14       ` Khem Raj
2018-10-10  3:41         ` Michael Clark
2018-09-28  2:47 ` Rich Felker
2018-09-28  6:33   ` Michael Clark
2018-09-28  6:49     ` Michael Clark
2018-09-28 10:33     ` Szabolcs Nagy
2018-09-28 14:26       ` Rich Felker [this message]
2018-09-28 11:43 ` Szabolcs Nagy
2018-09-28 14:28   ` Rich Felker
2018-10-11  7:34 ` Michael Forney
2018-10-11 15:49   ` Rich Felker
2018-10-18 21:52   ` Michael Forney
2018-11-11  6:34     ` Michael Forney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180928142612.GT17995@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=musl@lists.openwall.com \
    --cc=palmer@sifive.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).