[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Y2038 - best way forward in Debian?



YunQiang Su wrote:
>Ansgar <ansgar@43-1.org> 于2020年2月13日周四 下午5:29写道:
>>
>> For arm* and mips*, we mostly seem to be talking about special-purpose
>> systems where just switching to a new architecture/port doesn't seem to
>> be that much as a problem as for i386.  I think rebuilding the world and
>> breaking ABI might thus be acceptable there.
>>
>> i386 seems different.  I think option C above would be the only
>> realistic proposal so far to fix the time_t problem for (parts of) i386,
>> but if glibc upstream doesn't want to expose two interfaces then i386
>> will probably just break.
>>
>
>just redefine time_t to 64bit may also cause a problem:
>   a bad designed and old network protocol which aims  only target 32bit system,
>   a binary data packet, may contain time_t:
>        struct {
>            int a;
>            time_t b;
>        }
>just define time_t to 64 will break this protocol, although it is bad designed.

Oh, sure. We'll find bugs like this, guaranteed.

>Currently, the major task of 32bit ports is to keep compatible with
>old system/binary.
>Should we really want to break them?

Well, that's the question. AIUI people seem to be wanting to keep i386
as-is, due to the existing ecosystem of binaries (both free and
proprietary), and I've not seen anybody really saying that i386 needs
to live beyond 2038.

armhf is different, and we want to fix it (/replace it with
armhf_<foo>) with a 64-bit clean ABI. Where do the other existing
32-bit ports sit?

 * armel? anybody want to chime in?
 * mipsel?

I'd like to start making decisions *soon* on what we want to do, so we
can start work. I'm *hoping* that we might be able to get a new armhf
port done and released with bullseye, but that's clearly up to the
release team to make a call on. The longer we leave things, the harder
that target will be.

-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
  Armed with "Valor": "Centurion" represents quality of Discipline,
  Honor, Integrity and Loyalty. Now you don't have to be a Caesar to
  concord the digital world while feeling safe and proud.


Reply to: