From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31735 invoked by alias); 13 Mar 2017 20:35:38 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 31718 invoked by uid 89); 13 Mar 2017 20:35:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy=HTo:U*palves X-HELO: gnu.wildebeest.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (212.238.236.112) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 13 Mar 2017 20:35:35 +0000 Received: from tarox.wildebeest.org (herd.wildebeest.org [80.127.118.209]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 9512030012D1; Mon, 13 Mar 2017 21:35:34 +0100 (CET) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id 7F2B94000700; Mon, 13 Mar 2017 21:35:34 +0100 (CET) Message-ID: <1489437334.21350.72.camel@klomp.org> Subject: Re: [PATCH] libiberty: Initialize d_printing in all cplus_demangle_* functions. From: Mark Wielaard To: Pedro Alves Cc: Markus Trippelsdorf , gdb-patches@sourceware.org, Nathan Sidwell , Ian Lance Taylor , Nick Clifton Date: Mon, 13 Mar 2017 20:35:00 -0000 In-Reply-To: References: <1489356354-27648-1-git-send-email-mark@klomp.org> <20170313181150.GA287@x4> <20170313182959.GC2167@stream> Content-Type: multipart/mixed; boundary="=-Qh/nM4Auwl96ncPW9/20" Mime-Version: 1.0 X-SW-Source: 2017-03/txt/msg00204.txt.bz2 --=-Qh/nM4Auwl96ncPW9/20 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 1612 Hi, Switching mailinglist from gcc to gdb. On Mon, 2017-03-13 at 18:54 +0000, Pedro Alves wrote: > On 03/13/2017 06:29 PM, Mark Wielaard wrote: >=20 > > O, sorry. I should have let Nick known about the gdb regressions I foun= d. > > Besides this patch gdb needs the following one-liner fix: > >=20 > > diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y > > index fd1e949..5278c05 100644 > > --- a/gdb/cp-name-parser.y > > +++ b/gdb/cp-name-parser.y > > @@ -201,6 +201,7 @@ make_empty (enum demangle_component_type d_type) > > { > > struct demangle_component *ret =3D d_grab (); > > ret->type =3D d_type; > > + ret->d_printing =3D 0; > > return ret; > > } >=20 > Should gdb be memsetting instead to avoid having to know about > libiberty's "internals"? Maybe. But I went with the version I tested. Basically none of this would be needed if gdb only used the cplus_demangle_fill_* functions to initialize the data structures (although that is where there was a bug, but that is now fixed). cp-name-parser.y however sometimes uses the cplus_demangle_fill functions, but other times fills in the data structures by hand (using its own partial fill function make_empty). I know too little of this code to know why. Maybe the set of cplus_demangle_fill functions isn't complete enough or maybe the way the parser works not all information needed is there yet to call cplus_demangle_fill or maybe doing it by hand just felt more efficient? > Either version is pre-approved for GDB. Thanks. I checked in the attached to merge libiberty again and fix cp-name-parser.y make_empty. Cheers, Mark --=-Qh/nM4Auwl96ncPW9/20 Content-Disposition: inline; filename*0=0001-Merge-libiberty-Initialize-d_printing-in-all-cplus_d.pat; filename*1=ch Content-Type: text/x-patch; name="0001-Merge-libiberty-Initialize-d_printing-in-all-cplus_d.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 Content-length: 5035 RnJvbSBiOWRhODlkMTYxZTM5MDNmYWEzMzVmNDQ0YWYyYmYwNWU0MGY5MjZl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBtYXJrIDxtYXJrQDEz OGJjNzVkLTBkMDQtMDQxMC05NjFmLTgyZWU3MmIwNTRhND4KRGF0ZTogTW9u LCAxMyBNYXIgMjAxNyAxODoyNjo0NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hd IE1lcmdlIGxpYmliZXJ0eTogSW5pdGlhbGl6ZSBkX3ByaW50aW5nIGluIGFs bAogY3BsdXNfZGVtYW5nbGVfZmlsbF8qIGZ1bmN0aW9ucy4KCldoaWxlIGlu dGVncmF0aW5nIHRoZSBkX3ByaW50aW5nIHJlY3Vyc2lvbiBndWFyZCBjaGFu Z2UgaW50byBnZGIgSQpub3RpY2VkIHdlIGZvcmdvdCB0byBpbml0aWFsaXpl IHRoZSBkZW1hbmdsZV9jb21wb25lbnQgZF9wcmludGluZwpmaWVsZCBpbiBj cGx1c19kZW1hbmdsZV9maWxsX3tuYW1lLGV4dGVuZGVkX29wZXJhdG9yLGN0 b3IsZHRvcn0uCkFzIGlzIGRvbmUgaW4gY3BsdXNfZGVtYW5nbGVfZmlsbF97 Y29tcG9uZW50LGJ1aWx0aW5fdHlwZSxvcGVyYXRvcn0uCkl0IGhhcHBlbmVk IHRvIHdvcmsgYmVjYXVzZSBpbiBnY2MgYWxsIGRlbWFuZ2xlX2NvbXBvbmVu dHMgd2VyZQphbGxvY2F0ZWQgdGhyb3VnaCBkX21ha2VfZW1wdHkuIEJ1dCBn ZGIgaGFzIGl0cyBvd24gYWxsb2NhdGlvbgptZWNoYW5pc20gKGFzIG1pZ2h0 IG90aGVyIHVzZXJzKS4KCmxpYmliZXJ0eS9DaGFuZ2VMb2c6CgogICAgICAg KiBjcC1kZW1hbmdsZS5jIChjcGx1c19kZW1hbmdsZV9maWxsX25hbWUpOiBJ bml0aWFsaXplCiAgICAgICBkZW1hbmdsZV9jb21wb25lbnQgZF9wcmludGlu Zy4KICAgICAgIChjcGx1c19kZW1hbmdsZV9maWxsX2V4dGVuZGVkX29wZXJh dG9yKTogTGlrZXdpc2UuCiAgICAgICAoY3BsdXNfZGVtYW5nbGVfZmlsbF9j dG9yKTogTGlrZXdpc2UuCiAgICAgICAoY3BsdXNfZGVtYW5nbGVfZmlsbF9k dG9yKTogTGlrZXdpc2UuCgpnZGIvQ2hhbmdlTG9nOgoKICAgICAgICogY3At bmFtZS1wYXJzZXIueSAobWFrZV9lbXB0eSk6IEluaXRpYWxpemUgZF9wcmlu dGluZyB0byB6ZXJvLgotLS0KIGdkYi9DaGFuZ2VMb2cgICAgICAgICAgIHwg NCArKysrCiBnZGIvY3AtbmFtZS1wYXJzZXIueSAgICB8IDEgKwogbGliaWJl cnR5L0NoYW5nZUxvZyAgICAgfCA4ICsrKysrKysrCiBsaWJpYmVydHkvY3At ZGVtYW5nbGUuYyB8IDQgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ2RiL0NoYW5nZUxvZyBiL2dkYi9D aGFuZ2VMb2cKaW5kZXggZTRjNDQzMi4uN2RlMjQ5OCAxMDA2NDQKLS0tIGEv Z2RiL0NoYW5nZUxvZworKysgYi9nZGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs NyBAQAorMjAxNy0wMy0xMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAu b3JnPgorCisJKiBjcC1uYW1lLXBhcnNlci55IChtYWtlX2VtcHR5KTogSW5p dGlhbGl6ZSBkX3ByaW50aW5nIHRvIHplcm8uCisKIDIwMTctMDMtMTAgIEtl aXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CiAKIAlQUiBjKysvODIx OApkaWZmIC0tZ2l0IGEvZ2RiL2NwLW5hbWUtcGFyc2VyLnkgYi9nZGIvY3At bmFtZS1wYXJzZXIueQppbmRleCBmZDFlOTQ5Li41Mjc4YzA1IDEwMDY0NAot LS0gYS9nZGIvY3AtbmFtZS1wYXJzZXIueQorKysgYi9nZGIvY3AtbmFtZS1w YXJzZXIueQpAQCAtMjAxLDYgKzIwMSw3IEBAIG1ha2VfZW1wdHkgKGVudW0g ZGVtYW5nbGVfY29tcG9uZW50X3R5cGUgZF90eXBlKQogewogICBzdHJ1Y3Qg ZGVtYW5nbGVfY29tcG9uZW50ICpyZXQgPSBkX2dyYWIgKCk7CiAgIHJldC0+ dHlwZSA9IGRfdHlwZTsKKyAgcmV0LT5kX3ByaW50aW5nID0gMDsKICAgcmV0 dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L0NoYW5nZUxv ZyBiL2xpYmliZXJ0eS9DaGFuZ2VMb2cKaW5kZXggZTkzZTMyNy4uYjUxM2Zj ZSAxMDA2NDQKLS0tIGEvbGliaWJlcnR5L0NoYW5nZUxvZworKysgYi9saWJp YmVydHkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTctMDMtMTIg IE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KKworCSogY3AtZGVt YW5nbGUuYyAoY3BsdXNfZGVtYW5nbGVfZmlsbF9uYW1lKTogSW5pdGlhbGl6 ZQorCWRlbWFuZ2xlX2NvbXBvbmVudCBkX3ByaW50aW5nLgorCShjcGx1c19k ZW1hbmdsZV9maWxsX2V4dGVuZGVkX29wZXJhdG9yKTogTGlrZXdpc2UuCisJ KGNwbHVzX2RlbWFuZ2xlX2ZpbGxfY3Rvcik6IExpa2V3aXNlLgorCShjcGx1 c19kZW1hbmdsZV9maWxsX2R0b3IpOiBMaWtld2lzZS4KKwogMjAxNy0wMy0w OCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgogCiAJUFIgZGVt YW5nbGVyLzcwOTA5CmRpZmYgLS1naXQgYS9saWJpYmVydHkvY3AtZGVtYW5n bGUuYyBiL2xpYmliZXJ0eS9jcC1kZW1hbmdsZS5jCmluZGV4IDM0MWE0MTgu LjA0ODMyZmYgMTAwNjQ0Ci0tLSBhL2xpYmliZXJ0eS9jcC1kZW1hbmdsZS5j CisrKyBiL2xpYmliZXJ0eS9jcC1kZW1hbmdsZS5jCkBAIC04NTQsNiArODU0 LDcgQEAgY3BsdXNfZGVtYW5nbGVfZmlsbF9uYW1lIChzdHJ1Y3QgZGVtYW5n bGVfY29tcG9uZW50ICpwLCBjb25zdCBjaGFyICpzLCBpbnQgbGVuKQogewog ICBpZiAocCA9PSBOVUxMIHx8IHMgPT0gTlVMTCB8fCBsZW4gPT0gMCkKICAg ICByZXR1cm4gMDsKKyAgcC0+ZF9wcmludGluZyA9IDA7CiAgIHAtPnR5cGUg PSBERU1BTkdMRV9DT01QT05FTlRfTkFNRTsKICAgcC0+dS5zX25hbWUucyA9 IHM7CiAgIHAtPnUuc19uYW1lLmxlbiA9IGxlbjsKQEAgLTg2OSw2ICs4NzAs NyBAQCBjcGx1c19kZW1hbmdsZV9maWxsX2V4dGVuZGVkX29wZXJhdG9yIChz dHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpwLCBpbnQgYXJncywKIHsKICAg aWYgKHAgPT0gTlVMTCB8fCBhcmdzIDwgMCB8fCBuYW1lID09IE5VTEwpCiAg ICAgcmV0dXJuIDA7CisgIHAtPmRfcHJpbnRpbmcgPSAwOwogICBwLT50eXBl ID0gREVNQU5HTEVfQ09NUE9ORU5UX0VYVEVOREVEX09QRVJBVE9SOwogICBw LT51LnNfZXh0ZW5kZWRfb3BlcmF0b3IuYXJncyA9IGFyZ3M7CiAgIHAtPnUu c19leHRlbmRlZF9vcGVyYXRvci5uYW1lID0gbmFtZTsKQEAgLTg4OCw2ICs4 OTAsNyBAQCBjcGx1c19kZW1hbmdsZV9maWxsX2N0b3IgKHN0cnVjdCBkZW1h bmdsZV9jb21wb25lbnQgKnAsCiAgICAgICB8fCAoaW50KSBraW5kIDwgZ251 X3YzX2NvbXBsZXRlX29iamVjdF9jdG9yCiAgICAgICB8fCAoaW50KSBraW5k ID4gZ251X3YzX29iamVjdF9jdG9yX2dyb3VwKQogICAgIHJldHVybiAwOwor ICBwLT5kX3ByaW50aW5nID0gMDsKICAgcC0+dHlwZSA9IERFTUFOR0xFX0NP TVBPTkVOVF9DVE9SOwogICBwLT51LnNfY3Rvci5raW5kID0ga2luZDsKICAg cC0+dS5zX2N0b3IubmFtZSA9IG5hbWU7CkBAIC05MDcsNiArOTEwLDcgQEAg Y3BsdXNfZGVtYW5nbGVfZmlsbF9kdG9yIChzdHJ1Y3QgZGVtYW5nbGVfY29t cG9uZW50ICpwLAogICAgICAgfHwgKGludCkga2luZCA8IGdudV92M19kZWxl dGluZ19kdG9yCiAgICAgICB8fCAoaW50KSBraW5kID4gZ251X3YzX29iamVj dF9kdG9yX2dyb3VwKQogICAgIHJldHVybiAwOworICBwLT5kX3ByaW50aW5n ID0gMDsKICAgcC0+dHlwZSA9IERFTUFOR0xFX0NPTVBPTkVOVF9EVE9SOwog ICBwLT51LnNfZHRvci5raW5kID0ga2luZDsKICAgcC0+dS5zX2R0b3IubmFt ZSA9IG5hbWU7Ci0tIAoxLjguMy4xCgo= --=-Qh/nM4Auwl96ncPW9/20--