On 31/12/2018 15:03, Joseph Myers wrote:
On Fri, 28 Dec 2018, Adhemerval Zanella wrote:
quoted
quoted
quoted
Currently we only have nios2 and csky (unfortunately). But since generic
definition for off_t and off64_t still assumes non-LFS support, all new
32-bits ports potentially might carry the issue.
For csky, we could still change the type of the non-standard d_off
field to long long int. This way, only telldir would have to fail
when truncation is necessary, as mentioned below:
I think it makes no sense to continue making non-LFS as default for
newer 32 bits ports, the support will be emulated with LFS syscalls.
Any new 32-bit port that uses 64-bit time_t will also use 64-bit offsets
(because we don't have any glibc configurations that support the
combination of 64-bit time with 32-bit offsets, and don't want to add
them). That should apply for RISC-V 32-bit at least.
I've filed <https://sourceware.org/bugzilla/show_bug.cgi?id=24050> for
missing overflow checks in telldir when the default off_t is wider than
long int (currently just applies to x32; not sure why we don't see glibc
test failures on x32 resulting from the quiet truncation, as the issue is
certainly there in the source code).
What about csky? Should we still make it use 32-bit offsets as default
configuration even when kernel does not support it natively?