On 11/8/2024 1:41 AM, Takashi Yamamoto wrote:
have you decided that targets w/o 64-bit integers are not good enough
reason to diverge from what the latest posix says about time_t?
are we effectively dropping those targets?

Anything that has a GCC port should have int64_t.  For other cases, it will depend on the toolchain.  I think that only z8, z80, z180,  and zNEO would be a problem.

Of these, I consider only z180 to be of any value because it is often used in contemporary FPGAs.  The others suffer from numerous issues much larger than time_t:

 * z80 - I think NuttX outgrew the 64Kb address space years ago. There
   is no viable toolchain for z80 (or z180).  SDCC has some of the same
   broken behavior as ZDS-II.*
 * z8 and zNEO - These depend the ZDS-II toolchain which will never be
   supported again.  It will not support many other POSIX definitions. 
   We burned that bridge years ago in order to keep NuttX consistent
   with POSIX.  There was never a verified port of z8.

   * Specifically, they cannot pass structure or union types by value. 
   They cannot return values if these tyoes either.  This breaks
   numerous POSIX interfaces.  There once was an option to change the
   POSIX interfaces just for these toolchains, it worked but was
   removed to avoid conditional POSIX support.  See commit
   67ec3d7926d871c515fb1a55a11da8630fe53649

There was one person (other than me) that had hopes for zNEO. But the silicon was too buggy and ZiLOG basically stopped maintaining zNEO after it was sold.

https://zilog.com/ is now owned by Littlefuse.  Perhaps they will be better custodians than their previous foster family.

I can just do nothing with these architectures.  These have been broken for years and the change to time_t does not effect their broken-ness.  Or, since they have not value, they could just be removed.  It would be nice to keep z180, if possible.

Reply via email to