From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27098 invoked by alias); 31 Mar 2014 22:19:31 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 27087 invoked by uid 89); 31 Mar 2014 22:19:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qa0-f45.google.com Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com) (209.85.216.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 31 Mar 2014 22:19:29 +0000 Received: by mail-qa0-f45.google.com with SMTP id hw13so8827113qab.32 for ; Mon, 31 Mar 2014 15:19:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=frOQCCPVlYHrDOSN9OfbEthbU4m+5HzU4pu4ruA2FzE=; b=Yt8vSkTj1DvBpWLmaKo+kd36uxJgSFhZXPIyj5vROkqeK09iOLNldjL5PMQOX4kayM K31vpFIVNWE0umV2EdLfviTPCwjZvXv0PnI83nBR/K9avfVC9nC5nRZFyo82XVoVAkBm kj+CVpzhep8+uyF+RUjTphiqxkxR76V6Y6kPuGfO0qA/v0P3xzbSeR7qxWDXDedLQ4FI +IkNdY8FdxJTrwLnQrrn4LPyJCW7/tJyiIyyKLw2OCdbZJo4/TI3xIVfXqomRZ7n8FjY G5qoobNxcURPKmkbZiqzoWsypn1XEqPXTNau+UPqs8TPSjOMD7uXbJ57HH0Uqwc/snAC pQsg== X-Gm-Message-State: ALoCoQkLNVFmkgJqjH7YyotihTpMJb27w8qkWyJYhPPXsNSJnVTrebKToccQ447eHseKy12injNH1AhiR0XTqkx9OTQw4PU07eBGj36CCdKzWkZ3K/E8fu79fT9vwO+tlsrsJorEt4sXI7lbs1YP6nJ/WwBQgyOcJyy/rlGMGRZTHedl6RtBhM7biFjYCrZyQNjwyPHX60EcRVbaYyIwjzUSH1qJCQWP1A== MIME-Version: 1.0 X-Received: by 10.224.16.69 with SMTP id n5mr29424199qaa.7.1396304367089; Mon, 31 Mar 2014 15:19:27 -0700 (PDT) Received: by 10.140.25.209 with HTTP; Mon, 31 Mar 2014 15:19:26 -0700 (PDT) In-Reply-To: References: <20140330011513.D6435744AE@topped-with-meat.com> Date: Mon, 31 Mar 2014 22:19:00 -0000 Message-ID: Subject: Re: gold regression vs BFD ld: __ehdr_start From: Cary Coutant To: Roland McGrath Cc: Ian Lance Taylor , Roland McGrath , Binutils Content-Type: multipart/mixed; boundary=047d7bea3986ccba1504f5ee7148 X-IsSubscribed: yes X-SW-Source: 2014-03/txt/msg00326.txt.bz2 --047d7bea3986ccba1504f5ee7148 Content-Type: text/plain; charset=UTF-8 Content-length: 1045 > I was unclear. In the case of a static link with a weak undefined > reference to __ehdr_start, that must resolve to 0 normally and not > generate an error. > The case I was talking about was under -shared, when the treatment of > an undefined symbol would normally be to generate a dynamic reloc. > In that case, I think it's acceptable to generate an error instead of > going back and resizing the dynamic sections and everything you'd have > to do. OK, here's a revised patch... -cary 2014-03-31 Cary Coutant * gold/defstd.cc (in_segment): Define __ehdr_start here... * gold/layout.cc (Layout::finalize): ...Instead of here. Set the output segment when known. * gold/symtab.cc (Symbol::set_output_segment): New function. (Symbol::set_undefined): New function. * gold/symtab.h (Symbol::set_output_segment): New function. (Symbol::set_undefined): New function. * gold/target-reloc.h (issue_undefined_symbol_error): Check for hidden undefs. --047d7bea3986ccba1504f5ee7148 Content-Type: text/plain; charset=US-ASCII; name="ehdr-start-patch-2.txt" Content-Disposition: attachment; filename="ehdr-start-patch-2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_htgbke540 Content-length: 6194 MjAxNC0wMy0zMSAgQ2FyeSBDb3V0YW50ICA8Y2NvdXRhbnRAZ29vZ2xlLmNv bT4KCgkqIGdvbGQvZGVmc3RkLmNjIChpbl9zZWdtZW50KTogRGVmaW5lIF9f ZWhkcl9zdGFydCBoZXJlLi4uCgkqIGdvbGQvbGF5b3V0LmNjIChMYXlvdXQ6 OmZpbmFsaXplKTogLi4uSW5zdGVhZCBvZiBoZXJlLiAgU2V0IHRoZQoJb3V0 cHV0IHNlZ21lbnQgd2hlbiBrbm93bi4KCSogZ29sZC9zeW10YWIuY2MgKFN5 bWJvbDo6c2V0X291dHB1dF9zZWdtZW50KTogTmV3IGZ1bmN0aW9uLgoJKFN5 bWJvbDo6c2V0X3VuZGVmaW5lZCk6IE5ldyBmdW5jdGlvbi4KCSogZ29sZC9z eW10YWIuaCAoU3ltYm9sOjpzZXRfb3V0cHV0X3NlZ21lbnQpOiBOZXcgZnVu Y3Rpb24uCgkoU3ltYm9sOjpzZXRfdW5kZWZpbmVkKTogTmV3IGZ1bmN0aW9u LgoJKiBnb2xkL3RhcmdldC1yZWxvYy5oIChpc3N1ZV91bmRlZmluZWRfc3lt Ym9sX2Vycm9yKTogQ2hlY2sgZm9yCgloaWRkZW4gdW5kZWZzLgoKCmRpZmYg LS1naXQgYS9nb2xkL2RlZnN0ZC5jYyBiL2dvbGQvZGVmc3RkLmNjCmluZGV4 IGE1MGU3NWQuLmNlZTY4YTAgMTAwNjQ0Ci0tLSBhL2dvbGQvZGVmc3RkLmNj CisrKyBiL2dvbGQvZGVmc3RkLmNjCkBAIC0xNDEsNiArMTQxLDIwIEBAIGNv bnN0IERlZmluZV9zeW1ib2xfaW5fc2VnbWVudCBpbl9zZWdtZW50W10gPQog ICAgIHRydWUJCQkvLyBvbmx5X2lmX3JlZgogICB9LAogICB7CisgICAgIl9f ZWhkcl9zdGFydCIsCQkvLyBuYW1lCisgICAgZWxmY3BwOjpQVF9MT0FELAkJ Ly8gc2VnbWVudF90eXBlCisgICAgZWxmY3BwOjpQRigwKSwJCS8vIHNlZ21l bnRfZmxhZ3Nfc2V0CisgICAgZWxmY3BwOjpQRigwKSwJCS8vIHNlZ21lbnRf ZmxhZ3NfY2xlYXIKKyAgICAwLAkJCQkvLyB2YWx1ZQorICAgIDAsCQkJCS8v IHNpemUKKyAgICBlbGZjcHA6OlNUVF9OT1RZUEUsCQkvLyB0eXBlCisgICAg ZWxmY3BwOjpTVEJfR0xPQkFMLAkJLy8gYmluZGluZworICAgIGVsZmNwcDo6 U1RWX0hJRERFTiwJCS8vIHZpc2liaWxpdHkKKyAgICAwLAkJCQkvLyBub252 aXMKKyAgICBTeW1ib2w6OlNFR01FTlRfU1RBUlQsCS8vIG9mZnNldF9mcm9t X2Jhc2UKKyAgICB0cnVlCQkJLy8gb25seV9pZl9yZWYKKyAgfSwKKyAgewog ICAgICJldGV4dCIsCQkJLy8gbmFtZQogICAgIGVsZmNwcDo6UFRfTE9BRCwJ CS8vIHNlZ21lbnRfdHlwZQogICAgIGVsZmNwcDo6UEZfWCwJCS8vIHNlZ21l bnRfZmxhZ3Nfc2V0CmRpZmYgLS1naXQgYS9nb2xkL2xheW91dC5jYyBiL2dv bGQvbGF5b3V0LmNjCmluZGV4IGM5NjUxNmMuLjliZDE5YzUgMTAwNjQ0Ci0t LSBhL2dvbGQvbGF5b3V0LmNjCisrKyBiL2dvbGQvbGF5b3V0LmNjCkBAIC0y NzQzLDEyICsyNzQzLDE0IEBAIExheW91dDo6ZmluYWxpemUoY29uc3QgSW5w dXRfb2JqZWN0cyogaW5wdXRfb2JqZWN0cywgU3ltYm9sX3RhYmxlKiBzeW10 YWIsCiAgIC8vIElmIHRoZXJlIGlzIGEgbG9hZCBzZWdtZW50IHRoYXQgY29u dGFpbnMgdGhlIGZpbGUgYW5kIHByb2dyYW0gaGVhZGVycywKICAgLy8gcHJv dmlkZSBhIHN5bWJvbCBfX2VoZHJfc3RhcnQgcG9pbnRpbmcgdGhlcmUuCiAg IC8vIEEgcHJvZ3JhbSBjYW4gdXNlIHRoaXMgdG8gZXhhbWluZSBpdHNlbGYg cm9idXN0bHkuCi0gIGlmIChsb2FkX3NlZyAhPSBOVUxMKQotICAgIHN5bXRh Yi0+ZGVmaW5lX2luX291dHB1dF9zZWdtZW50KCJfX2VoZHJfc3RhcnQiLCBO VUxMLAotCQkJCSAgICAgU3ltYm9sX3RhYmxlOjpQUkVERUZJTkVELCBsb2Fk X3NlZywgMCwgMCwKLQkJCQkgICAgIGVsZmNwcDo6U1RUX05PVFlQRSwgZWxm Y3BwOjpTVEJfR0xPQkFMLAotCQkJCSAgICAgZWxmY3BwOjpTVFZfSElEREVO LCAwLAotCQkJCSAgICAgU3ltYm9sOjpTRUdNRU5UX1NUQVJULCB0cnVlKTsK KyAgU3ltYm9sICplaGRyX3N0YXJ0ID0gc3ltdGFiLT5sb29rdXAoIl9fZWhk cl9zdGFydCIpOworICBpZiAoZWhkcl9zdGFydCAhPSBOVUxMICYmIGVoZHJf c3RhcnQtPmlzX3ByZWRlZmluZWQoKSkKKyAgICB7CisgICAgICBpZiAobG9h ZF9zZWcgIT0gTlVMTCkKKwllaGRyX3N0YXJ0LT5zZXRfb3V0cHV0X3NlZ21l bnQobG9hZF9zZWcsIFN5bWJvbDo6U0VHTUVOVF9TVEFSVCk7CisgICAgICBl bHNlCisgICAgICAgIGVoZHJfc3RhcnQtPnNldF91bmRlZmluZWQoKTsKKyAg ICB9CiAKICAgLy8gU2V0IHRoZSBmaWxlIG9mZnNldHMgb2YgYWxsIHRoZSBu b24tZGF0YSBzZWN0aW9ucyB3ZSd2ZSBzZWVuIHNvCiAgIC8vIGZhciB3aGlj aCBkb24ndCBoYXZlIHRvIHdhaXQgZm9yIHRoZSBpbnB1dCBzZWN0aW9ucy4g IFdlIG5lZWQKZGlmZiAtLWdpdCBhL2dvbGQvc3ltdGFiLmNjIGIvZ29sZC9z eW10YWIuY2MKaW5kZXggMWE2OWY1Yi4uNmZhNzg4YSAxMDA2NDQKLS0tIGEv Z29sZC9zeW10YWIuY2MKKysrIGIvZ29sZC9zeW10YWIuY2MKQEAgLTUyNyw2 ICs1MjcsMzAgQEAgU3ltYm9sOjpzZXRfb3V0cHV0X3NlY3Rpb24oT3V0cHV0 X3NlY3Rpb24qIG9zKQogICAgIH0KIH0KIAorLy8gU2V0IHRoZSBzeW1ib2wn cyBvdXRwdXQgc2VnbWVudC4gIFRoaXMgaXMgdXNlZCBmb3IgcHJlLWRlZmlu ZWQKKy8vIHN5bWJvbHMgd2hvc2Ugc2VnbWVudHMgYXJlbid0IGtub3duIHVu dGlsIGFmdGVyIGxheW91dCBpcyBkb25lCisvLyAoZS5nLiwgX19laGRyX3N0 YXJ0KS4KKwordm9pZAorU3ltYm9sOjpzZXRfb3V0cHV0X3NlZ21lbnQoT3V0 cHV0X3NlZ21lbnQqIG9zLCBTZWdtZW50X29mZnNldF9iYXNlIGJhc2UpCit7 CisgIGdvbGRfYXNzZXJ0KHRoaXMtPnNvdXJjZV8gPT0gSU5fT1VUUFVUX1NF R01FTlQgJiYgdGhpcy0+aXNfcHJlZGVmaW5lZF8pOworICB0aGlzLT51Xy5p bl9vdXRwdXRfc2VnbWVudC5vdXRwdXRfc2VnbWVudCA9IG9zOworICB0aGlz LT51Xy5pbl9vdXRwdXRfc2VnbWVudC5vZmZzZXRfYmFzZSA9IGJhc2U7Cit9 CisKKy8vIFNldCB0aGUgc3ltYm9sIHRvIHVuZGVmaW5lZC4gIFRoaXMgaXMg dXNlZCBmb3IgcHJlLWRlZmluZWQKKy8vIHN5bWJvbHMgd2hvc2Ugc2VnbWVu dHMgYXJlbid0IGtub3duIHVudGlsIGFmdGVyIGxheW91dCBpcyBkb25lCisv LyAoZS5nLiwgX19laGRyX3N0YXJ0KS4KKwordm9pZAorU3ltYm9sOjpzZXRf dW5kZWZpbmVkKCkKK3sKKyAgZ29sZF9hc3NlcnQodGhpcy0+c291cmNlXyA9 PSBJTl9PVVRQVVRfU0VHTUVOVCAmJiB0aGlzLT5pc19wcmVkZWZpbmVkXyk7 CisgIHRoaXMtPnNvdXJjZV8gPSBJU19VTkRFRklORUQ7CisgIHRoaXMtPmlz X3ByZWRlZmluZWRfID0gZmFsc2U7Cit9CisKIC8vIENsYXNzIFN5bWJvbF90 YWJsZS4KIAogU3ltYm9sX3RhYmxlOjpTeW1ib2xfdGFibGUodW5zaWduZWQg aW50IGNvdW50LApkaWZmIC0tZ2l0IGEvZ29sZC9zeW10YWIuaCBiL2dvbGQv c3ltdGFiLmgKaW5kZXggYjA2YzdiNC4uZDVhYTEzNSAxMDA2NDQKLS0tIGEv Z29sZC9zeW10YWIuaAorKysgYi9nb2xkL3N5bXRhYi5oCkBAIC03ODIsNiAr NzgyLDE4IEBAIGNsYXNzIFN5bWJvbAogICB2b2lkCiAgIHNldF9vdXRwdXRf c2VjdGlvbihPdXRwdXRfc2VjdGlvbiopOwogCisgIC8vIFNldCB0aGUgc3lt Ym9sJ3Mgb3V0cHV0IHNlZ21lbnQuICBUaGlzIGlzIHVzZWQgZm9yIHByZS1k ZWZpbmVkCisgIC8vIHN5bWJvbHMgd2hvc2Ugc2VnbWVudHMgYXJlbid0IGtu b3duIHVudGlsIGFmdGVyIGxheW91dCBpcyBkb25lCisgIC8vIChlLmcuLCBf X2VoZHJfc3RhcnQpLgorICB2b2lkCisgIHNldF9vdXRwdXRfc2VnbWVudChP dXRwdXRfc2VnbWVudCosIFNlZ21lbnRfb2Zmc2V0X2Jhc2UpOworCisgIC8v IFNldCB0aGUgc3ltYm9sIHRvIHVuZGVmaW5lZC4gIFRoaXMgaXMgdXNlZCBm b3IgcHJlLWRlZmluZWQKKyAgLy8gc3ltYm9scyB3aG9zZSBzZWdtZW50cyBh cmVuJ3Qga25vd24gdW50aWwgYWZ0ZXIgbGF5b3V0IGlzIGRvbmUKKyAgLy8g KGUuZy4sIF9fZWhkcl9zdGFydCkuCisgIHZvaWQKKyAgc2V0X3VuZGVmaW5l ZCgpOworCiAgIC8vIFJldHVybiB3aGV0aGVyIHRoZXJlIHNob3VsZCBiZSBh IHdhcm5pbmcgZm9yIHJlZmVyZW5jZXMgdG8gdGhpcwogICAvLyBzeW1ib2wu CiAgIGJvb2wKZGlmZiAtLWdpdCBhL2dvbGQvdGFyZ2V0LXJlbG9jLmggYi9n b2xkL3RhcmdldC1yZWxvYy5oCmluZGV4IGY0OTAyMGEuLmI0N2FlYTggMTAw NjQ0Ci0tLSBhL2dvbGQvdGFyZ2V0LXJlbG9jLmgKKysrIGIvZ29sZC90YXJn ZXQtcmVsb2MuaApAQCAtMjE2LDYgKzIxNiwxMCBAQCBpc3N1ZV91bmRlZmlu ZWRfc3ltYm9sX2Vycm9yKGNvbnN0IFN5bWJvbCogc3ltKQogCXJldHVybiBm YWxzZTsKICAgICB9CiAKKyAgLy8gSWYgdGhlIHN5bWJvbCBpcyBoaWRkZW4s IHJlcG9ydCBpdC4KKyAgaWYgKHN5bS0+dmlzaWJpbGl0eSgpID09IGVsZmNw cDo6U1RWX0hJRERFTikKKyAgICByZXR1cm4gdHJ1ZTsKKwogICAvLyBXaGVu IGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnksIG9ubHkgcmVwb3J0IHVucmVz b2x2ZWQgc3ltYm9scyBpZgogICAvLyAteiBkZWZzIHdhcyB1c2VkLgogICBp ZiAocGFyYW1ldGVycy0+b3B0aW9ucygpLnNoYXJlZCgpICYmICFwYXJhbWV0 ZXJzLT5vcHRpb25zKCkuZGVmcygpKQo= --047d7bea3986ccba1504f5ee7148--