On 2025-06-20 04:58, Dan Juskevicius wrote:
Thanks for the suggestions and support so far. I'll provide an update whenever 
I figure out the issue.

Thank you for reporting the issue. I installed the attached proposed patches to the TZDB man pages to document it.

As the second patch indicates, one way to work around the bug without fixing QNX's TZif reader would be to build TZif files with 'make ZFLAGS=-bfat'. Two downsides, though: this bloats the TZif files, and the workaround expires about a dozen years from now. So I don't recommend relying on this workaround in the long run, although it might be useful short-term.
From cdb035f2efb574581a2ea196854a65870dfc741a Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Fri, 20 Jun 2025 10:47:35 -0700
Subject: [PROPOSED 1/2] Mention QNX reader bug

* tzfile.5 (Common interoperability issues): Mention QNX reader
issue, where it requires the proleptic TZ string to mention only
abbreviations listed in the time zone designation table.
---
 tzfile.5 | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tzfile.5 b/tzfile.5
index 4d3f52fc..10e1ba78 100644
--- a/tzfile.5
+++ b/tzfile.5
@@ -368,6 +368,14 @@ As a partial workaround, a writer can output more transitions
 than necessary, so that only far-future timestamps are
 mishandled by version 2 readers.
 .IP \(bu
+Some readers might mishandle timestamps after a file's last transition,
+because they require that all abbreviations or UT offsets
+in the proleptic TZ string must also occur somewhere in the file's tables
+of time zone designations and local time type records.
+As a workaround, a writer can output more transitions than necessary,
+so that the other tables contain duplicates of the proleptic TZ string's
+abbreviations and offsets.
+.IP \(bu
 Some readers designed for version 2 do not support
 permanent daylight saving time with transitions after 24:00
 \(en e.g., a TZ string
-- 
2.48.1

From 7cf31ba4c1a735487eda32c56d6b9e4bae8f6b4f Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Fri, 20 Jun 2025 11:08:27 -0700
Subject: [PROPOSED 2/2] Say that -b fat can work around QNX-like bugs

* zic.8: Say that '-b fat' can work around QNX-like bugs too,
though (as usual for '-b fat') the workarounds are no good after 2038.
---
 zic.8 | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/zic.8 b/zic.8
index 7ec29bdf..06ff8667 100644
--- a/zic.8
+++ b/zic.8
@@ -63,7 +63,7 @@ is
 .BR fat ,
 generate additional data entries that work around potential bugs or
 incompatibilities in older software, such as software that mishandles
-the 64-bit generated data.
+a TZif file's 64-bit data or proleptic TZ string.
 If
 .I bloat
 is
@@ -72,8 +72,9 @@ keep the output files small; this can help check for the bugs
 and incompatibilities.
 The default is
 .BR slim ,
-as software that mishandles 64-bit data typically
-mishandles timestamps after the year 2038 anyway.
+as the
+.B fat
+workarounds are typically good only until the year 2038 anyway.
 Also see the
 .B \-r
 option for another way to alter output size.
-- 
2.48.1

Reply via email to