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.