From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zimbra.cs.ucla.edu (zimbra.cs.ucla.edu [131.179.128.68]) by sourceware.org (Postfix) with ESMTPS id 23D433858D1E for ; Wed, 17 Aug 2022 23:10:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 23D433858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cs.ucla.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cs.ucla.edu Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4714F160091; Wed, 17 Aug 2022 16:10:24 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id h5Zs_oV-MOZg; Wed, 17 Aug 2022 16:10:22 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id D4FCB1600B3; Wed, 17 Aug 2022 16:10:22 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id eElfKEs-6orI; Wed, 17 Aug 2022 16:10:22 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id AA109160091; Wed, 17 Aug 2022 16:10:22 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------RValI0m2Ciye7pBMm9KLAGfj" Message-ID: Date: Wed, 17 Aug 2022 16:10:22 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US To: DJ Delorie References: From: Paul Eggert Organization: UCLA Computer Science Department Cc: libc-alpha@sourceware.org Subject: Re: [swbz 29035] mktime vs non-DST In-Reply-To: X-Spam-Status: No, score=-9.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, KAM_SHORT, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Aug 2022 23:10:27 -0000 This is a multi-part message in MIME format. --------------RValI0m2Ciye7pBMm9KLAGfj Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 8/17/22 14:18, DJ Delorie wrote: > if you set tm_isdst=1 in a call to mktime(), it figures out the > local DST offset and applies it regardless of timezone rules. Actually, mktime doesn't and never did that in general, because in general there's no such thing as the "local DST offset": within a single TZ setting the difference between standard time and DST need not be constant. For example, if we are currently in standard time, it's possible that the next spring-forward will add 30 minutes, while the previous fall-backward subtracted an hour. In such a situation the "local DST offset" could reasonably be thought of as 30 minutes, or 60 minutes, or even something else if there were other transitions of varying sizes at other times. Although I'm not seeing how BZ#29035 led to your diagnosis (Andreas didn't reproduce that bug), we did run into a similar problem in Gnulib, and I installed into Gnulib a patch to fix that. So I suggest syncing with Gnulib. This is a bit fancier than what you suggested, but I expect it'll fix BZ#29035 while it's also fixing the bug reported against Gnulib. Proposed glibc patches attached. Their effect is to sync glibc from Gnulib. If these patches don't fix the problem you diagnosed please let me know. --------------RValI0m2Ciye7pBMm9KLAGfj Content-Type: text/x-patch; charset=UTF-8; name="0001-Assume-HAVE_TZSET-in-time-mktime.c.patch" Content-Disposition: attachment; filename="0001-Assume-HAVE_TZSET-in-time-mktime.c.patch" Content-Transfer-Encoding: base64 RnJvbSA2NzRkNDU4ODk5NWQyNGY4YmM1MTY3ZjczZDg2NjFlZjVjODJjMmRlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDE3IEF1ZyAyMDIyIDE1OjM1OjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzJdIEFzc3VtZSBIQVZFX1RaU0VUIGluIHRpbWUvbWt0aW1lLmMKClRoaXMgcGF0Y2gg ZG9lcyBub3QgYWZmZWN0IGdsaWJjLiAgSXQgYWZmZWN0cyBvbmx5IEdudWxpYi1zcGVjaWZp Ywpjb2RlIGFuZCBpcyBmb3IgY29vcmRpbmF0aW9uIHdpdGggR251bGliLgotLS0KIHRpbWUv bWt0aW1lLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS90aW1lL21rdGltZS5jIGIvdGltZS9ta3RpbWUuYwpp bmRleCA0OTRjODliZjU0Li5hYTEyZTI4ZTE2IDEwMDY0NAotLS0gYS90aW1lL21rdGltZS5j CisrKyBiL3RpbWUvbWt0aW1lLmMKQEAgLTk0LDcgKzk0LDcgQEAgbXlfdHpzZXQgKHZvaWQp CiAgIGNvbnN0IGNoYXIgKnR6ID0gZ2V0ZW52ICgiVFoiKTsKICAgaWYgKHR6ICE9IE5VTEwg JiYgc3RyY2hyICh0eiwgJy8nKSAhPSBOVUxMKQogICAgIF9wdXRlbnYgKCJUWj0iKTsKLSMg ZWxpZiBIQVZFX1RaU0VUCisjIGVsc2UKICAgdHpzZXQgKCk7CiAjIGVuZGlmCiB9Ci0tIAoy LjM0LjEKCg== --------------RValI0m2Ciye7pBMm9KLAGfj Content-Type: text/x-patch; charset=UTF-8; name="0002-mktime-improve-heuristic-for-ca-1986-Indiana-DST.patch" Content-Disposition: attachment; filename*0="0002-mktime-improve-heuristic-for-ca-1986-Indiana-DST.patch" Content-Transfer-Encoding: base64 RnJvbSBiZmU5MTljZTNiYmEyMjE3ODQyOWM1YjM5ZGI5OGMyNmZkODMyNzJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDE3IEF1ZyAyMDIyIDE1OjM4OjU0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzJdIG1rdGltZTogaW1wcm92ZSBoZXVyaXN0aWMgZm9yIGNhLTE5ODYgSW5kaWFuYSBE U1QKClRoaXMgcGF0Y2ggc3luY3MgbWt0aW1lLmMgZnJvbSBHbnVsaWIsIGZpeGluZyBhCnBy b2JsZW0gcmVwb3J0ZWQgYnkgTWFyayBLcmVueiA8aHR0cHM6Ly9idWdzLmdudS5vcmcvNDgw ODU+LAphbmQgaXQgc2hvdWxkIGZpeCBCWiMyOTAzNSB0b28uCiogdGltZS9ta3RpbWUuYyAo X19ta3RpbWVfaW50ZXJuYWwpOiBCZSBtb3JlIGdlbmVyb3VzIGFib3V0CmFjY2VwdGluZyBh cmd1bWVudHMgd2l0aCB0aGUgd3JvbmcgdmFsdWUgb2YgdG1faXNkc3QsIGJ5IGZhbGxpbmcK YmFjayB0byBhIG9uZS1ob3VyIERTVCBkaWZmZXJlbmNlIGlmIHdlIGZpbmQgbm8gbmVhcmJ5 IERTVCB0aGF0IGlzCnVudXN1YWwuICBUaGlzIGZpeGVzIGEgcHJvYmxlbSB3aGVyZSAiMTk4 Ni0wNC0yOCAwMDowMCBFRFQiIHdhcwpyZWplY3RlZCB3aGVuIFRaPSJBbWVyaWNhL0luZGlh bmFwb2xpcyIgYmVjYXVzZSB0aGUgbmVhcmVzdCBEU1QKdGltZXN0YW1wIG9jY3VycmVkIGlu IDE5NzAsIGEgdGVtcG9yYWwgZGlzdGFuY2UgdG9vIGdyZWF0IGZvciB0aGUKb2xkIGhldXJp c3RpYy4gIFRoaXMgYWxzbyBhbHNvIG5hcnJvd3MgdGhlIHNlYXJjaCBhIGJpdCwgd2hpY2gK aXMgYSBtaW5vciBwZXJmb3JtYW5jZSB3aW4uCi0tLQogdGltZS9ta3RpbWUuYyB8IDI4ICsr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3RpbWUvbWt0aW1lLmMgYi90 aW1lL21rdGltZS5jCmluZGV4IGFhMTJlMjhlMTYuLjdkYzlkNjdlZjkgMTAwNjQ0Ci0tLSBh L3RpbWUvbWt0aW1lLmMKKysrIGIvdGltZS9ta3RpbWUuYwpAQCAtNDI5LDggKzQyOSwxMyBA QCBfX21rdGltZV9pbnRlcm5hbCAoc3RydWN0IHRtICp0cCwKIAkgdGltZSB3aXRoIHRoZSBy aWdodCB2YWx1ZSwgYW5kIHVzZSBpdHMgVVRDIG9mZnNldC4KIAogCSBIZXVyaXN0aWM6IHBy b2JlIHRoZSBhZGphY2VudCB0aW1lc3RhbXBzIGluIGJvdGggZGlyZWN0aW9ucywKLQkgbG9v a2luZyBmb3IgdGhlIGRlc2lyZWQgaXNkc3QuICBUaGlzIHNob3VsZCB3b3JrIGZvciBhbGwg cmVhbAotCSB0aW1lIHpvbmUgaGlzdG9yaWVzIGluIHRoZSB0eiBkYXRhYmFzZS4gICovCisJ IGxvb2tpbmcgZm9yIHRoZSBkZXNpcmVkIGlzZHN0LiAgSWYgbm9uZSBpcyBmb3VuZCB3aXRo aW4gYQorCSByZWFzb25hYmxlIGR1cmF0aW9uIGJvdW5kLCBhc3N1bWUgYSBvbmUtaG91ciBE U1QgZGlmZmVyZW5jZS4KKwkgVGhpcyBzaG91bGQgd29yayBmb3IgYWxsIHJlYWwgdGltZSB6 b25lIGhpc3RvcmllcyBpbiB0aGUgdHoKKwkgZGF0YWJhc2UuICAqLworCisgICAgICAvKiAr MSBpZiB3ZSB3YW50ZWQgc3RhbmRhcmQgdGltZSBidXQgZ290IERTVCwgLTEgaWYgdGhlIHJl dmVyc2UuICAqLworICAgICAgaW50IGRzdF9kaWZmZXJlbmNlID0gKGlzZHN0ID09IDApIC0g KHRtLnRtX2lzZHN0ID09IDApOwogCiAgICAgICAvKiBEaXN0YW5jZSBiZXR3ZWVuIHByb2Jl cyB3aGVuIGxvb2tpbmcgZm9yIGEgRFNUIGJvdW5kYXJ5LiAgSW4KIAkgdHpkYXRhMjAwM2Es IHRoZSBzaG9ydGVzdCBwZXJpb2Qgb2YgRFNUIGlzIDYwMTIwMCBzZWNvbmRzCkBAIC00NDEs MTIgKzQ0NiwxNCBAQCBfX21rdGltZV9pbnRlcm5hbCAoc3RydWN0IHRtICp0cCwKIAkgcGVy aW9kcyB3aGVuIHByb2JpbmcuICAqLwogICAgICAgaW50IHN0cmlkZSA9IDYwMTIwMDsKIAot ICAgICAgLyogVGhlIGxvbmdlc3QgcGVyaW9kIG9mIERTVCBpbiB0emRhdGEyMDAzYSBpcyA1 MzY0NTQwMDAgc2Vjb25kcwotCSAoZS5nLiwgQW1lcmljYS9KdWp1eSBzdGFydGluZyAxOTQ2 LTEwLTAxIDAxOjAwKS4gIFRoZSBsb25nZXN0Ci0JIHBlcmlvZCBvZiBub24tRFNUIGlzIG11 Y2ggbG9uZ2VyLCBidXQgaXQgbWFrZXMgbm8gcmVhbCBzZW5zZQotCSB0byBzZWFyY2ggZm9y IG1vcmUgdGhhbiBhIHllYXIgb2Ygbm9uLURTVCwgc28gdXNlIHRoZSBEU1QKLQkgbWF4LiAg Ki8KLSAgICAgIGludCBkdXJhdGlvbl9tYXggPSA1MzY0NTQwMDA7CisgICAgICAvKiBJbiBU WkRCIDIwMjFlLCB0aGUgbG9uZ2VzdCBwZXJpb2Qgb2YgRFNUIChvciBvZiBub24tRFNUKSwg aW4KKwkgd2hpY2ggdGhlIERTVCAob3IgYWRqYWNlbnQgRFNUKSBkaWZmZXJlbmNlIGlzIG5v dCBvbmUgaG91ciwKKwkgaXMgNDU3MjQzMjA5IHNlY29uZHM6IGUuZy4sIEFtZXJpY2EvQ2Ft YnJpZGdlX0JheSB3aXRoIGxlYXAKKwkgc2Vjb25kcywgc3RhcnRpbmcgMTk2NS0xMC0zMSAw MDowMCBpbiBhIHN3aXRjaCBmcm9tCisJIGRvdWJsZS1kYXlsaWdodCB0aW1lICgtMDUpIHRv IHN0YW5kYXJkIHRpbWUgKC0wNyksIGFuZAorCSBjb250aW51aW5nIHRvIDE5ODAtMDQtMjcg MDI6MDAgaW4gYSBzd2l0Y2ggZnJvbSBzdGFuZGFyZCB0aW1lCisJICgtMDcpIHRvIGRheWxp Z2h0IHRpbWUgKC0wNikuICAqLworICAgICAgaW50IGR1cmF0aW9uX21heCA9IDQ1NzI0MzIw OTsKIAogICAgICAgLyogU2VhcmNoIGluIGJvdGggZGlyZWN0aW9ucywgc28gdGhlIG1heGlt dW0gZGlzdGFuY2UgaXMgaGFsZgogCSB0aGUgZHVyYXRpb247IGFkZCB0aGUgc3RyaWRlIHRv IGF2b2lkIG9mZi1ieS0xIHByb2JsZW1zLiAgKi8KQEAgLTQ4Myw2ICs0OTAsMTEgQEAgX19t a3RpbWVfaW50ZXJuYWwgKHN0cnVjdCB0bSAqdHAsCiAJICAgICAgfQogCSAgfQogCisgICAg ICAvKiBObyB1bnVzdWFsIERTVCBvZmZzZXQgd2FzIGZvdW5kIG5lYXJieS4gIEFzc3VtZSBv bmUtaG91ciBEU1QuICAqLworICAgICAgdCArPSA2MCAqIDYwICogZHN0X2RpZmZlcmVuY2U7 CisgICAgICBpZiAobWt0aW1lX21pbiA8PSB0ICYmIHQgPD0gbWt0aW1lX21heCAmJiBjb252 ZXJ0X3RpbWUgKGNvbnZlcnQsIHQsICZ0bSkpCisJZ290byBvZmZzZXRfZm91bmQ7CisKICAg ICAgIF9fc2V0X2Vycm5vIChFT1ZFUkZMT1cpOwogICAgICAgcmV0dXJuIC0xOwogICAgIH0K LS0gCjIuMzQuMQoK --------------RValI0m2Ciye7pBMm9KLAGfj--