From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D1C5CC52D7F for ; Sat, 17 Aug 2024 17:31:17 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sfNGM-000454-JJ; Sat, 17 Aug 2024 13:30:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sfNGJ-00044Z-PL for grub-devel@gnu.org; Sat, 17 Aug 2024 13:30:48 -0400 Received: from mail-ot1-x332.google.com ([2607:f8b0:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sfNGH-0001kr-60 for grub-devel@gnu.org; Sat, 17 Aug 2024 13:30:47 -0400 Received: by mail-ot1-x332.google.com with SMTP id 46e09a7af769-70942ebcc29so2135768a34.0 for ; Sat, 17 Aug 2024 10:30:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723915843; x=1724520643; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=3ENtFm7Cli9GtEY1U8fNqHQOgjH46cGc5EK86j+IOoA=; b=ZrHww1RYsg9PmuHAM7caOpEl1G8Zpri73dRAXVdbQRtNIhBOGTE7zoc4jc9Kb+u39m LKuTM+h9Dd5NFlCWSx9+mjiuGd3j09ZVLHgiUW9TZeXsGFT3biMy6oyZSJ+FEr4vylq2 WbFTDgdVdHA6jXOIr4u5D1N4UrD20CmGss2d+Kn7CsK0cgP9/DC5OANOZK8YCx5ysp9P Rowbdnjin9LFlGOoJ/uqhnoCcL+N+k3mAgkY2aQNjigZutQFQEBBEX8pCDCdV0EPT8ww Yi9PwaqxvtIW14mUpN8EvfDxK0+SpmKFvtc8BYhxYmuQnRsknPM1h4FmgSTdTuj3Zlwx T1OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723915843; x=1724520643; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3ENtFm7Cli9GtEY1U8fNqHQOgjH46cGc5EK86j+IOoA=; b=GHT8rjTnB5bpvoC/UidXiZjDeuSjpeOCWqfEXls4SFqUI9mUrVsz/yWa7mWFU7Ueo+ lZ20xnvCqaRjbCEy8TXZi/J/HYu98/FuJL7yGK5kgliw+UKmeVo5TZIy5Eg4nsRCwLYv j0nsI8c6osTAE/Oj4V7etdOA9oz9GOl21g4uzf9nZpMQmHzwMHqk2EaM4Xy3ZhaWUmQR 9ZUB+S8C0rpRCnDHEjrNVUIo3GO7hYnroQcAhjLUoLC4sCYFE9nhLecabhvKZKUVi1nL tFj7InRFVOGQUlCMJEqXn5EslHIIYg3ic1J1tKpvjUCiBirKbbklHf+hBz1IHsT7dMIo q1PQ== X-Gm-Message-State: AOJu0YxVPgT9/cyHzJ9zn5zicA+yOFmcNc0HI58gOgXlNqPaRya0Ncil ZJVslZdISSD9lx5RMq9DqXOwIdHAPdOQPvRMKjECjmP2DVz0Z7aZjEWdMmyi5Rg= X-Google-Smtp-Source: AGHT+IHtz/5FYrT8vbX1uxf8koR1lVf+x21X4ZisLov5SGujrr7VD5GAxrOoFnZOJvcBEx6C9nNTQw== X-Received: by 2002:a05:6830:4123:b0:709:48b3:7d91 with SMTP id 46e09a7af769-70cac8491edmr6211431a34.6.1723915843083; Sat, 17 Aug 2024 10:30:43 -0700 (PDT) Received: from localhost (95-25-225-143.broadband.corbina.ru. [95.25.225.143]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-70ca6629792sm1215569a34.72.2024.08.17.10.30.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Aug 2024 10:30:42 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH v2 1/2] datetime: Support dates outside of 1901..2038 range Date: Sat, 17 Aug 2024 20:30:22 +0300 Message-Id: <20240817173023.3819-1-phcoder@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::332; envelope-from=phcoder@gmail.com; helo=mail-ot1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org U2lnbmVkLW9mZi1ieTogVmxhZGltaXIgU2VyYmluZW5rbyA8cGhjb2RlckBnbWFpbC5jb20+Ci0t LQogZ3J1Yi1jb3JlL2xpYi9kYXRldGltZS5jIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLQogaW5jbHVkZS9ncnViL2RhdGV0aW1lLmggIHwgMTUgKysrKysrKy0tLS0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2dydWItY29yZS9saWIvZGF0ZXRpbWUuYyBiL2dydWItY29yZS9saWIvZGF0ZXRpbWUu YwppbmRleCA5MTIwMTI4Y2EuLmU0YmRjNWM0ZiAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2xpYi9k YXRldGltZS5jCisrKyBiL2dydWItY29yZS9saWIvZGF0ZXRpbWUuYwpAQCAtNTksNiArNTksOCBA QCBncnViX2dldF93ZWVrZGF5X25hbWUgKHN0cnVjdCBncnViX2RhdGV0aW1lICpkYXRldGltZSkK ICNkZWZpbmUgU0VDUEVSREFZICgyNCpTRUNQRVJIT1VSKQogI2RlZmluZSBEQVlTUEVSWUVBUiAz NjUKICNkZWZpbmUgREFZU1BFUjRZRUFSUyAoNCpEQVlTUEVSWUVBUisxKQorI2RlZmluZSBEQVlT UEVSMTAwWUVBUlMgKDEwMCpEQVlTUEVSWUVBUisyNCkKKyNkZWZpbmUgREFZU1BFUjQwMFlFQVJT ICg0MDAqREFZU1BFUllFQVIrOTcpCiAKIAogdm9pZApAQCAtNzEsNyArNzMsNyBAQCBncnViX3Vu aXh0aW1lMmRhdGV0aW1lIChncnViX2ludDY0X3Qgbml4LCBzdHJ1Y3QgZ3J1Yl9kYXRldGltZSAq ZGF0ZXRpbWUpCiAgIC8qIENvbnZlbmllbmNlOiBsZXQncyBoYXZlIDMgY29uc2VjdXRpdmUgbm9u LWJpc3NleHRpbGUgeWVhcnMKICAgICAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgY291bnRpbmcg ZGF0ZS4gU28gY291bnQgZnJvbSAxOTAxLiAqLwogICBpbnQgZGF5c19lcG9jaDsKLSAgLyogTnVt YmVyIG9mIGRheXMgc2luY2UgMXN0IEphbnVhciwgMTkwMS4gICovCisgIC8qIE51bWJlciBvZiBk YXlzIHNpbmNlIDFzdCBKYW51YXJ5LCAxIChwcm9sZXB0aWMpLiAgKi8KICAgdW5zaWduZWQgZGF5 czsKICAgLyogU2Vjb25kcyBpbnRvIGN1cnJlbnQgZGF5LiAgKi8KICAgdW5zaWduZWQgc2Vjc19p bl9kYXk7CkBAIC04Nyw5ICs4OSwyNSBAQCBncnViX3VuaXh0aW1lMmRhdGV0aW1lIChncnViX2lu dDY0X3Qgbml4LCBzdHJ1Y3QgZ3J1Yl9kYXRldGltZSAqZGF0ZXRpbWUpCiAgICAgZGF5c19lcG9j aCA9IGdydWJfZGl2bW9kNjQgKG5peCwgU0VDUEVSREFZLCBOVUxMKTsKIAogICBzZWNzX2luX2Rh eSA9IG5peCAtIGRheXNfZXBvY2ggKiBTRUNQRVJEQVk7Ci0gIGRheXMgPSBkYXlzX2Vwb2NoICsg NjkgKiBEQVlTUEVSWUVBUiArIDE3OworICBkYXlzID0gZGF5c19lcG9jaCArIDM2OSAqIERBWVNQ RVJZRUFSICsgMTcgKyAyNCAqIDMgKyA0ICogREFZU1BFUjQwMFlFQVJTOwogCi0gIGRhdGV0aW1l LT55ZWFyID0gMTkwMSArIDQgKiAoZGF5cyAvIERBWVNQRVI0WUVBUlMpOworICBkYXRldGltZS0+ eWVhciA9IDEgKyA0MDAgKiAoZGF5cyAvIERBWVNQRVI0MDBZRUFSUyk7CisgIGRheXMgJT0gREFZ U1BFUjQwMFlFQVJTOworCisgIC8qIE9uIDMxc3QgRGVjZW1iZXIgb2YgYmlzc2V4dGlsZSB5ZWFy cyAzNjUgZGF5cyBmcm9tIHRoZSBiZWdpbm5pbmcKKyAgICAgb2YgdGhlIHllYXIgZWxhcHNlZCBi dXQgeWVhciBpc24ndCBmaW5pc2hlZCB5ZXQgKi8KKyAgaWYgKGRheXMgLyBEQVlTUEVSMTAwWUVB UlMgPT0gNCkKKyAgICB7CisgICAgICBkYXRldGltZS0+eWVhciArPSAzOTY7CisgICAgICBkYXlz IC09IDM5NipEQVlTUEVSWUVBUiArIDk2OworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIGRh dGV0aW1lLT55ZWFyICs9IDEwMCAqIChkYXlzIC8gREFZU1BFUjEwMFlFQVJTKTsKKyAgICAgIGRh eXMgJT0gREFZU1BFUjEwMFlFQVJTOworICAgIH0KKworICBkYXRldGltZS0+eWVhciArPSA0ICog KGRheXMgLyBEQVlTUEVSNFlFQVJTKTsKICAgZGF5cyAlPSBEQVlTUEVSNFlFQVJTOwogICAvKiBP biAzMXN0IERlY2VtYmVyIG9mIGJpc3NleHRpbGUgeWVhcnMgMzY1IGRheXMgZnJvbSB0aGUgYmVn aW5uaW5nCiAgICAgIG9mIHRoZSB5ZWFyIGVsYXBzZWQgYnV0IHllYXIgaXNuJ3QgZmluaXNoZWQg eWV0ICovCkBAIC0xMDMsMTEgKzEyMSwxMCBAQCBncnViX3VuaXh0aW1lMmRhdGV0aW1lIChncnVi X2ludDY0X3Qgbml4LCBzdHJ1Y3QgZ3J1Yl9kYXRldGltZSAqZGF0ZXRpbWUpCiAgICAgICBkYXRl dGltZS0+eWVhciArPSBkYXlzIC8gREFZU1BFUllFQVI7CiAgICAgICBkYXlzICU9IERBWVNQRVJZ RUFSOwogICAgIH0KKyAgaW50IGlzYmlzZXh0aWxlID0gZGF0ZXRpbWUtPnllYXIgJSA0ID09IDAg JiYgKGRhdGV0aW1lLT55ZWFyICUgMTAwICE9IDAgfHwgZGF0ZXRpbWUtPnllYXIgJSA0MDAgPT0g MCk7CiAgIGZvciAoaSA9IDA7IGkgPCAxMgotCSAmJiBkYXlzID49IChpPT0xICYmIGRhdGV0aW1l LT55ZWFyICUgNCA9PSAwCi0JCSAgICAgID8gMjkgOiBtb250aHNbaV0pOyBpKyspCi0gICAgZGF5 cyAtPSAoaT09MSAmJiBkYXRldGltZS0+eWVhciAlIDQgPT0gMAotCQkJICAgID8gMjkgOiBtb250 aHNbaV0pOworCSAmJiBkYXlzID49IChpPT0xICYmIGlzYmlzZXh0aWxlID8gMjkgOiBtb250aHNb aV0pOyBpKyspCisgICAgZGF5cyAtPSAoaT09MSAmJiBpc2Jpc2V4dGlsZSA/IDI5IDogbW9udGhz W2ldKTsKICAgZGF0ZXRpbWUtPm1vbnRoID0gaSArIDE7CiAgIGRhdGV0aW1lLT5kYXkgPSAxICsg ZGF5czsKICAgZGF0ZXRpbWUtPmhvdXIgPSAoc2Vjc19pbl9kYXkgLyBTRUNQRVJIT1VSKTsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZ3J1Yi9kYXRldGltZS5oIGIvaW5jbHVkZS9ncnViL2RhdGV0aW1l LmgKaW5kZXggYmNlYzYzNmYwLi45Mjg5YjBkMDAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZ3J1Yi9k YXRldGltZS5oCisrKyBiL2luY2x1ZGUvZ3J1Yi9kYXRldGltZS5oCkBAIC01NCw3ICs1NCw3IEBA IHZvaWQgZ3J1Yl91bml4dGltZTJkYXRldGltZSAoZ3J1Yl9pbnQ2NF90IG5peCwKIHN0YXRpYyBp bmxpbmUgaW50CiBncnViX2RhdGV0aW1lMnVuaXh0aW1lIChjb25zdCBzdHJ1Y3QgZ3J1Yl9kYXRl dGltZSAqZGF0ZXRpbWUsIGdydWJfaW50NjRfdCAqbml4KQogewotICBncnViX2ludDMyX3QgcmV0 OworICBncnViX2ludDY0X3QgcmV0OwogICBpbnQgeTQsIGF5OwogICBjb25zdCBncnViX3VpbnQx Nl90IG1vbnRoc3N1bVsxMl0KICAgICA9IHsgMCwKQEAgLTc1LDE1ICs3NSwxMSBAQCBncnViX2Rh dGV0aW1lMnVuaXh0aW1lIChjb25zdCBzdHJ1Y3QgZ3J1Yl9kYXRldGltZSAqZGF0ZXRpbWUsIGdy dWJfaW50NjRfdCAqbml4KQogICBjb25zdCBpbnQgU0VDUEVSSE9VUiA9IDYwICogU0VDUEVSTUlO OwogICBjb25zdCBpbnQgU0VDUEVSREFZID0gMjQgKiBTRUNQRVJIT1VSOwogICBjb25zdCBpbnQg U0VDUEVSWUVBUiA9IDM2NSAqIFNFQ1BFUkRBWTsKLSAgY29uc3QgaW50IFNFQ1BFUjRZRUFSUyA9 IDQgKiBTRUNQRVJZRUFSICsgU0VDUEVSREFZOworICBjb25zdCBncnViX2ludDY0X3QgU0VDUEVS NFlFQVJTID0gNCAqIFNFQ1BFUllFQVIgKyBTRUNQRVJEQVk7CiAKLSAgaWYgKGRhdGV0aW1lLT55 ZWFyID4gMjAzOCB8fCBkYXRldGltZS0+eWVhciA8IDE5MDEpCi0gICAgcmV0dXJuIDA7CiAgIGlm IChkYXRldGltZS0+bW9udGggPiAxMiB8fCBkYXRldGltZS0+bW9udGggPCAxKQogICAgIHJldHVy biAwOwogCi0gIC8qIEluIHRoZSBwZXJpb2Qgb2YgdmFsaWRpdHkgb2YgdW5peHRpbWUgYWxsIHll YXJzIGRpdmlzaWJsZSBieSA0Ci0gICAgIGFyZSBiaXNzZXh0aWxlKi8KICAgLyogQ29udmVuaWVu Y2U6IGxldCdzIGhhdmUgMyBjb25zZWN1dGl2ZSBub24tYmlzc2V4dGlsZSB5ZWFycwogICAgICBh dCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBlcG9jaC4gU28gY291bnQgZnJvbSAxOTczIGluc3RlYWQg b2YgMTk3MCAqLwogICByZXQgPSAzICogU0VDUEVSWUVBUiArIFNFQ1BFUkRBWTsKQEAgLTk0LDEz ICs5MCwxNiBAQCBncnViX2RhdGV0aW1lMnVuaXh0aW1lIChjb25zdCBzdHJ1Y3QgZ3J1Yl9kYXRl dGltZSAqZGF0ZXRpbWUsIGdydWJfaW50NjRfdCAqbml4KQogICByZXQgKz0geTQgKiBTRUNQRVI0 WUVBUlM7CiAgIHJldCArPSBheSAqIFNFQ1BFUllFQVI7CiAKKyAgcmV0IC09ICgoZGF0ZXRpbWUt PnllYXIgLSAxKSAvIDEwMCAtIChkYXRldGltZS0+eWVhciAtIDEpIC8gNDAwIC0gMTUpICogU0VD UEVSREFZOworCiAgIHJldCArPSBtb250aHNzdW1bZGF0ZXRpbWUtPm1vbnRoIC0gMV0gKiBTRUNQ RVJEQVk7Ci0gIGlmIChheSA9PSAzICYmIGRhdGV0aW1lLT5tb250aCA+PSAzKQorICBpbnQgaXNi aXNleHRpbGUgPSBheSA9PSAzICYmIChkYXRldGltZS0+eWVhciAlIDEwMCAhPSAwIHx8IGRhdGV0 aW1lLT55ZWFyICUgNDAwID09IDApOworICBpZiAoaXNiaXNleHRpbGUgJiYgZGF0ZXRpbWUtPm1v bnRoID49IDMpCiAgICAgcmV0ICs9IFNFQ1BFUkRBWTsKIAogICByZXQgKz0gKGRhdGV0aW1lLT5k YXkgLSAxKSAqIFNFQ1BFUkRBWTsKICAgaWYgKChkYXRldGltZS0+ZGF5ID4gbW9udGhzW2RhdGV0 aW1lLT5tb250aCAtIDFdCi0gICAgICAgJiYgKCFheSB8fCBkYXRldGltZS0+bW9udGggIT0gMiB8 fCBkYXRldGltZS0+ZGF5ICE9IDI5KSkKKyAgICAgICAmJiAhKGlzYmlzZXh0aWxlICYmIGRhdGV0 aW1lLT5tb250aCA9PSAyICYmIGRhdGV0aW1lLT5kYXkgPT0gMjkpKQogICAgICAgfHwgZGF0ZXRp bWUtPmRheSA8IDEpCiAgICAgcmV0dXJuIDA7CiAKLS0gCjIuMzkuMgoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0 CkdydWItZGV2ZWxAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5m by9ncnViLWRldmVsCg==