From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 05E8A3857371 for ; Fri, 30 Sep 2022 07:19:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 05E8A3857371 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.cz Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id CEB361F88E; Fri, 30 Sep 2022 07:19:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1664522389; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=oVRL03UH1uWGo1H6pb6aN96Zs5XdVzaAWmljciNtBas=; b=CL9IXV/Doj/bDh9cBQ0G7ABWcxkIT1ocynG8J9zzXC/RmQ/e628lbvdUVEe5+oL424c63U xU/iYgxaAPKg6FcRAqBvG8w6JLDJT+90vHi0iK8SJg+NJOsEUbYOy2uRytMRJtimt1Ieru A5QPnK3AreEa+Ta1haq/uIohgVtyLzE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1664522389; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=oVRL03UH1uWGo1H6pb6aN96Zs5XdVzaAWmljciNtBas=; b=QKhjEzVmTLefOiCiaXTpQO8VIbUPXpVVwDwF1bOuEuDXt17eGSSM6o2lV78ZTSEv4pZ38j QX+dLJpy7L/EmfCA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B484813677; Fri, 30 Sep 2022 07:19:49 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 8OPvKJWYNmO0JQAAMHmgww (envelope-from ); Fri, 30 Sep 2022 07:19:49 +0000 Content-Type: multipart/mixed; boundary="------------UwlLCtUDCxkqC2Pe64SO5tRv" Message-ID: Date: Fri, 30 Sep 2022 09:19:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Subject: Re: [PATCH] compress .gnu.debuglto_.debug_* sections if requested To: Alan Modra Cc: binutils@sourceware.org References: <7e8f08f2-6c4f-0bfb-8cd0-bec1bf6fe5c2@suse.cz> Content-Language: en-US From: =?UTF-8?Q?Martin_Li=c5=a1ka?= In-Reply-To: X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------UwlLCtUDCxkqC2Pe64SO5tRv Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 9/30/22 02:20, Alan Modra wrote: > On Thu, Sep 29, 2022 at 03:35:15PM +0200, Martin Liška wrote: >> + /* Compress/decompress DWARF debug sections with names: .debug_*, >> + .zdebug_*, .gnu.debuglto_.debug_, after the section flags is set. */ >> if ((newsect->flags & SEC_DEBUGGING) != 0 >> && (newsect->flags & SEC_HAS_CONTENTS) != 0 >> - && ((name[1] == 'd' && name[6] == '_') >> - || (name[1] == 'z' && name[7] == '_'))) >> + && (startswith (name, ".debug_") >> + || startswith (name, ".zdebug_") >> + || startswith (name, ".gnu.debuglto_.debug_"))) > > If you test "(newsect->flags & SEC_ELF_OCTETS) != 0" as well, I think > you could omit any name tests here. This would also compress > .gnu.linkonce.wi.* sections. (Not that they matter very much, I'm > just pointing out a code simplification.) Yep, I like the code simplification! > >> --- a/gas/write.c >> +++ b/gas/write.c >> @@ -1481,7 +1481,8 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) >> return; >> >> section_name = bfd_section_name (sec); >> - if (!startswith (section_name, ".debug_")) >> + if (!startswith (section_name, ".debug_") >> + && !startswith (section_name, ".gnu.debuglto_.debug_")) >> return; >> >> bool use_zstd = abfd->flags & BFD_COMPRESS_ZSTD; > > Hmm, it looks to me like this function will transform > ".gnu.debuglto_.debug_*" to ".zgnu.debuglto_.debug_*" if > --compress-debug-sections=zlib-gnu is used, which will break your > elf.c change. Please check --compress-debug-sections=zlib-gnu. Again, great comment, fixed in v2. Ready for master now? Thanks, Martin --------------UwlLCtUDCxkqC2Pe64SO5tRv Content-Type: text/x-patch; charset=UTF-8; name="0001-compress-.gnu.debuglto_.debug_-sections-if-requested.patch" Content-Disposition: attachment; filename*0="0001-compress-.gnu.debuglto_.debug_-sections-if-requested.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA4Y2ZmMzI3NjYzMDJhZjg2M2FhMWRkZjlhZTMwYTE4ZjdjODAxZWI1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gTGlza2EgPG1saXNrYUBzdXNlLmN6PgpE YXRlOiBUaHUsIDI5IFNlcCAyMDIyIDE0OjEwOjMwICswMjAwClN1YmplY3Q6IFtQQVRDSF0g Y29tcHJlc3MgLmdudS5kZWJ1Z2x0b18uZGVidWdfKiBzZWN0aW9ucyBpZiByZXF1ZXN0ZWQK ClJpZ2h0IG5vdywgd2hlbiB1c2luZyBMVE8sIHRoZSBpbnRlcm1lZGlhdGUgb2JqZWN0IGZp bGVzIGRvIGNvbnRhaW4KZGVidWcgaW5mbyBpbiBzZWN0aW9ucyBzdGFydGluZyB3aXRoIC5n bnUuZGVidWdsdG9fIHByZWZpeCBhbmQgYXJlCm5vdCBjb21wcmVzc2VkIHdoZW4gLS1jb21w cmVzcy1kZWJ1Zy1zZWN0aW9ucyBpcyB1c2VkLgoKSXQncyBhIG1pc3Rha2UgYW5kIHdlIGNh biBzYXZlIHF1aXRlIHNvbWUgZGlzayBzcGFjZS4gVGhlIGZvbGxvd2luZwpleGFtcGxlIGNv bWVzIGZyb20gdHJhbXAzZCB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIExUTyBzZWN0aW9ucwph cmUgY29tcHJlc3NlZCB3aXRoIHpsaWI6CgokIGJsb2F0eSB0cmFtcDNkLXY0LXYyLm8gLS0g dHJhbXAzZC12NC5vCiAgICBGSUxFIFNJWkUgICAgICAgIFZNIFNJWkUKIC0tLS0tLS0tLS0t LS0tICAtLS0tLS0tLS0tLS0tLQogICArODMlICAgICArMTAgIFsgPSBdICAgICAgIDAgICAg W1VubWFwcGVkXQogLTY4LjAlICAgIC00NDEgIFsgPSBdICAgICAgIDAgICAgLmdudS5kZWJ1 Z2x0b18uZGVidWdfbGluZQogLTUyLjMlICAgIC03NTkgIFsgPSBdICAgICAgIDAgICAgLmdu dS5kZWJ1Z2x0b18uZGVidWdfbGluZV9zdHIKIC02Mi40JSAtMy4yNEtpICBbID0gXSAgICAg ICAwICAgIC5nbnUuZGVidWdsdG9fLmRlYnVnX2FiYnJldgogLTY0LjglIC0xLjEyTWkgIFsg PSBdICAgICAgIDAgICAgLmdudS5kZWJ1Z2x0b18uZGVidWdfaW5mbwogLTg4LjglIC00LjU4 TWkgIFsgPSBdICAgICAgIDAgICAgLmdudS5kZWJ1Z2x0b18uZGVidWdfc3RyCiAtMjcuNyUg LTUuNzBNaSAgWyA9IF0gICAgICAgMCAgICBUT1RBTAoKYmZkL0NoYW5nZUxvZzoKCgkqIGVs Zi5jIChfYmZkX2VsZl9tYWtlX3NlY3Rpb25fZnJvbV9zaGRyKTogQ29tcHJlc3MgYWxsIGRl YnVnCgkgIGluZm8gc2VjdGlvbnMuCgpnYXMvQ2hhbmdlTG9nOgoKCSogd3JpdGUuYyAoY29t cHJlc3NfZGVidWcpOiBDb21wcmVzcyBhbHNvICIuZ251LmRlYnVnbHRvXy5kZWJ1Z18iCglp ZiB0aGUgY29tcHJlc3Npb24gYWxnb3JpdGhtIGlzIGRpZmZlcmVudCBmcm9tIHpsaWItZ251 LgotLS0KIGJmZC9lbGYuYyAgIHwgNyArKystLS0tCiBnYXMvd3JpdGUuYyB8IDQgKysrLQog MiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvYmZkL2VsZi5jIGIvYmZkL2VsZi5jCmluZGV4IGQ0OTZjMWIyOTgzLi44Y2Qy NTdmYzY1YyAxMDA2NDQKLS0tIGEvYmZkL2VsZi5jCisrKyBiL2JmZC9lbGYuYwpAQCAtMTE5 OSwxMiArMTE5OSwxMSBAQCBfYmZkX2VsZl9tYWtlX3NlY3Rpb25fZnJvbV9zaGRyIChiZmQg KmFiZmQsCiAJfQogICAgIH0KIAotICAvKiBDb21wcmVzcy9kZWNvbXByZXNzIERXQVJGIGRl YnVnIHNlY3Rpb25zIHdpdGggbmFtZXM6IC5kZWJ1Z18qIGFuZAotICAgICAuemRlYnVnXyos IGFmdGVyIHRoZSBzZWN0aW9uIGZsYWdzIGlzIHNldC4gICovCisgIC8qIENvbXByZXNzL2Rl Y29tcHJlc3MgRFdBUkYgZGVidWcgc2VjdGlvbnMgd2l0aCBuYW1lczogLmRlYnVnXyosCisg ICAgIC56ZGVidWdfKiwgLmdudS5kZWJ1Z2x0b18uZGVidWdfLCBhZnRlciB0aGUgc2VjdGlv biBmbGFncyBpcyBzZXQuICAqLwogICBpZiAoKG5ld3NlY3QtPmZsYWdzICYgU0VDX0RFQlVH R0lORykgIT0gMAogICAgICAgJiYgKG5ld3NlY3QtPmZsYWdzICYgU0VDX0hBU19DT05URU5U UykgIT0gMAotICAgICAgJiYgKChuYW1lWzFdID09ICdkJyAmJiBuYW1lWzZdID09ICdfJykK LQkgIHx8IChuYW1lWzFdID09ICd6JyAmJiBuYW1lWzddID09ICdfJykpKQorICAgICAgJiYg KG5ld3NlY3QtPmZsYWdzICYgU0VDX0VMRl9PQ1RFVFMpICE9IDApCiAgICAgewogICAgICAg ZW51bSB7IG5vdGhpbmcsIGNvbXByZXNzLCBkZWNvbXByZXNzIH0gYWN0aW9uID0gbm90aGlu ZzsKICAgICAgIGludCBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKZGlmZiAtLWdpdCBhL2dh cy93cml0ZS5jIGIvZ2FzL3dyaXRlLmMKaW5kZXggMGU0OWRmN2MwM2YuLmI4ZDUyNTMwMDZj IDEwMDY0NAotLS0gYS9nYXMvd3JpdGUuYworKysgYi9nYXMvd3JpdGUuYwpAQCAtMTQ4MSw3 ICsxNDgxLDkgQEAgY29tcHJlc3NfZGVidWcgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlYywg dm9pZCAqeHh4IEFUVFJJQlVURV9VTlVTRUQpCiAgICAgcmV0dXJuOwogCiAgIHNlY3Rpb25f bmFtZSA9IGJmZF9zZWN0aW9uX25hbWUgKHNlYyk7Ci0gIGlmICghc3RhcnRzd2l0aCAoc2Vj dGlvbl9uYW1lLCAiLmRlYnVnXyIpKQorICBpZiAoIXN0YXJ0c3dpdGggKHNlY3Rpb25fbmFt ZSwgIi5kZWJ1Z18iKQorICAgICAgJiYgKCFzdGFydHN3aXRoIChzZWN0aW9uX25hbWUsICIu Z251LmRlYnVnbHRvXy5kZWJ1Z18iKQorCSAgfHwgZmxhZ19jb21wcmVzc19kZWJ1ZyA9PSBD T01QUkVTU19ERUJVR19HTlVfWkxJQikpCiAgICAgcmV0dXJuOwogCiAgIGJvb2wgdXNlX3pz dGQgPSBhYmZkLT5mbGFncyAmIEJGRF9DT01QUkVTU19aU1REOwotLSAKMi4zNy4zCgo= --------------UwlLCtUDCxkqC2Pe64SO5tRv--