<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoQuote, li.MsoQuote, div.MsoQuote
        {mso-style-priority:29;
        mso-style-link:"Quote Char";
        margin-top:10.0pt;
        margin-right:.6in;
        margin-bottom:8.0pt;
        margin-left:.6in;
        text-align:center;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:#404040;
        font-style:italic;}
span.QuoteChar
        {mso-style-name:"Quote Char";
        mso-style-priority:29;
        mso-style-link:Quote;
        font-family:"Calibri",sans-serif;
        color:#404040;
        font-style:italic;}
span.EmailStyle22
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Dear Brian, <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We’re using following version of glibc on the our Embedded devices:
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">[root@Router8:~]# ldd --version<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">ldd (EGLIBC) 2.18<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">Copyright (C) 2013 Free Software Foundation, Inc.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">This is free software; see the source for copying conditions.  There is NO<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">Written by Roland McGrath and Ulrich Drepper.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">[root@Router8:~]# ldd /lib/libc-2.18.so<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">        /lib/ld-linux.so.3 (0xb6fa0000)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">Compiled by GNU CC version 4.8.1.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">Compiled on a Linux 3.10.0 system on 2013-11-14.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Based on the strings output it is supporting this bunch of versions:<o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.4<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.5<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.6<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.7<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.8<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.9<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.10<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.11<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.12<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.13<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.14<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.15<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.16<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.17<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_2.18<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">GLIBC_PRIVATE<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal">Also I found this structure in the strings of glibc, which perhaps describe TZif or something related with tz files<o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (&zone_names[info->idx]) && __builtin_constant_p (__tzname[tp->tm_isdst]) && (__s1_len = strlen (&zone_names[info->idx]),
 __s2_len = strlen (__tzname[tp->tm_isdst]), (!((size_t)(const void *)((&zone_names[info->idx]) + 1) - (size_t)(const void *)(&zone_names[info->idx]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((__tzname[tp->tm_isdst]) + 1) - (size_t)(const void *)(__tzname[tp->tm_isdst])
 == 1) || __s2_len >= 4)) ? __builtin_strcmp (&zone_names[info->idx], __tzname[tp->tm_isdst]) : (__builtin_constant_p (&zone_names[info->idx]) && ((size_t)(const void *)((&zone_names[info->idx]) + 1) - (size_t)(const void *)(&zone_names[info->idx]) == 1) &&
 (__s1_len = strlen (&zone_names[info->idx]), __s1_len < 4) ? (__builtin_constant_p (__tzname[tp->tm_isdst]) && ((size_t)(const void *)((__tzname[tp->tm_isdst]) + 1) - (size_t)(const void *)(__tzname[tp->tm_isdst]) == 1) ? __builtin_strcmp (&zone_names[info->idx],
 __tzname[tp->tm_isdst]) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (__tzname[tp->tm_isdst]); int __result = (((const unsigned char *) (const char *) (&zone_names[info->idx]))[0] - __s2[0]); if (__s1_len > 0 && __result
 == 0) { __result = (((const unsigned char *) (const char *) (&zone_names[info->idx]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (&zone_names[info->idx]))[2] - __s2[2]); if (__s1_len > 2 && __result
 == 0) __result = (((const unsigned char *) (const char *) (&zone_names[info->idx]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (__tzname[tp->tm_isdst]) && ((size_t)(const void *)((__tzname[tp->tm_isdst]) + 1) - (size_t)(const void *)(__tzname[tp->tm_isdst])
 == 1) && (__s2_len = strlen (__tzname[tp->tm_isdst]), __s2_len < 4) ? (__builtin_constant_p (&zone_names[info->idx]) && ((size_t)(const void *)((&zone_names[info->idx]) + 1) - (size_t)(const void *)(&zone_names[info->idx]) == 1) ? __builtin_strcmp (&zone_names[info->idx],
 __tzname[tp->tm_isdst]) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (&zone_names[info->idx]); int __result = (((const unsigned char *) (const char *) (__tzname[tp->tm_isdst]))[0] - __s2[0]); if (__s2_len > 0 &&
 __result == 0) { __result = (((const unsigned char *) (const char *) (__tzname[tp->tm_isdst]))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (__tzname[tp->tm_isdst]))[2] - __s2[2]); if (__s2_len > 2
 && __result == 0) __result = (((const unsigned char *) (const char *) (__tzname[tp->tm_isdst]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (&zone_names[info->idx], __tzname[tp->tm_isdst])))); }) == 0<o:p></o:p></span></p>
<p class="MsoQuote" align="left" style="text-align:left"><o:p> </o:p></p>
<p class="MsoQuote" align="left" style="text-align:left">From: Brian Inglis <<a href="mailto:Brian.Inglis@SystematicSw.ab.ca" target="_blank">Brian.Inglis@SystematicSw.ab.ca</a>><br>
Sent: Tue, 2 Mar 2021 09:55:51 -0700<br>
To: Evgheni Antropov<br>
Cc: Time zone mailing list <tz@iana.org><br>
Subject: RE: [tz] Troubles with zone Asia/Gaza after tzdata2020b release<o:p></o:p></p>
<p class="MsoQuote" align="left" style="text-align:left">This may be less useful than knowing what libc code is being used on tzdata.<br>
<br>
The Yocto/OpenEmbedded project seems to be a system for managing recipes to<br>
apply thousands of patches to upstream components and tools on multiple host<br>
platforms.<br>
<br>
It appears from yocto docs and links, that depending on the yocto version, it<br>
may be based on OpenEmbedded with some earlier trimmed embedded version of glibc<br>
(perhaps 2.24 as of yocto 2.2) or musl (version?) libc, which may not have<br>
tzcode changes merged to handle current tzdata formats.<br>
<br>
Traditionally glibc/libc... use requires libc-bin which packages utilities<br>
including zic, zdump built using system libc conventions and structures.<br>
<br>
--<br>
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada<br>
<br>
This email may be disturbing to some readers as it contains<br>
too much technical detail. Reader discretion is advised.<br>
[Data in binary units and prefixes, physical quantities in SI.]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="mso-fareast-language:RU">Best regards</span><span lang="RU" style="mso-fareast-language:RU">,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU" style="mso-fareast-language:RU"><o:p> </o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr>
<td width="130" valign="top" style="width:97.55pt;padding:0in 5.4pt 0in 5.4pt">
<p class="MsoNormal"><span style="font-size:10.0pt;mso-fareast-language:RU"><img border="0" width="108" height="57" style="width:1.125in;height:.5937in" id="Picture_x0020_1" src="cid:image001.jpg@01D7101A.B72A3630"></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
</td>
<td width="217" valign="top" style="width:163.0pt;padding:0in 5.4pt 0in 5.4pt">
<p class="MsoNormal"><span style="font-size:10.0pt;mso-fareast-language:RU">Evgheni Antropov</span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;mso-fareast-language:RU">Software R&D Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;mso-fareast-language:RU">+373 22 404 665<o:p></o:p></span></p>
<p class="MsoNormal"><a href="http://www.addgrup.com/"><span style="font-size:10.0pt;mso-fareast-language:RU">www.addgrup.com</span></a><span style="font-size:10.0pt"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Evgheni Antropov <br>
<b>Sent:</b> Tuesday, March 2, 2021 10:50<br>
<b>To:</b> 'Paul Eggert' <eggert@cs.ucla.edu>; Tim Parenti <tim@timtimeonline.com><br>
<b>Cc:</b> Time zone mailing list <tz@iana.org><br>
<b>Subject:</b> RE: [tz] Troubles with zone Asia/Gaza after tzdata2020b release<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt">Dear Paul and Tim,<br>
Thank you for attention to this issue. <br>
<br>
We're using tzdata on the our embedded devices with ARMv7 Processor rev 2 (v7l), which has vanilla kernel
<br>
[root@Router8:~]# uname -a<br>
Linux Router8 4.4.19-gdb0b54cdad #49 PREEMPT Mon Sep 30 15:10:54 EEST 2019 armv7l GNU/Linux<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt">Whole filesystem was compiled using Yocto Project 1.5 (poky-dora-10.0.0)
</span><a href="https://old.yoctoproject.org/releases-yocto-version/yocto-project-15-dora"><span style="font-size:10.0pt">https://old.yoctoproject.org/releases-yocto-version/yocto-project-15-dora</span></a><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt">Tzdata was compiling on Ubuntu 18.04 without any additional flags and cross-compilers, just simple make install<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas">#!/bin/sh<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas">make clean<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas">#For compiling source extract tzdata and tzcode in one directory and run:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas">make TOPDIR=$(pwd)/binaries install<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt">with additional changes related with requests from our several customers, which are not effecting on the this file.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt">In attachment you can see whole listing of compilation.<br>
<br>
Best regards,<br>
<br>
<br>
Evgheni Antropov<br>
Software R&D Engineer<br>
+373 22 404 665<br>
</span><a href="http://www.addgrup.com" target="_BLANK"><span style="font-size:10.0pt">www.addgrup.com</span></a><span style="font-size:10.0pt"><br>
<br>
<br>
-----Original Message-----<br>
From: Paul Eggert <</span><a href="mailto:eggert@cs.ucla.edu"><span style="font-size:10.0pt">eggert@cs.ucla.edu</span></a><span style="font-size:10.0pt">>
<br>
Sent: Tuesday, March 2, 2021 01:59<br>
To: Tim Parenti <</span><a href="mailto:tim@timtimeonline.com"><span style="font-size:10.0pt">tim@timtimeonline.com</span></a><span style="font-size:10.0pt">><br>
Cc: Evgheni Antropov <</span><a href="mailto:Evgheni.Antropov@addgrup.com"><span style="font-size:10.0pt">Evgheni.Antropov@addgrup.com</span></a><span style="font-size:10.0pt">>; Time zone mailing list <</span><a href="mailto:tz@iana.org"><span style="font-size:10.0pt">tz@iana.org</span></a><span style="font-size:10.0pt">><br>
Subject: Re: [tz] Troubles with zone Asia/Gaza after tzdata2020b release<br>
<br>
On 3/1/21 1:19 PM, Tim Parenti via tz wrote:<br>
> Why is the system you're<br>
> testing only looking at the (legacy) 32-bit data in the v1 data block, <br>
> and not using the 64-bit data in the v2+ data block?  Please let us <br>
> know more about the system you're running<br>
<br>
Another possibility is that Evgheni is using a stripped down library that ignores both data blocks, and uses only the TZ string at the end.
<br>
Such a library does not conform to Internet RFC 8536 but might be suitable for stripped down devices such as a router. For Asia/Gaza, the TZ string is TZ='EET-2EEST,M3.4.4/48,M10.4.4/49', where the "48" and "49" rely on the extension specified in Internet RFC
 8536 section 3.3.1 and scheduled to appear in a future POSIX release. If Evgheni's library doesn't support that extension then that's the problem.<br>
<br>
Yet another possibility is that Evgheni's library simply ignores the TZ string. '-b slim' relies on the TZ string even for current timestamps, whereas '-b fat' fills out entries through 2038. However, if this were the issue I expect it would happen for timezones
 other than Asia/Gaza.<br>
<br>
> Please let us know more<br>
> about the system you're running<br>
<br>
Yes, that'd be helpful.<o:p></o:p></span></p>
</div>
</div>
</body>
</html>