From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 122983 invoked by alias); 1 May 2017 17:25:47 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 122841 invoked by uid 89); 1 May 2017 17:25:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=autumn, 095, H*Ad:D*ab.ca, H*r:sk:smtp-ou X-HELO: smtp-out-no.shaw.ca Received: from smtp-out-no.shaw.ca (HELO smtp-out-no.shaw.ca) (64.59.134.12) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 01 May 2017 17:25:44 +0000 Received: from [192.168.1.100] ([174.0.238.184]) by shaw.ca with SMTP id 5F4xdpHSVM9gt5F4ydzKNX; Mon, 01 May 2017 11:25:45 -0600 X-Authority-Analysis: v=2.2 cv=a+JAzQaF c=1 sm=1 tr=0 a=WqCeCkldcEjBO3QZneQsCg==:117 a=WqCeCkldcEjBO3QZneQsCg==:17 a=r77TgQKjGQsHNAKrUKIA:9 a=mDV3o1hIAAAA:8 a=vy7mHj1WtkQSV4KM6esA:9 a=QEXdDO2ut3YA:10 a=Y6OEHFSroAsA:10 a=8j8Rurpo56oMx5UAGJoA:9 a=Ld372NDzu18A:10 a=ICKaMw1cux8k3gnnzawA:9 a=TpP4D1t9kyQA:10 a=_FVE-zBwftR9WsbkzFJk:22 Subject: Re: Time zone bug References: <31d25ae6-b4f1-54cf-5582-810eeedcd8d3@cornell.edu> <590670ec.5b119d0a.2fbc1.6460@mx.google.com> To: cygwin@cygwin.com From: Brian Inglis Reply-To: Brian.Inglis@SystematicSw.ab.ca Message-ID: Date: Mon, 01 May 2017 17:25:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------AB47219A5C89B73A89483E9A" X-CMAE-Envelope: MS4wfLts3x6fo55gL0sEzjoTR37bWAHFoEC6OWxyT0OfbHPMG67z+gXDve9NlHw2gl2PYFXllaSb+7ROMqfdctu/c6llSkM33Qg29MDxPH5ww/4W5zEFH1xj Id+S9wm5kNIS8D83eMSm84aK2HoTU/WtSbUkM80wP/QQoYjfA2ZExnl/rU62Q3Iyr4yzEwhRIe09oQ== X-IsSubscribed: yes X-SW-Source: 2017-05/txt/msg00005.txt.bz2 --------------AB47219A5C89B73A89483E9A Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-length: 2219 On 2017-05-01 09:25, cyg Simple wrote: > On 4/30/2017 7:19 PM, Steven Penny wrote: >> On Sun, 30 Apr 2017 17:37:00, Ken Brown wrote: >>> As a result of a failing emacs test, I came across the following: >>> >>> $ TZ='NZST-12NZDT,M9.5.0,M4.1.0/3' date -d@0 +'%Y-%m-%d %H:%M:%S %z (%Z)' >>> 1970-01-01 12:00:00 +1200 (NZST) >>> >>> The same command on Linux yields "1970-01-01 13:00:00 +1300 (NZDT)", >>> which is >>> correct according to Paul Eggert >>> (https://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00881.html). This may be a problem in: winsup/cygwin/localtime.cc not properly handling POSIX time zone specs in the S hemisphere, with DST which starts in autumn/fall and ends in spring, at the start of the time_t epoch, where the first DST transition happens with negative time_t. Neither localtime nor mktime on Cygwin properly handle these rules where both localtime and mktime on Linux do - STC and sdiff attached. On Linux, even if you comment out the localtime call, mktime sets the offset correctly; on Cygwin even using localtime and mktime fails to set the offset at 1970-01-01 correctly. Cygwin awk strftime also shows the same issue where Linux is also correct. >> I concur, here is non-esoteric example Linux: >> $ TZ=Pacific/Auckland date +%Z >> NZST >> $ TZ=NZST date +%Z >> NZST >> $ TZ=NZDT date +%Z >> NZDT >> Cygwin: >> $ TZ=Pacific/Auckland date +%Z >> NZST >> $ TZ=NZST date +%Z >> GMT >> $ TZ=NZDT date +%Z >> GMT This is just a slight difference in handling POSIX time zone specs with no explicit offset specified - the basic format is std offset. If you provide only a std abbr with no offset, Cygwin defaults to GMT, where Linux uses the abbr and sets the offset to zero. Both behave identically if you specify a +-offset: $ TZ=XXX date +"%F %a %R%z(%Z)"; TZ=XXX0 date +"%F %a %R%z(%Z)" 2017-05-01 Mon 17:13+0000(GMT) 2017-05-01 Mon 17:13+0000(XXX) $ ssh ... 'TZ=XXX date +"%F %a %R%z(%Z)"; TZ=XXX0 date +"%F %a %R%z(%Z)"' 2017-05-01 Mon 17:13+0000(XXX) 2017-05-01 Mon 17:13+0000(XXX) depends whether you prefer to see the same answer or the smart answer ;^> -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada --------------AB47219A5C89B73A89483E9A Content-Type: text/plain; charset=UTF-8; name="local-mktime-z-stc-diff.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="local-mktime-z-stc-diff.txt" Content-length: 3604 TlpTVC0xMk5aRFQsTTkuNS4wLE00LjEuMC8zCQkJTlpTVC0xMk5aRFQsTTku NS4wLE00LjEuMC8zCgoxOTcwLTAxLTAxIDAwMSA0ICAgMDA6MDArMDAwMHMo R01UKQlnbQkxOTcwLTAxLTAxIDAwMSA0ICAgMDA6MDArMDAwMHMoR01UKQln bQoxOTcwLTAxLTAxIDAwMSA0ICAgMTM6MDArMTMwMGQoTlpEVCkJbG9jYWwg fAkxOTcwLTAxLTAxIDAwMSA0ICAgMTI6MDArMTIwMHMoTlpTVCkJbG9jYWwK MTk3MC0wMS0wMSAwMDEgNCAgIDEzOjAwKzEzMDBkKE5aRFQpCW1rICAgIHwJ MTk3MC0wMS0wMSAwMDEgNCAgIDEyOjAwKzEyMDBzKE5aU1QpCW1rCjE5NzAt MDEtMDEgMDAxIFRodSAxMzowMCsxMzAwIChOWkRUKQkgICAgICB8CTE5NzAt MDEtMDEgMDAxIFRodSAxMjowMCsxMjAwIChOWlNUKQoKMTk3MC0wNC0wNCAw OTQgNiAgIDEzOjAwKzAwMDBzKEdNVCkJZ20JMTk3MC0wNC0wNCAwOTQgNiAg IDEzOjAwKzAwMDBzKEdNVCkJZ20KMTk3MC0wNC0wNSAwOTUgMCAgIDAyOjAw KzEzMDBkKE5aRFQpCWxvY2FsIHwJMTk3MC0wNC0wNSAwOTUgMCAgIDAxOjAw KzEyMDBzKE5aU1QpCWxvY2FsCjE5NzAtMDQtMDUgMDk1IDAgICAwMjowMCsx MzAwZChOWkRUKQltayAgICB8CTE5NzAtMDQtMDUgMDk1IDAgICAwMTowMCsx MjAwcyhOWlNUKQltawoxOTcwLTA0LTA1IDA5NSBTdW4gMDI6MDArMTMwMCAo TlpEVCkJICAgICAgfAkxOTcwLTA0LTA1IDA5NSBTdW4gMDE6MDArMTIwMCAo TlpTVCkKCjE5NzAtMDQtMDQgMDk0IDYgICAxNDowMCswMDAwcyhHTVQpCWdt CTE5NzAtMDQtMDQgMDk0IDYgICAxNDowMCswMDAwcyhHTVQpCWdtCjE5NzAt MDQtMDUgMDk1IDAgICAwMjowMCsxMjAwcyhOWlNUKQlsb2NhbAkxOTcwLTA0 LTA1IDA5NSAwICAgMDI6MDArMTIwMHMoTlpTVCkJbG9jYWwKMTk3MC0wNC0w NSAwOTUgMCAgIDAyOjAwKzEyMDBzKE5aU1QpCW1rCTE5NzAtMDQtMDUgMDk1 IDAgICAwMjowMCsxMjAwcyhOWlNUKQltawoxOTcwLTA0LTA1IDA5NSBTdW4g MDI6MDArMTIwMCAoTlpTVCkJCTE5NzAtMDQtMDUgMDk1IFN1biAwMjowMCsx MjAwIChOWlNUKQoKMTk3MC0wOS0yNiAyNjkgNiAgIDEzOjAwKzAwMDBzKEdN VCkJZ20JMTk3MC0wOS0yNiAyNjkgNiAgIDEzOjAwKzAwMDBzKEdNVCkJZ20K MTk3MC0wOS0yNyAyNzAgMCAgIDAxOjAwKzEyMDBzKE5aU1QpCWxvY2FsCTE5 NzAtMDktMjcgMjcwIDAgICAwMTowMCsxMjAwcyhOWlNUKQlsb2NhbAoxOTcw LTA5LTI3IDI3MCAwICAgMDE6MDArMTIwMHMoTlpTVCkJbWsJMTk3MC0wOS0y NyAyNzAgMCAgIDAxOjAwKzEyMDBzKE5aU1QpCW1rCjE5NzAtMDktMjcgMjcw IFN1biAwMTowMCsxMjAwIChOWlNUKQkJMTk3MC0wOS0yNyAyNzAgU3VuIDAx OjAwKzEyMDAgKE5aU1QpCgoxOTcwLTA5LTI2IDI2OSA2ICAgMTQ6MDArMDAw MHMoR01UKQlnbQkxOTcwLTA5LTI2IDI2OSA2ICAgMTQ6MDArMDAwMHMoR01U KQlnbQoxOTcwLTA5LTI3IDI3MCAwICAgMDM6MDArMTMwMGQoTlpEVCkJbG9j YWwJMTk3MC0wOS0yNyAyNzAgMCAgIDAzOjAwKzEzMDBkKE5aRFQpCWxvY2Fs CjE5NzAtMDktMjcgMjcwIDAgICAwMzowMCsxMzAwZChOWkRUKQltawkxOTcw LTA5LTI3IDI3MCAwICAgMDM6MDArMTMwMGQoTlpEVCkJbWsKMTk3MC0wOS0y NyAyNzAgU3VuIDAzOjAwKzEzMDAgKE5aRFQpCQkxOTcwLTA5LTI3IDI3MCBT dW4gMDM6MDArMTMwMCAoTlpEVCkKCjE5NzEtMDEtMDEgMDAxIDUgICAwMDow MCswMDAwcyhHTVQpCWdtCTE5NzEtMDEtMDEgMDAxIDUgICAwMDowMCswMDAw cyhHTVQpCWdtCjE5NzEtMDEtMDEgMDAxIDUgICAxMzowMCsxMzAwZChOWkRU KQlsb2NhbAkxOTcxLTAxLTAxIDAwMSA1ICAgMTM6MDArMTMwMGQoTlpEVCkJ bG9jYWwKMTk3MS0wMS0wMSAwMDEgNSAgIDEzOjAwKzEzMDBkKE5aRFQpCW1r CTE5NzEtMDEtMDEgMDAxIDUgICAxMzowMCsxMzAwZChOWkRUKQltawoxOTcx LTAxLTAxIDAwMSBGcmkgMTM6MDArMTMwMCAoTlpEVCkJCTE5NzEtMDEtMDEg MDAxIEZyaSAxMzowMCsxMzAwIChOWkRUKQoKMTk3MS0wNC0wMyAwOTMgNiAg IDEzOjAwKzAwMDBzKEdNVCkJZ20JMTk3MS0wNC0wMyAwOTMgNiAgIDEzOjAw KzAwMDBzKEdNVCkJZ20KMTk3MS0wNC0wNCAwOTQgMCAgIDAyOjAwKzEzMDBk KE5aRFQpCWxvY2FsCTE5NzEtMDQtMDQgMDk0IDAgICAwMjowMCsxMzAwZChO WkRUKQlsb2NhbAoxOTcxLTA0LTA0IDA5NCAwICAgMDI6MDArMTMwMGQoTlpE VCkJbWsJMTk3MS0wNC0wNCAwOTQgMCAgIDAyOjAwKzEzMDBkKE5aRFQpCW1r CjE5NzEtMDQtMDQgMDk0IFN1biAwMjowMCsxMzAwIChOWkRUKQkJMTk3MS0w NC0wNCAwOTQgU3VuIDAyOjAwKzEzMDAgKE5aRFQpCgoxOTcxLTA0LTAzIDA5 MyA2ICAgMTQ6MDArMDAwMHMoR01UKQlnbQkxOTcxLTA0LTAzIDA5MyA2ICAg MTQ6MDArMDAwMHMoR01UKQlnbQoxOTcxLTA0LTA0IDA5NCAwICAgMDI6MDAr MTIwMHMoTlpTVCkJbG9jYWwJMTk3MS0wNC0wNCAwOTQgMCAgIDAyOjAwKzEy MDBzKE5aU1QpCWxvY2FsCjE5NzEtMDQtMDQgMDk0IDAgICAwMjowMCsxMjAw cyhOWlNUKQltawkxOTcxLTA0LTA0IDA5NCAwICAgMDI6MDArMTIwMHMoTlpT VCkJbWsKMTk3MS0wNC0wNCAwOTQgU3VuIDAyOjAwKzEyMDAgKE5aU1QpCQkx OTcxLTA0LTA0IDA5NCBTdW4gMDI6MDArMTIwMCAoTlpTVCkKCjAJCQkJCQkw Cg== --------------AB47219A5C89B73A89483E9A Content-Type: text/plain; charset=UTF-8; name="local-mktime-z-stc.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="local-mktime-z-stc.c" Content-length: 3201 LyogbmV3bGliL2xpYmMvdGltZS9zdHJmdGltZS5jICV6IGZvcm1hdCBTVEMg Ki8KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2lu Y2x1ZGUgPHRpbWUuaD4KCiNkZWZpbmUgVFoJIlRaPU5aU1QtMTJOWkRULE05 LjUuMCxNNC4xLjAvMyIKI2RlZmluZSBERk1UCSIlMDRkLSUwMmQtJTAyZCAl MDNkICUtM2QgJTAyZDolMDJkJSswM2xkMDAlcyglcylcdCVzXG4iIC8vOiUw MmQKI2RlZmluZSBURk1UCSIlRiAlaiAlYSAlUiV6ICglWikiCgojZGVmaW5l IEVQT0NICTE5NzAKI2RlZmluZSBZQURECTE5MDAKI2RlZmluZSBNQURECSAx CiNkZWZpbmUgREFERAkgMQojZGVmaW5lIFlSX01USAkxMgojZGVmaW5lIE1U SF9EQVkJMzAKI2RlZmluZSBEQVlfSFIJMjQKI2RlZmluZSBIUl9NSU4JNjAK I2RlZmluZSBNSU5fUwk2MAojZGVmaW5lIEhSX1MJKEhSX01JTipNSU5fUykK Ci8qIGV4dHJhIGlzIHRvdGFsIGRheXMgb3ZlciAzMCBpbiBwcmVjZWRpbmcg bW9udGhzIC0gbmV0IHRvdGFsIDUveWVhciAqLwojZGVmaW5lIFMoZXh0cmEs eXIsbXRoLGRheSxocikJXAoJKCgoKCgoeXIpIC0gRVBPQ0gpKllSX01USCAr ICgobXRoKSAtIDEpKSpNVEhfREFZICsgKGV4dHJhKSArIChkYXkpIC0gMSlc CgkJKkRBWV9IUiArIChocikpKkhSX1MpCgoKaW50CmR1bXAoIHN0cnVjdCB0 bSogdHAsIGNoYXIgKmxhYmVsKSB7CiAgICByZXR1cm4gcHJpbnRmKCBERk1U LCB0cC0+dG1feWVhciArIFlBREQsIHRwLT50bV9tb24gKyBNQURELCB0cC0+ dG1fbWRheSwKCQl0cC0+dG1feWRheSArIERBREQsIHRwLT50bV93ZGF5LAoJ CXRwLT50bV9ob3VyLCB0cC0+dG1fbWluLAkJCS8vIHRwLT50bV9zZWMsCiMg aWZkZWYgX19UTV9HTVRPRkYKCQl0cC0+X19UTV9HTVRPRkYvSFJfUywKIyBl bGlmICBfX1VTRV9CU0QKCQl0cC0+dG1fZ210b2ZmL0hSX1MsCiMgZWxzZQoJ CXRwLT5fX3RtX2dtdG9mZi9IUl9TLAojIGVuZGlmCgkJdHAtPnRtX2lzZHN0 IDwgMCA/ICI/IiA6IHRwLT50bV9pc2RzdCA/ICJkIiA6ICJzIiwKIyBpZmRl ZiBfX1RNX1pPTkUKCQl0cC0+X19UTV9aT05FLAojIGVsaWYgIF9fVVNFX0JT RAoJCXRwLT50bV96b25lLAojIGVsc2UKCQl0cC0+X190bV96b25lLAojIGVu ZGlmCgkJbGFiZWwKCSAgCSk7Cn0KCgppbnQKdGVzdCggdGltZV90IHR0ICkg ewogICAgY2hhcglzc1tCVUZTSVpdCT0gIiI7CiAgICBzdHJ1Y3QgdG0gKgl0 cDsKICAgIHNpemVfdAlzdDsKICAgIGludAkJcmM7CgogICAgaWYgKEVPRiA9 PSAocmMgPSBwdXRzKCAiIiApKSkJCQlyZXR1cm4gNTsKICAgIGlmICghKHRw ID0gZ210aW1lKCAmdHQgKSkpCQkJCXJldHVybiAxOwogICAgaWYgKChyYyA9 IGR1bXAoIHRwLCAiZ20iICkpIDw9IDApCQkJcmV0dXJuIC1yYzsKICAgIGlm ICghKHRwID0gbG9jYWx0aW1lKCAmdHQgKSkpCQkJcmV0dXJuIDI7CiAgICBp ZiAoKHJjID0gZHVtcCggdHAsICJsb2NhbCIgKSkgPD0gMCkJCXJldHVybiAt cmM7CiAgICBpZiAoLTEgPT0gKHR0ID0gbWt0aW1lKCB0cCApKSkJCQlyZXR1 cm4gMzsKICAgIGlmICgocmMgPSBkdW1wKCB0cCwgIm1rIiApKSA8PSAwKQkJ CXJldHVybiAtcmM7CiAgICBpZiAoKHN0ID0gc3RyZnRpbWUoIHNzLCBzaXpl b2Ygc3MsIFRGTVQsIHRwKSkgPD0gMCkJcmV0dXJuIDQ7CiAgICBpZiAoRU9G ID09IChyYyA9IHB1dHMoIHNzICkpKQkJCXJldHVybiA1OwoKICAgIHJldHVy biAwOwp9CgoKaW50Cm1haW4oIHZvaWQgKSB7CiAgICBpbnQJcmM7CgogICAg aWYgKChyYyA9IHB1dGVudiggVFogKSkpCQkJcmV0dXJuIHJjOwogICAgaWYg KEVPRiA9PSAocmMgPSBwdXRzKCBnZXRlbnYoICJUWiIgKSkpKQlyZXR1cm4g NjsKICAgIC8qCQkgICBleHRyYSAgeWVhciAgbSBkYXkgaG91cgkqLwogICAg aWYgKChyYyA9IHRlc3QoIFMoIDAsIDE5NzAsIDEsICAxLCAgMCkpKSkJcmV0 dXJuIHJjOwogICAgaWYgKChyYyA9IHRlc3QoIFMoIDAsIDE5NzAsIDQsICA0 LCAxMykpKSkJcmV0dXJuIHJjOwogICAgaWYgKChyYyA9IHRlc3QoIFMoIDAs IDE5NzAsIDQsICA0LCAxNCkpKSkJcmV0dXJuIHJjOwogICAgaWYgKChyYyA9 IHRlc3QoIFMoIDMsIDE5NzAsIDksIDI2LCAxMykpKSkJcmV0dXJuIHJjOwog ICAgaWYgKChyYyA9IHRlc3QoIFMoIDMsIDE5NzAsIDksIDI2LCAxNCkpKSkJ cmV0dXJuIHJjOwogICAgaWYgKChyYyA9IHRlc3QoIFMoIDUsIDE5NzEsIDEs ICAxLCAgMCkpKSkJcmV0dXJuIHJjOwogICAgaWYgKChyYyA9IHRlc3QoIFMo IDUsIDE5NzEsIDQsICAzLCAxMykpKSkJcmV0dXJuIHJjOwogICAgaWYgKChy YyA9IHRlc3QoIFMoIDUsIDE5NzEsIDQsICAzLCAxNCkpKSkJcmV0dXJuIHJj OwoKICAgIHJldHVybiByYzsKfQoK --------------AB47219A5C89B73A89483E9A Content-Type: text/plain; charset=us-ascii Content-length: 219 -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --------------AB47219A5C89B73A89483E9A--