Page MenuHomeFreeBSD

zoneinfo: On amd64, include 32-bit data.
ClosedPublic

Authored by des on Jan 21 2023, 2:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 3, 8:28 AM
Unknown Object (File)
Sun, Mar 31, 9:06 PM
Unknown Object (File)
Mar 1 2024, 8:30 AM
Unknown Object (File)
Feb 19 2024, 7:14 PM
Unknown Object (File)
Jan 10 2024, 9:02 PM
Unknown Object (File)
Jan 9 2024, 5:49 AM
Unknown Object (File)
Dec 23 2023, 1:33 AM
Unknown Object (File)
Dec 12 2023, 9:58 AM

Details

Summary

Sponsored by: Klara, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 49219
Build 46109: arc lint + arc unit

Event Timeline

A little background: by default, old zic produces zoneinfo files containing both 32-bit and 64-bit data, while new zic produces only 64-bit data. Dynamic i386 binaries should work correctly since they will be using a 32-bit version of new libc, but static i386 binaries will not work.

BTW, I'm also tempted to drop the -p ${POSIXRULES} part, which (with POSIXRULES=America/New_York) effectively means “when in doubt, assume you're in New York”. The hardcoded default has the same effect, there is no value in enshrining it in the Makefile.

This revision is now accepted and ready to land.Jan 24 2023, 4:27 PM
share/zoneinfo/Makefile
81

Don't we also need this for aarch64 and powerpc64? Both of them have 32-bit binary compat stuff.

In D38142#866566, @des wrote:

BTW, I'm also tempted to drop the -p ${POSIXRULES} part, which (with POSIXRULES=America/New_York) effectively means “when in doubt, assume you're in New York”. The hardcoded default has the same effect, there is no value in enshrining it in the Makefile.

I think that might also be fine. IIRC, years ago (like in the 90s or early 2000s) this was needed because we didn't have a default... but it's been a very very long time and I didn't go back and spelunk the repo to see if this memory is right or not.

share/zoneinfo/Makefile
81

Do their 32-bit counterparts have a 32-bit time_t?

brooks added inline comments.
share/zoneinfo/Makefile
81

Only i386.

des marked 2 inline comments as done.Jan 25 2023, 6:20 AM
des added inline comments.
share/zoneinfo/Makefile
81

That's what I thought, so only amd64 needs 32-bit timezone data.

des marked an inline comment as done.

Explain why only amd64. Remove POSIXRULES.

This revision now requires review to proceed.Jan 25 2023, 6:35 AM
allanjude added a subscriber: allanjude.

Reviewed by: allanjude

This revision is now accepted and ready to land.Jan 25 2023, 1:13 PM
imp added inline comments.
share/zoneinfo/Makefile
81

ah, it's 32-bit time_t not 32-bit in general... So never mind.

This revision was automatically updated to reflect the committed changes.