From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 44531 invoked by alias); 2 May 2017 20:57:51 -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 44514 invoked by uid 89); 2 May 2017 20:57:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=H*c:sk:001a11c, UND X-HELO: mail-qt0-f170.google.com Received: from mail-qt0-f170.google.com (HELO mail-qt0-f170.google.com) (209.85.216.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 02 May 2017 20:57:48 +0000 Received: by mail-qt0-f170.google.com with SMTP id g60so123303055qtd.3 for ; Tue, 02 May 2017 13:57:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=eO/2DdHvIGI6CKp3u5Sk9NWHrqvrO06OL1JVcN5dsBI=; b=t4PfQPNCoNXnRCqKOSlBi2DlF9fpYcU88WIdXwasVtY1Px6IBmVB1MY6VEaeNw/2/o gjAlq1f2fQuo0YqzkAxiPTYOucthd8FdQ0OuMP0im+PVVDyVhieKyDNn+JuKk4z4YbFe 64YZlgJCXqLMq+e+6h7nmpnaHJYUt0XrzUhnDQFUq9+dS4kkyd7DdhkJTuJfkcqz5zgO 8I0EHaJ5sGPFV/Vxhw3/fJ8poBc4uvqzRBZjRit8hFokog4noOsjsBghSwSzE7WfEC4e lrrh8KHSijgt/wJ5Y5/qJW9Cb/bVVFD/rVs6LiOI9jX8XsCgcFyYtnAFxCixaA+coLX4 4eYg== X-Gm-Message-State: AN3rC/6lCRhXa4EejocCvnpEoboH7Dn9h5aCAHbfZZ6HR2Wy2i/Xeoa3 WvsXI2V8y16gUGsD6jdHDUvDp5xrmA== X-Received: by 10.200.45.60 with SMTP id n57mr30566166qta.15.1493758669538; Tue, 02 May 2017 13:57:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.48.197 with HTTP; Tue, 2 May 2017 13:57:49 -0700 (PDT) In-Reply-To: <20170502152227.GG24006@bubble.grove.modra.org> References: <20170502152227.GG24006@bubble.grove.modra.org> From: "H.J. Lu" Date: Tue, 02 May 2017 20:57:00 -0000 Message-ID: Subject: Re: PR 21384, --dynamic-list regression with f02cb058 To: Alan Modra Cc: Binutils Content-Type: multipart/mixed; boundary=001a11c03082e0ed9c054e90cac6 X-IsSubscribed: yes X-SW-Source: 2017-05/txt/msg00029.txt.bz2 --001a11c03082e0ed9c054e90cac6 Content-Type: text/plain; charset=UTF-8 Content-length: 2494 On Tue, May 2, 2017 at 8:22 AM, Alan Modra wrote: > The commit to "Always descend into output section statements in > lang_do_assignments" meant that linker script symbols were not > bfd_link_hash_new when ld called bfd_elf_record_link_assignment. > This patch corrects that problem by testing h->non_elf instead. > > PR 21384 > * elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf > rather than h->root.type == bfd_link_hash_new. > (bfd_elf_record_link_assignment): Similarly, call > bfd_elf_link_mark_dynamic_symbol when h->non_elf. > > diff --git a/bfd/ChangeLog b/bfd/ChangeLog > index dff6a59..c62cf13 100644 > --- a/bfd/ChangeLog > +++ b/bfd/ChangeLog > @@ -1,3 +1,11 @@ > +2017-05-02 Alan Modra > + > + PR 21384 > + * elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf > + rather than h->root.type == bfd_link_hash_new. > + (bfd_elf_record_link_assignment): Similarly, call > + bfd_elf_link_mark_dynamic_symbol when h->non_elf. > + > 2017-04-29 Alan Modra > > PR 21432 > diff --git a/bfd/elflink.c b/bfd/elflink.c > index 4af4b1c..9acc069 100644 > --- a/bfd/elflink.c > +++ b/bfd/elflink.c > @@ -580,7 +580,7 @@ bfd_elf_link_mark_dynamic_symbol (struct bfd_link_info *info, > && (ELF_ST_TYPE (sym->st_info) == STT_OBJECT > || ELF_ST_TYPE (sym->st_info) == STT_COMMON)))) > || (d != NULL > - && h->root.type == bfd_link_hash_new > + && h->non_elf > && (*d->match) (&d->head, NULL, h->root.root.string))) > h->dynamic = 1; > } > @@ -623,6 +623,14 @@ bfd_elf_record_link_assignment (bfd *output_bfd, > } > } > > + /* Symbols defined in a linker script but not referenced anywhere > + else will have non_elf set. */ > + if (h->non_elf) > + { > + bfd_elf_link_mark_dynamic_symbol (info, h, NULL); > + h->non_elf = 0; > + } > + > switch (h->root.type) > { > case bfd_link_hash_defined: > @@ -639,8 +647,6 @@ bfd_elf_record_link_assignment (bfd *output_bfd, > bfd_link_repair_undef_list (&htab->root); > break; > case bfd_link_hash_new: > - bfd_elf_link_mark_dynamic_symbol (info, h, NULL); > - h->non_elf = 0; > break; > case bfd_link_hash_indirect: > /* We had a versioned symbol in a dynamic library. We make the > I checked in a test for this. -- H.J. --001a11c03082e0ed9c054e90cac6 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Add-a-test-for-PR-ld-21384.patch" Content-Disposition: attachment; filename="0001-Add-a-test-for-PR-ld-21384.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j281bnpf0 Content-length: 4100 RnJvbSA2NDAyMjZmMDQ4YjY3ZDc5ZGE4NTc0MjcyOGU0MDExNGM5ZWU1ZGEw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMiBNYXkgMjAxNyAxMzo1 NDoyMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBhIHRlc3QgZm9yIFBS IGxkLzIxMzg0CgoJUFIgbGQvMjEzODQKCSogdGVzdHN1aXRlL2xkLWVsZi9w cjIxMzg0LmQ6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGQtZWxmL3ByMjEz ODQuZGw6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQu bGQ6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQuczog TGlrZXdpc2UuCi0tLQogbGQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg IHwgIDggKysrKysrKysKIGxkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIyMTM4NC5k ICB8IDExICsrKysrKysrKysrCiBsZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjEz ODQuZGwgfCAgNCArKysrCiBsZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQu bGQgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCiBsZC90ZXN0c3VpdGUv bGQtZWxmL3ByMjEzODQucyAgfCAgMiArKwogNSBmaWxlcyBjaGFuZ2VkLCA0 NyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1 aXRlL2xkLWVsZi9wcjIxMzg0LmQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90 ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQuZGwKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBsZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQubGQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQucwoKZGlmZiAt LWdpdCBhL2xkL0NoYW5nZUxvZyBiL2xkL0NoYW5nZUxvZwppbmRleCAyMzg0 MDRkLi40ZmM0ZTFkIDEwMDY0NAotLS0gYS9sZC9DaGFuZ2VMb2cKKysrIGIv bGQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTctMDUtMDIgIEgu Si4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKworCVBSIGxkLzIxMzg0 CisJKiB0ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQuZDogTmV3IGZpbGUuCisJ KiB0ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQuZGw6IExpa2V3aXNlLgorCSog dGVzdHN1aXRlL2xkLWVsZi9wcjIxMzg0LmxkOiBMaWtld2lzZS4KKwkqIHRl c3RzdWl0ZS9sZC1lbGYvcHIyMTM4NC5zOiBMaWtld2lzZS4KKwogMjAxNy0w NS0wMSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgogCiAJKiB0 ZXN0c3VpdGUvbGQtaTM4Ni90bHMuZXhwOiBSdW4gR05VMiBUTFMgdGVzdHMg b25seSBpZiB0aGVyZQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWVs Zi9wcjIxMzg0LmQgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQuZApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTNhZWRjCi0t LSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjIxMzg0 LmQKQEAgLTAsMCArMSwxMSBAQAorI2xkOiAtVCBwcjIxMzg0LmxkIC0tZHlu YW1pYy1saXN0ICRzcmNkaXIvJHN1YmRpci9wcjIxMzg0LmRsIC0tbm8tZHlu YW1pYy1saW5rZXIKKyNyZWFkZWxmIDogLS1keW4tc3ltcyAtLXdpZGUKKyN0 YXJnZXQ6ICotKi1saW51eCogKi0qLWdudSogKi0qLXNvbGFyaXMqCisKK1N5 bWJvbCB0YWJsZSAnXC5keW5zeW0nIGNvbnRhaW5zIFswLTldKyBlbnRyaWVz OgorICtOdW06ICtWYWx1ZSArU2l6ZSBUeXBlICtCaW5kICtWaXMgK05keCBO YW1lCisgKzA6IDArICswICtOT1RZUEUgK0xPQ0FMICtERUZBVUxUICtVTkQg KworIy4uLgorICtbMC05XSs6ICtbYS1mMC05XSsgKzAgK05PVFlQRSArR0xP QkFMICtERUZBVUxUICtbMC05XSsgK2VkYXRhCisgK1swLTldKzogK1thLWYw LTldKyArMCArTk9UWVBFICtHTE9CQUwgK0RFRkFVTFQgK1swLTldKyArZmRh dGEKKyNwYXNzCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL3By MjEzODQuZGwgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjEzODQuZGwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE2NGRjMAotLS0g L2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIyMTM4NC5k bApAQCAtMCwwICsxLDQgQEAKK3sKKyAgZmRhdGE7CisgIGVkYXRhOworfTsK ZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIyMTM4NC5sZCBi L2xkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIyMTM4NC5sZApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzQ4ODdkCi0tLSAvZGV2L251bGwK KysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjIxMzg0LmxkCkBAIC0wLDAg KzEsMjIgQEAKK1NFQ1RJT05TCit7CisgIC5kYXRhIDoKKyAgeworICAgIGZk YXRhID0gLjsKKyAgICAqKC5kYXRhKQorICAgIGVkYXRhID0gLjsKKyAgfQor ICAuZHluYW1pYyA6IHsgKiguZHluYW1pYykgfQorICAuaGFzaCA6IHsgKigu aGFzaCkgfQorICAuZHluc3ltIDogeyAqKC5keW5zeW0pIH0KKyAgLmR5bnN0 ciA6IHsgKiguZHluc3RyKSB9CisgIC5nbnUudmVyc2lvbiA6IHsgKiguZ251 LnZlcnNpb24pIH0KKyAgLmdudS52ZXJzaW9uX2QgOiB7ICooLmdudS52ZXJz aW9uX2QpIH0KKyAgLnNoc3RydGFiIDogeyAqKC5zaHN0cnRhYikgfQorICAu c3ltdGFiIDogeyAqKC5zeW10YWIpIH0KKyAgLnN0cnRhYiA6IHsgKiguc3Ry dGFiKSB9CisgIC5wbHQgOiB7ICooLnBsdCkgfQorICAuZ290LnBsdCA6IHsg KiguZ290LnBsdCkgfQorICAuZ290IDogeyAqKC5nb3QpIH0KKyAgL0RJU0NB UkQvIDogeyAqKCopIH0KK30KZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9s ZC1lbGYvcHIyMTM4NC5zIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjIxMzg0 LnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNlNDlk NQotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIy MTM4NC5zCkBAIC0wLDAgKzEsMiBAQAorCS5kYXRhCisJLmJ5dGUJMAotLSAK Mi45LjMKCg== --001a11c03082e0ed9c054e90cac6--