Re: Fwd: 64-bit time_t transition for 32-bit archs: a proposal

Julien ÉLIE <[email protected]> Sat, 18 May 2024 22:35:29 +0200
Newsgroups gmane.network.inn
Message-ID <[email protected]>
SGkgUnVzcywgT2xhZiwKCkEgZm9sbG93LXVwIG9uIHRoaXMgZGlzY3Vzc2lvbiBkYXRpbmcgYmFj
ayB0byBKdW5lIDIwMjMuICBJJ3ZlIChhdCAKbGFzdCEpIHJldmlld2VkIGFsbCB0aGUgdXNlcyBv
ZiB0aW1lIGluIElOTiBzb3VyY2UgY29kZS4KCkFsbCBwcmludGYtbGlrZSB3cml0ZXMgb2YgdGlt
ZV90IHN0aWxsIHVzaW5nICVsZCBub3cgdXNlICVsdS4gIFJlYWRpbmcgCmVwb2NoIHRpbWVzIGZy
b20gZmlsZXMgdXNlcyBzdHJ0b3VsKCkgYW5kIGF0b2xsKCkgaW5zdGVhZCBvZiBzdHJ0b2woKSAK
YW5kIGF0b2woKS4gIFRoZXkgY29uY2VybiBwb3NpdGl2ZSBudW1iZXJzLCBhbmQgMzItYml0IHRp
bWVfdCB3aWxsIHRoZW4gCmdvIG9uIHdvcmtpbmcgYWZ0ZXIgMjAzOCAodXAgdG8gMjEwNikuICBD
aGFuZ2VzIGFyZSBpbiB0aGUgZm9sbG93aW5nIGNvbW1pdDoKIApodHRwczovL2dpdGh1Yi5jb20v
SW50ZXJOZXROZXdzL2lubi9jb21taXQvZDYwMzkwMDc0YzFhOGFlZmU3OTQ3MjBlNzliNDdkODI5
ZjYyNzkxZQoKCkkgdGhpbmsgd2UgaGF2ZSBhIGJ1ZyBmb3IgYm90aCAzMi1iaXQgYW5kIDY0LWJp
dCBhcmNocyBpbiAKYmFja2VuZHMvbmlucGF0aHMuYyB3aGVyZSB3ZSB3cml0ZSBhIGR1bXAgdG8g
YSBmaWxlIHdob3NlIG5hbWUgaXMgCnNwZWNpZmllZCBieSB0aGUgdXNlciB3aXRoIHRoZSBwb3Nz
aWJpbGl0eSB0byB1c2UgJWQgaW4gdGhlIGdpdmVuIGZpbGUgCm5hbWUgdG8gd3JpdGUgYSB0aW1l
X3QuLi4gIFdlIGp1c3QgYmxpbmRseSB1c2UgaXQgd2l0aG91dCBhbnkgCnZlcmlmaWNhdGlvbiBp
biB0aGUgIm4iIGFyZ3VtZW50OgoKc3RhdGljIHZvaWQgd3JpdGVkdW1wZmlsZShjb25zdCBjaGFy
ICpuKSB7ClsuLi5dCiAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgbiwgdGltZSgwKSk7
CiAgICAgZCA9IGZvcGVuKGJ1ZiwgInciKTsKWy4uLl0KCkFzICVkIGlzIGEgc2lnbmVkIGludCwg
aXQgd29uJ3QgZ2l2ZSB0aGUgcmlnaHQgcmVzdWx0IGluIDIwMzgsIGV2ZW4gd2l0aCAKNjQtYml0
IHRpbWVfdC4gIFRvIGZpeCB0aGF0LCBJIHByb3Bvc2UgdG8gcHJvcGVybHkgcGFyc2UgdGhlIHN0
cmluZywgCmNoYW5naW5nIGFueSBvY2N1cnJlbmNlcyBvZiAiJWQiIChpZiBub3QgcHJlY2VkZWQg
YnkgYSAiJSIpIGJ5IHRoZSAKY3VycmVudCB0aW1lLCBhbmQgdGhlbiB1c2UgdGhhdCBuZXdseSBj
cmVhdGVkIHN0cmluZyBhcyB0aGUgZmlsZSBuYW1lLiAKVGhpcyB3YXksIGl0IHdpbGwgYmUgdHJh
bnNwYXJlbnQgdG8gdXNlcnMuCgoKCj4gRm9yd2FyZGluZyB0aGlzIGRpc2N1c3Npb24gZnJvbSBk
ZWJpYW4tZGV2ZWwgYWJvdXQgNjQtYml0IHRpbWVfdCBtaWdyYXRpb24KPiB0byBpbm4td29ya2Vy
cyBzaW5jZSB0aGlzIGlzIGEgYmV0dGVyIHBsYWNlIHRvIGRpc2N1c3MgdGhlIGRldGFpbHMuCj4g
Cj4+PiBPaCwgd2FpdCEgIE5vLCBJJ20gd3JvbmcsIENORlMgYWN0dWFsbHkgZG9lcyBzb21ldGhp
bmcgc21hcnQgYW5kIGVuY29kZXMKPj4+IHRoZSBoZWFkZXIgaW4gQVNDSUkgd2hlbiB3cml0aW5n
IGl0IHRvIGRpc2suCj4+Pgo+Pj4gT2theSwgcGhldywgdGhpcyBpc24ndCBnb2luZyB0byBiZSBu
ZWFybHkgYXMgYmFkIGFzIEkgaGFkIHRob3VnaHQuCgpDTkZTIGlzIGluZGVlZCBub3QgaW1wYWN0
ZWQgYnkgdGhlIDY0LWJpdCB0aW1lX3QgdHJhbnNpdGlvbi4gIEl0IHdpbGwgCndvcmsgYXMgZXhw
ZWN0ZWQgaW4gMjAzOC4gIEhvd2V2ZXIsIHdlJ2xsIG9uZSBkYXkgaGF2ZSB0byBkbyBzb21ldGhp
bmcgCmFzIGl0IHVzZXMgaHRvbmwoYXJ0aWNsZS5hcnJpdmVkKSB3aGljaCB3b3JrcyBvbiB1aW50
MzJfdCBwYXJhbWV0ZXJzLCAKYW5kIG5vdCB1aW50NjRfdC4gIE1heWJlIGh0b25sKCkgd2lsbCBp
biAyMTA2IHdoZW4gdGhlIG51bWJlciBvZiBzZWNvbmRzIApzaW5jZSB0aGUgZXBvY2ggZXhjZWVk
cyAyXjMyLiAgQW55d2F5LCB0aGVyZSB3aWxsIGJlIG90aGVyIHRoaW5ncyB0byAKYWxzbyBsb29r
IGF0IGJlc2lkZXMgaHRvbmwoKS4KCgoKPj4gR29vZCBuZXdzLiBJdCB3b3VsZCBiZSBncmVhdCBp
ZiB5b3UgY291bGQgYWRkIHJlbGV2YW50IGluZm8gdG8gdGhlIHdpa2kgcGFnZToKPj4gaHR0cHM6
Ly93aWtpLmRlYmlhbi5vcmcvUmVsZWFzZUdvYWxzLzY0Yml0LXRpbWUjS25vd25fSXNzdWVzCj4g
Cj4gVGhhdCBwYWdlIG5vdyBzYXlzCj4gPCBUaGUgQ05GUyBzdG9yYWdlIGZvcm1hdCBkb2VzIG5v
dCBoYXZlIHByb2JsZW1zIHdpdGggaXRzIGRpc2sgZm9ybWF0LAo+IDwgYnV0IHRoZSBsZXNzLXVz
ZWQgdGltZWNhZiBzdG9yYWdlIGZvcm1hdCBtaWdodCAoeWV0IHRvIGJlIGNvbmZpcm1lZCkuCgpJ
biB0aGUgcGFnZToKICAgaHR0cHM6Ly93aWtpLmRlYmlhbi5vcmcvUmVsZWFzZUdvYWxzLzY0Yml0
LXRpbWUjS25vd25fSXNzdWVzCgoiSU5OIGhhcyB0aW1lX3QgZW1iZWRkZWQgaW4gdGhlIGRpc2sg
Zm9ybWF0IG9mIGl0cyBvdmVydmlldyBhbmQgaGlzdG9yeSAKZGF0YWJhc2VzLCB3aGljaCB3aWxs
IHJlcXVpcmUgbWFudWFsIHJlYnVpbGRzIHdoZW4gdGhlIHNpemUgb2YgdGltZV90IApjaGFuZ2Vz
LiIKCkkgZG8gbm90IHNlZSB0aW1lX3QgdXNlZCBhcy1pcyBpbiBoaXN0b3J5IG9yIGRieiBmaWxl
cy4gIFNlY29uZHMgYXJlIAp3cml0dGVuIGluIGRlY2ltYWwgbnVtYmVycyAodW5zaWduZWQgbG9u
ZyksIGFuZCByZWFkIHdpdGggc3RydG91bCgpIHNvIEkgCnRoaW5rIGl0IGlzIG5vdCBpbXBhY3Rl
ZCBieSB0aGUgNjQtYml0IHRpbWVfdCB0cmFuc2l0aW9uLgpJIHdvdWxkIHN1Z2dlc3QgdG8gcmV3
cml0ZSB0aGUgc2VudGVuY2UgbGlrZToKPT4gIklOTiBoYXMgdGltZV90IGVtYmVkZGVkIGluIHRo
ZSBkaXNrIGZvcm1hdCBvZiBpdHMgb3ZlcnZpZXcgCmRhdGFiYXNlcywgd2hpY2ggd2lsbCByZXF1
aXJlIG1hbnVhbCByZWJ1aWxkcyB3aGVuIHRoZSBzaXplIG9mIHRpbWVfdCAKY2hhbmdlcy4iCgpB
bW9uZ3N0IG91ciA0IG92ZXJ2aWV3IG1ldGhvZHMsIEkgdGhpbmsgb3ZzcWxpdGUgaXMgbm90IGlt
cGFjdGVkIHRob3VnaC4gCiAgSXQgaGFuZGxlcyB1aW50NjRfdCBpbnRlcm5hbGx5IGFuZCB0aW1l
cyBhcmUgc3RvcmVkIGluIGRhdGFiYXNlIApjb2x1bW5zIHdoaWNoIGhhdmUgYW4gSU5URUdFUiB0
eXBlLCB3aGljaCBpcyA2NC1iaXQuCgoKCiJUaGUgQ05GUyBzdG9yYWdlIGZvcm1hdCBkb2VzIG5v
dCBoYXZlIHByb2JsZW1zIHdpdGggaXRzIGRpc2sgZm9ybWF0LCAKYnV0IHRoZSBsZXNzLXVzZWQg
dGltZWNhZiBzdG9yYWdlIGZvcm1hdCBtaWdodCAoeWV0IHRvIGJlIGNvbmZpcm1lZCkuIgoKSXQg
aXMgY29uZmlybWVkLiAgSSBwcm9wb3NlIGEgcmV3b3JkaW5nIHRvOgo9PiAiVGhlIENORlMgc3Rv
cmFnZSBmb3JtYXQgZG9lcyBub3QgaGF2ZSBwcm9ibGVtcyB3aXRoIGl0cyBkaXNrIGZvcm1hdCwg
CmJ1dCB0aGUgbGVzcy11c2VkIHRpbWVjYWYgc3RvcmFnZSBmb3JtYXQgaGFzLiIKCgoKPiAyLiBU
aGUgQ0YgZmlsZXMgdXNlIGZpbGUgbmFtZXMgbGlrZSB0aW1lY2FmLW5uL2JiL2FhY2MuQ0Ygd2hl
cmUgbm4gaXMKPiB0aGUgc3RvcmFnZSBjbGFzcyBhbmQgYWFiYmNjeHggdGhlIHRpbWUgb2YgYXJy
aXZhbCwgY2hhbmdpbmcgdGhlIGZpbGUKPiBuYW1lIGluIDI1Ni1zZWNvbmQgaW50ZXJ2YWxzLiBU
aGUgY29kZSB1c2luZyAlMDJ4IGZvcm1hdCBzdHJpbmdzIHRvCj4gZGV0ZXJtaW5lIHRoZSBmaWxl
IG5hbWUsIGFuZCBldmVyeXRoaW5nIGVsc2UgY2hlY2tpbmcgdGhlbSBmb3IKPiB2YWxpZGl0eSwg
d2lsbCBoYXZlIHRvIGJlIGNoYW5nZWQgYXBwcm9wcmlhdGVseS4KCkFzIHRoZSB0aW1lIGlzIG1h
bmlwdWxhdGVkIHVuc2lnbmVkLCB0aGUgZmlsZXMgd2lsbCBiZSBjb3JyZWN0bHkgbmFtZWQgCnVw
IHRvIHllYXIgMjEwNiwgc28gdGhhdCBwb2ludCBpcyBub3QgbWFuZGF0b3J5IGZvciB0aGUgNjQt
Yml0IHRpbWVfdCAKdHJhbnNpdGlvbi4gIChXZSBhbHNvIGhhdmUgYSBzaW1pbGFyIG5hbWluZyBz
Y2hlbWUgdG8gZml4IGluIHRoZSAKdGltZWhhc2ggc3RvcmFnZSBtZXRob2QuKQoKCgoKQWxsIHRo
YXQgYmVpbmcgc2FpZCwgd2hhdCBjb3VsZCBiZSBwcmFnbWF0aWNhbGx5IGRvbmUgZm9yIHRoZSA2
NC1iaXQgCnRpbWVfdCB0cmFuc2l0aW9uIGluIERlYmlhbj8KCkluIGEgbnV0c2hlbGwsIEkgdGhp
bmsgd2UgaGF2ZSBzZXZlcmFsIHVzZSBjYXNlczoKCi0gdGhlIG92c3FsaXRlIG92ZXJ2aWV3IG1l
dGhvZCBpcyB1c2VkLCBhbmQgdGltZWNhZiBpcyBub3QgdXNlZCA9PiBUaGUgCmJlc3Qgc2NlbmFy
aW86IHRoZXJlJ3Mgbm90aGluZyBzcGVjaWFsIHRvIGRvLgoKLSBhbiBvdmVydmlldyBtZXRob2Qg
b3RoZXIgdGhhbiBvdnNxbGl0ZSBpcyB1c2VkLCBhbmQgdGltZWNhZiBpcyBub3QgCnVzZWQgPT4g
QSByZWJ1aWxkIG9mIHRoZSBvdmVydmlldyBkYXRhIGlzIG5lZWRlZC4gIEluIHRoZSBhYnNlbmNl
IG9mIGEgCmRlZGljYXRlZCBtaWdyYXRpb24gcHJvZ3JhbSAoZm9yIDMgb3ZlcnZpZXcgbWV0aG9k
cyksIHRoaXMgY2FuIGJlIGRvbmUgCndpdGggIm1ha2VoaXN0b3J5IC1PIC14IC1GIiB3aGVuIElO
TiBpcyAqbm90KiBydW5uaW5nLiAgVGhlIHRyaWNreSBwYXJ0IAppcyB0aGF0IHRoZSBleGlzdGlu
ZyBvdmVydmlldyBkYXRhIHNob3VsZCBiZSBtb3ZlZCBpbnRvIGFub3RoZXIgcGF0aCAKKGFuZCBl
bXB0eSBidWZmZXJzIHJlY3JlYXRlZCBpZiBidWZmaW5kZXhlZCBpcyB1c2VkKSBiZWZvcmUgcnVu
bmluZyB0aGUgCmNvbW1hbmQuICBJcyBpdCB0byBiZSBkb25lIGluIGEgc3BlY2lhbCBpbm4yIHBh
Y2thZ2UgdXBsb2FkZWQgdG8gYXJjaHMgCmNvbmNlcm5lZCBieSB0aGUgNjQtYml0IHRpbWVfdCB0
cmFuc2l0aW9uPwoKLSB0aW1lY2FmIGlzIHVzZWQgPT4gVGhlIG1vc3QgY29tcGxleCBzY2VuYXJp
bzogd2UgZmlyc3QgbmVlZCB0byBjb252ZXJ0IAp0aW1lY2FmIGZpbGVzIHRvIGEgZm9ybWF0IHdp
dGggNjQtYml0IHRpbWVfdCwgYW5kIHRoZW4gaWYgYW4gb3ZlcnZpZXcgCm1ldGhvZCBvdGhlciB0
aGFuIG92c3FsaXRlIGlzIHVzZWQsIHJlYnVpbGQgdGhlIG92ZXJ2aWV3IGRhdGEgbGlrZSBpbiAK
dGhlIHByZXZpb3VzIHBvaW50LgoKVGhlIGlkZWFsIHdvdWxkIGJlIHRvIGtub3cgd2hldGhlciB3
ZSByZWFsbHkgaGF2ZSB0aGlzIGxhc3QgdXNlIGNhc2UgdG8gCmhhbmRsZS4uLiAgSXQgbWF5IGhh
cHBlbiB0aGF0IG5vIHRpbWVjYWYgdXNlcnMgd2lsbCBkbyBhIDY0LWJpdCB0aW1lX3QgCnRyYW5z
aXRpb24sIHNvIHRoZXJlJ3Mgbm8gbmVlZCBzcGVuZGluZyB1c2VsZXNzIHRpbWUgb24gaXQhCkFs
c28sIHRob3VnaCBJIGhhdmUgbm90IHRlc3RlZCBpdCwgd2UgaGF2ZSBhICJyZXNwb29sIiBwcm9n
cmFtIGluIHRoZSAKY29udHJpYiBkaXJlY3Rvcnkgd2hpY2ggaXMgc2FpZCB0byAicmVmaWxlIGFy
dGljbGVzIGludG8gdGhlIHN0b3JhZ2UgCm1hbmFnZXIgdW5kZXIgdGhlIGN1cnJlbnQgc3RvcmFn
ZS5jb25mIHJ1bGVzLCBkZWxldGluZyBhcnRpY2xlcyBmcm9tIAp0aGVpciBvbGQgcGxhY2UgaW4g
dGhlIHNwb29sIi4gIEl0IG1heSBhcyB3ZWxsIGJlIHVzZWQgdG8gcmVmaWxlIAphcnRpY2xlcyBm
cm9tIHRpbWVjYWYgdG8gYW5vdGhlciBzdG9yYWdlIG1ldGhvZCAqYmVmb3JlKiB0aGUgdXNlciAK
dXBncmFkZXMgdG8gNjQtYml0IHRpbWVfdCAoYnV0IGhvdyB3b3VsZCBoZSBrbm93IGhlIGhhcyB0
byBkbyB0aGF0IApiZWZvcmUgdXBncmFkaW5nPykuCgoKCkRvIG5vdCBoZXNpdGF0ZSB0byB0ZWxs
IGlmIEkgaGF2ZSBtaXNzZWQgc29tZXRoaW5nIGluIHRoZXNlIHRob3VnaHRzLgoKLS0gCkp1bGll
biDDiUxJRQoKwqsgVGhlIGhhcmRlc3QgdGhpbmcgaXMgdG8gZ28gdG8gc2xlZXAgYXQgbmlnaHQs
IHdoZW4gdGhlcmUgYXJlIHNvIG1hbnkKICAgdXJnZW50IHRoaW5ncyBuZWVkaW5nIHRvIGJlIGRv
bmUuICBBIGh1Z2UgZ2FwIGV4aXN0cyBiZXR3ZWVuIHdoYXQgd2UKICAga25vdyBpcyBwb3NzaWJs
ZSB3aXRoIHRvZGF5J3MgbWFjaGluZXMgYW5kIHdoYXQgd2UgaGF2ZSBzbyBmYXIgYmVlbgogICBh
YmxlIHRvIGZpbmlzaC4gwrsgIChEb25hbGQgS251dGgpCi0tIAppbm4td29ya2VycyBtYWlsaW5n
IGxpc3QKaW5uLXdvcmtlcnNAbGlzdHMuaXNjLm9yZwpodHRwczovL2xpc3RzLmlzYy5vcmcvbWFp
bG1hbi9saXN0aW5mby9pbm4td29ya2Vycwo=