From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd41.google.com (mail-io1-xd41.google.com [IPv6:2607:f8b0:4864:20::d41]) by sourceware.org (Postfix) with ESMTPS id 0F5A73987938 for ; Wed, 30 Sep 2020 13:43:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0F5A73987938 Received: by mail-io1-xd41.google.com with SMTP id v8so1821321iom.6 for ; Wed, 30 Sep 2020 06:43:40 -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:references:in-reply-to:from:date :message-id:subject:to:cc; bh=87XnLccHAcuvIKBY5DRlSGwUSLBbaN+t0iQm7hmjbVk=; b=dT/k8J+5x7TdnKsLzxwMZQQKC5lAE+VFeCoA6XQlSPPg73rFE83FxJqAUZs44Psj72 iKEROadgm4iBLwxDq/OIRlOd46mnXx1YeQhn3/NJLVmTiEx4k7VY3qL16rmrk8Mn0lCG 5OKxjnkPqfwY51e7GaSPMyMAhDSU3Nm7ZvauhTrNQrzIPzRJsTnR6xrU3IzGG3RLng3S 8HvqdxHf05KXe3SsQKhj9q02KASHe5Fs93EA7TV2te3cNq/D0YPK+mDiDxqyBiIh27ZT AmjOCzKOZy2Z4RiwfJ4wIYYX4G3X0v3oX+s/oeCDVjoNYfuLwT/OQvbpLpYiGKd7uGHM UBYQ== X-Gm-Message-State: AOAM531H/gfEBjP2LA3ZoAo63Sofxfkms6eMGKVQ+QpIjUs+J7LfqSjt UjSMXtP6JvszAjafhusIjhYKEmjfiEBaIqydqq8= X-Google-Smtp-Source: ABdhPJyi6kQsrWeeqwkxxJQkYyTkShzgdPrSdN6OH6MTaWzxKAcvqsuJr+fM5AOGFRSpZ8/0Tm1YsERgIDs+092tlrA= X-Received: by 2002:a6b:b787:: with SMTP id h129mr1739439iof.202.1601473419491; Wed, 30 Sep 2020 06:43:39 -0700 (PDT) MIME-Version: 1.0 References: <87pn647h1h.fsf@redhat.com> <20200929165317.2yebvny6gas4jz5f@gmail.com> <3609c590-8750-a021-92fb-05ff0ba7ca7d@redhat.com> In-Reply-To: <3609c590-8750-a021-92fb-05ff0ba7ca7d@redhat.com> From: "H.J. Lu" Date: Wed, 30 Sep 2020 06:43:03 -0700 Message-ID: Subject: [PATCH] elf: Also check linked-to section for SHT_NOTE section To: Nick Clifton , Binutils Content-Type: multipart/mixed; boundary="00000000000049998a05b0881674" X-Spam-Status: No, score=-3031.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2020 13:43:42 -0000 --00000000000049998a05b0881674 Content-Type: text/plain; charset="UTF-8" On Wed, Sep 30, 2020 at 3:56 AM Nick Clifton wrote: > > Hi Fangrui, Hi H.J., > > > If the section group intention of .annobin.text is so that .annobin.text > > can be discarded if the associated .text is discarded (--gc-sections), > > an alternative is SHF_LINK_ORDER > > Sorry to bother you with this, but I am having some troubles > getting to grip with using SHF_LINK_ORDER to eliminate unused > sections. I create a small test file to compare using groups > and link_orders but it does not work as I would expect: > > % cat eliminate.s > .text > .nop > > .section .unused1, "ax", %progbits > .nop > > .section .unused2, "axG", %progbits, unused_group > .nop > > .section .gnu.note.text, "", %note > .word 1 > > .section .gnu.note1, "o", %note, .unused1 > .word 2 > > .section .gnu.note2, "G", %note, unused_group > .word 3 > > % as eliminate.s -o elminate.o > % ld -e0 --gc-sections --print-gc-sections elminate.o > ld: removing unused section '.group' in file 'eliminate.o' > ld: removing unused section '.text' in file 'eliminate.o' > ld: removing unused section '.unused1' in file 'eliminate.o' > ld: removing unused section '.unused2[unused_group]' in file 'eliminate.o' > ld: removing unused section '.gnu.note2[unused_group]' in file 'eliminate.o' > ld: a.out: sh_link of section `.gnu.note1' points to discarded section `.unused1' of `eliminate.o' > ld/: final link failed: bad value > > I thought that the sh_link from .gnu.note1 to .unused1 would mean that it > should be discarded when .unused1 is discarded. But instead I get an > error. > > I am probably doing something silly, but please could you point me in the > right direction ? > Please try this patch. -- H.J. --00000000000049998a05b0881674 Content-Type: application/x-patch; name="0001-elf-Also-check-linked-to-section-for-SHT_NOTE-sectio.patch" Content-Disposition: attachment; filename="0001-elf-Also-check-linked-to-section-for-SHT_NOTE-sectio.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kfpfvndy0 RnJvbSBjYTYzN2FkZGM0NGM0OTY4ZjNhNjA3ZTJkYTViNGIzMzdkMTdlYzVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMzAgU2VwIDIwMjAgMDY6Mzg6MTAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBlbGY6IEFs c28gY2hlY2sgbGlua2VkLXRvIHNlY3Rpb24gZm9yIFNIVF9OT1RFIHNlY3Rpb24KClNpbmNlIGEg c2VjdGlvbiBzaG91bGQgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQgaWYgYW55IG9mIGl0cyBsaW5rZWQt dG8Kc2VjdGlvbnMgd2lsbCBiZSBnYXJiYWdlIGNvbGxlY3RlZCwgY2hlY2sgbGlua2VkLXRvIHNl Y3Rpb24gZm9yIFNIVF9OT1RFCnNlY3Rpb24gYmVmb3JlIGNhbGxpbmcgZ2NfbWFya19ob29rLgoK YmZkLwoKCVBSIGxkLzI2NjgxCgkqIGVsZmxpbmsuYyAoYmZkX2VsZl9nY19zZWN0aW9ucyk6IEFs c28gY2hlY2sgbGlua2VkIHRvIHNlY3Rpb24KCWZvciBTSFRfTk9URSBzZWN0aW9uLgoKbGQvCgoJ UFIgbGQvMjY2ODEKCSogdGVzdHN1aXRlL2xkLWVsZi9wcjI2NjgxLmQ6IE5ldyB0ZXN0CgkqIHRl c3RzdWl0ZS9sZC1lbGYvcHIyNjY4MS5sOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xkLWVsZi9w cjI2NjgxLnM6IExpa2V3aXNlLgotLS0KIGJmZC9lbGZsaW5rLmMgICAgICAgICAgICAgICAgIHwg IDMgKystCiBsZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjY2ODEuZCB8ICAzICsrKwogbGQvdGVzdHN1 aXRlL2xkLWVsZi9wcjI2NjgxLmwgfCAgNSArKysrKwogbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjI2 NjgxLnMgfCAxMCArKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtZWxmL3By MjY2ODEuZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIyNjY4MS5s CiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjI2NjgxLnMKCmRpZmYg LS1naXQgYS9iZmQvZWxmbGluay5jIGIvYmZkL2VsZmxpbmsuYwppbmRleCBiNjkzNzI5M2U4Zi4u ZTIzZDE4OWI5ODMgMTAwNjQ0Ci0tLSBhL2JmZC9lbGZsaW5rLmMKKysrIGIvYmZkL2VsZmxpbmsu YwpAQCAtMTQxMDIsNyArMTQxMDIsOCBAQCBiZmRfZWxmX2djX3NlY3Rpb25zIChiZmQgKmFiZmQs IHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvKQogCQkJfHwgKGVsZl9zZWN0aW9uX2RhdGEgKG8p LT50aGlzX2hkci5zaF90eXBlCiAJCQkgICAgPT0gU0hUX0ZJTklfQVJSQVkpKSkKIAkJfHwgKGVs Zl9zZWN0aW9uX2RhdGEgKG8pLT50aGlzX2hkci5zaF90eXBlID09IFNIVF9OT1RFCi0JCSAgICAm JiBlbGZfbmV4dF9pbl9ncm91cCAobykgPT0gTlVMTCApKSkKKwkJICAgICYmIGVsZl9uZXh0X2lu X2dyb3VwIChvKSA9PSBOVUxMCisJCSAgICAmJiBlbGZfbGlua2VkX3RvX3NlY3Rpb24gKG8pID09 IE5VTEwpKSkKIAkgIHsKIAkgICAgaWYgKCFfYmZkX2VsZl9nY19tYXJrIChpbmZvLCBvLCBnY19t YXJrX2hvb2spKQogCSAgICAgIHJldHVybiBGQUxTRTsKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0 ZS9sZC1lbGYvcHIyNjY4MS5kIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjI2NjgxLmQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAxYzFjZTg5ZmI1Ci0tLSAvZGV2L251 bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjI2NjgxLmQKQEAgLTAsMCArMSwzIEBACisj bGQ6IC0tZ2Mtc2VjdGlvbnMgLS1wcmludC1nYy1zZWN0aW9ucyAtZSBfc3RhcnQKKyN3YXJuaW5n X291dHB1dDogcHIyNjY4MS5sCisjdGFyZ2V0OiBbY2hlY2tfZ2Nfc2VjdGlvbnNfYXZhaWxhYmxl XQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjI2NjgxLmwgYi9sZC90ZXN0c3Vp dGUvbGQtZWxmL3ByMjY2ODEubApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uMDVkYTliMjQ1MWYKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL3By MjY2ODEubApAQCAtMCwwICsxLDUgQEAKKyMuLi4KKy4qOiByZW1vdmluZyB1bnVzZWQgc2VjdGlv biAnXC51bnVzZWQxJyBpbiBmaWxlICd0bXBkaXIvLipcLm8nCisjLi4uCisuKjogcmVtb3Zpbmcg dW51c2VkIHNlY3Rpb24gJ1wuZ251Lm5vdGUxJyBpbiBmaWxlICd0bXBkaXIvLipcLm8nCisjLi4u CmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjY2ODEucyBiL2xkL3Rlc3RzdWl0 ZS9sZC1lbGYvcHIyNjY4MS5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li4wNDE3YmVkOWQwZAotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIy NjY4MS5zCkBAIC0wLDAgKzEsMTAgQEAKKyAgICAJLnRleHQKKwkuZ2xvYmwgX3N0YXJ0Citfc3Rh cnQ6CisJLm5vcAorCisJLnNlY3Rpb24gLnVudXNlZDEsICJheCIsICVwcm9nYml0cworCS5ub3AK KworCS5zZWN0aW9uIC5nbnUubm90ZTEsICJvIiwgJW5vdGUsIC51bnVzZWQxCisJLndvcmQgMgot LSAKMi4yNi4yCgo= --00000000000049998a05b0881674--