From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_PDS_OTHER_BAD_TLD autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12666 invoked from network); 27 Jul 2020 11:10:14 -0000 Received: from ns1.primenet.com.au (HELO primenet.com.au) (203.24.36.2) by inbox.vuxu.org with ESMTPUTF8; 27 Jul 2020 11:10:14 -0000 Received: (qmail 25466 invoked by alias); 27 Jul 2020 11:10:04 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: Sender: zsh-workers@zsh.org X-Seq: 46265 Received: (qmail 23306 invoked by uid 1010); 27 Jul 2020 11:10:04 -0000 X-Qmail-Scanner-Diagnostics: from mail-il1-f170.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.3/25884. spamassassin: 3.4.4. Clear:RC:0(209.85.166.170):SA:0(-2.0/5.0):. Processed in 2.584552 secs); 27 Jul 2020 11:10:04 -0000 X-Envelope-From: roman.perepelitsa@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.166.170 as permitted sender) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8Ttawe87Qrif3tOZJhj/CvKoCUMuEkE2OGXFkuhaFgE=; b=liY9Zq0Hc2dznfsiv16nHzKpTlQnFWrlznsYmI37pMyBkMsgjXsVDcBM4FI+4WP/U8 U76PRa7KoyBqyigWSsgD7txmS6J7u/NupUv517ac4k5Ea+z1VmFTLFUX8/5QR6Xu3liD 31VrCVEWnU5VzHR5CUWrQ+6PLJYIunxu1Aai+U7eOP+cSru5PLw1hAWMe3tO08UeR9jV E0au2xwB6ywRtcH72Q3QnWsWsCUsLoxiTXJaov4wSUb2489uuSExKekrV9pCOXY/H70G c8bcMtNFdXcmFxF1JxGjC3NRKIeXy6fSd7GlmMeJ4LKFc44IpuJl7j5ASdK7ppz6r+c1 pbgA== X-Gm-Message-State: AOAM53272uJXD2iyOinmk6n5QnxtIt4fvbbz7OcBsVDpjbkfauA6ABis bwLziWF6OOV5Qq8jVi83jJKADjTVRE3f02uTmaM= X-Google-Smtp-Source: ABdhPJwhFX8NEk5FePhzL10FkDMcZ+IeRDI5fW2QplVCEfUImNmM72Sumjlzb60+hWJ6rzpXskqBdGxrzn6yvLi9618= X-Received: by 2002:a92:c912:: with SMTP id t18mr20174653ilp.186.1595848167740; Mon, 27 Jul 2020 04:09:27 -0700 (PDT) MIME-Version: 1.0 References: <35bf1c7b-163f-4baf-9d5a-c1d7e72459ec@www.fastmail.com> In-Reply-To: From: Roman Perepelitsa Date: Mon, 27 Jul 2020 13:09:16 +0200 Message-ID: Subject: Re: Fwd: 5.8: LTO exposes some new issues To: =?UTF-8?Q?Tomasz_K=C5=82oczko?= Cc: Daniel Shahaf , Zsh hackers list Content-Type: multipart/mixed; boundary="000000000000279ce805ab6a5b9b" --000000000000279ce805ab6a5b9b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jul 27, 2020 at 12:08 PM Tomasz K=C5=82oczko wrote: > > For someone who is maintaining that code, making such a decision should b= e > way easier. This statement is true but it's too general to be of any use here. Of course making changes is easier for maintainers than for outsiders. This doesn't mean that all changes (and this change in particular) must be made by maintainers. Anyway, I took a look at it. The problem is that `struct hashtable` has a different set of members in different translation units. This is undefined behavior whether LTO is used or not. Undefined behavior is bad, so it would be nice to have this bug fixed. A patch is attached. Roman. --000000000000279ce805ab6a5b9b Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kd4eps5n0 ZGlmZiAtLWdpdCBhL1NyYy9oYXNodGFibGUuYyBiL1NyYy9oYXNodGFibGUuYwppbmRleCBlMjEw ZGRlY2EuLmZhOWQzMTA1MiAxMDA2NDQKLS0tIGEvU3JjL2hhc2h0YWJsZS5jCisrKyBiL1NyYy9o YXNodGFibGUuYwpAQCAtMjgsMjMgKzI4LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiLi4vY29uZmln LmgiCi0KLSNpZmRlZiBaU0hfSEFTSF9ERUJVRwotIyBkZWZpbmUgSEFTSFRBQkxFX0RFQlVHX01F TUJFUlMgXAotICAgIC8qIE1lbWJlcnMgb2Ygc3RydWN0IGhhc2h0YWJsZSB1c2VkIGZvciBkZWJ1 Z2dpbmcgaGFzaCB0YWJsZXMgKi8gXAotICAgIEhhc2hUYWJsZSBuZXh0LCBsYXN0OwkvKiBsaW5r ZWQgbGlzdCBvZiBhbGwgaGFzaCB0YWJsZXMgICAgICAgICAgICovIFwKLSAgICBjaGFyICp0YWJs ZW5hbWU7CQkvKiBzdHJpbmcgY29udGFpbmluZyBuYW1lIG9mIHRoZSBoYXNoIHRhYmxlICovIFwK LSAgICBQcmludFRhYmxlU3RhdHMgcHJpbnRpbmZvOwkvKiBwb2ludGVyIHRvIGZ1bmN0aW9uIHRv IHByaW50IHRhYmxlIHN0YXRzICovCi0jZWxzZSAvKiAhWlNIX0hBU0hfREVCVUcgKi8KLSMgZGVm aW5lIEhBU0hUQUJMRV9ERUJVR19NRU1CRVJTCi0jZW5kaWYgLyogIVpTSF9IQVNIX0RFQlVHICov Ci0KLSNkZWZpbmUgSEFTSFRBQkxFX0lOVEVSTkFMX01FTUJFUlMgXAotICAgIFNjYW5TdGF0dXMg c2NhbjsJCS8qIHN0YXR1cyBvZiBhIHNjYW4gb3ZlciB0aGlzIGhhc2h0YWJsZSAgICAgKi8gXAot ICAgIEhBU0hUQUJMRV9ERUJVR19NRU1CRVJTCi0KLXR5cGVkZWYgc3RydWN0IHNjYW5zdGF0dXMg KlNjYW5TdGF0dXM7Ci0KICNpbmNsdWRlICJ6c2gubWRoIgogI2luY2x1ZGUgImhhc2h0YWJsZS5w cm8iCiAKZGlmZiAtLWdpdCBhL1NyYy96c2guaCBiL1NyYy96c2guaAppbmRleCBjNDhiZTRmZmQu LmY5Y2FhMmY2ZSAxMDA2NDQKLS0tIGEvU3JjL3pzaC5oCisrKyBiL1NyYy96c2guaApAQCAtMTE4 Miw2ICsxMTgyLDE4IEBAIHR5cGVkZWYgdm9pZCAoKlByaW50VGFibGVTdGF0cykgXygoSGFzaFRh YmxlKSk7CiAKIC8qIGhhc2ggdGFibGUgZm9yIHN0YW5kYXJkIG9wZW4gaGFzaGluZyAqLwogCisj aWZkZWYgWlNIX0hBU0hfREVCVUcKKyMgZGVmaW5lIEhBU0hUQUJMRV9ERUJVR19NRU1CRVJTIFwK KyAgICAvKiBNZW1iZXJzIG9mIHN0cnVjdCBoYXNodGFibGUgdXNlZCBmb3IgZGVidWdnaW5nIGhh c2ggdGFibGVzICovIFwKKyAgICBIYXNoVGFibGUgbmV4dCwgbGFzdDsJLyogbGlua2VkIGxpc3Qg b2YgYWxsIGhhc2ggdGFibGVzICAgICAgICAgICAqLyBcCisgICAgY2hhciAqdGFibGVuYW1lOwkJ Lyogc3RyaW5nIGNvbnRhaW5pbmcgbmFtZSBvZiB0aGUgaGFzaCB0YWJsZSAqLyBcCisgICAgUHJp bnRUYWJsZVN0YXRzIHByaW50aW5mbzsJLyogcG9pbnRlciB0byBmdW5jdGlvbiB0byBwcmludCB0 YWJsZSBzdGF0cyAqLworI2Vsc2UgLyogIVpTSF9IQVNIX0RFQlVHICovCisjIGRlZmluZSBIQVNI VEFCTEVfREVCVUdfTUVNQkVSUworI2VuZGlmIC8qICFaU0hfSEFTSF9ERUJVRyAqLworCit0eXBl ZGVmIHN0cnVjdCBzY2Fuc3RhdHVzICpTY2FuU3RhdHVzOworCiBzdHJ1Y3QgaGFzaHRhYmxlIHsK ICAgICAvKiBIQVNIVEFCTEUgREFUQSAqLwogICAgIGludCBoc2l6ZTsJCQkvKiBzaXplIG9mIG5v ZGVzW10gIChudW1iZXIgb2YgaGFzaCB2YWx1ZXMpICAgKi8KQEAgLTEyMDUsOSArMTIxNyw5IEBA IHN0cnVjdCBoYXNodGFibGUgewogICAgIFNjYW5GdW5jIHByaW50bm9kZTsJCS8qIHBvaW50ZXIg dG8gZnVuY3Rpb24gdG8gcHJpbnQgYSBub2RlICAgICAgICAqLwogICAgIFNjYW5UYWJGdW5jIHNj YW50YWI7CS8qIHBvaW50ZXIgdG8gZnVuY3Rpb24gdG8gc2NhbiB0YWJsZSAgICAgICAgICAqLwog Ci0jaWZkZWYgSEFTSFRBQkxFX0lOVEVSTkFMX01FTUJFUlMKLSAgICBIQVNIVEFCTEVfSU5URVJO QUxfTUVNQkVSUwkvKiBpbnRlcm5hbCB1c2UgaW4gaGFzaHRhYmxlLmMgICAgICAgICAgICAgICAg Ki8KLSNlbmRpZgorICAgIC8qIEhBU0hUQUJMRSBJTlRFUk5BTCBNRU1CRVJTICovCisgICAgU2Nh blN0YXR1cyBzY2FuOwkJLyogc3RhdHVzIG9mIGEgc2NhbiBvdmVyIHRoaXMgaGFzaHRhYmxlICAg ICAgICovCisgICAgSEFTSFRBQkxFX0RFQlVHX01FTUJFUlMKIH07CiAKIC8qIGdlbmVyaWMgaGFz aCB0YWJsZSBub2RlICovCg== --000000000000279ce805ab6a5b9b--