From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31407 invoked by alias); 24 Sep 2009 22:51:22 -0000 Received: (qmail 31390 invoked by uid 22791); 24 Sep 2009 22:51:21 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-yx0-f177.google.com (HELO mail-yx0-f177.google.com) (209.85.210.177) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Sep 2009 22:51:17 +0000 Received: by yxe7 with SMTP id 7so1965332yxe.25 for ; Thu, 24 Sep 2009 15:51:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.151.5.19 with SMTP id h19mr956607ybi.67.1253832675391; Thu, 24 Sep 2009 15:51:15 -0700 (PDT) In-Reply-To: <8ba6bed40909241528m1e98f425k8792016b29179239@mail.gmail.com> References: <8ba6bed40903051731s41c9183aha18af51113f3c0ea@mail.gmail.com> <20090306173345.GI3744@adacore.com> <200903061913.43419.pedro@codesourcery.com> <8ba6bed40903070407q3e91f0ffs6fc67b2b9c329081@mail.gmail.com> <8ba6bed40903080716k3fbeb56t5605aef1864b26a3@mail.gmail.com> <8ba6bed40903081910t695c9d93jc34ba1c5d2793a2e@mail.gmail.com> <8ba6bed40909110443v61597c4ci7effd224ce26f937@mail.gmail.com> <20090924005319.GD5134@adacore.com> <8ba6bed40909240124u26f24397p39a1fd0d61462451@mail.gmail.com> <8ba6bed40909241528m1e98f425k8792016b29179239@mail.gmail.com> Date: Thu, 24 Sep 2009 22:51:00 -0000 Message-ID: <8ba6bed40909241551u4e239309u8551898132369173@mail.gmail.com> Subject: Re: gdb.objc/objcdecode.exp test error.. From: Matt Rice To: Joel Brobecker Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=000e0cd4b384397abc04745aab61 X-IsSubscribed: yes 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 X-SW-Source: 2009-09/txt/msg00765.txt.bz2 --000e0cd4b384397abc04745aab61 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1979 On Thu, Sep 24, 2009 at 3:28 PM, Matt Rice wrote: > On Thu, Sep 24, 2009 at 1:24 AM, Matt Rice wrote: >> On Wed, Sep 23, 2009 at 5:53 PM, Joel Brobecker = wrote: > >>> This would not help handling the case of breakpoint expressions >>> leading to more than one location. =A0For this, once we have determined >>> all possible matches, we need to be able to store their location in >>> a way that uniquely identifies them. =A0Otherwise, we wouldn't be >>> able to "re_set" each one of them when running the program, or when >>> a new shared-library is loaded. >> >> It just occured to me that we could canonicalize these homonyms >> using '-[Foo() bar]' to mean method not in a category, and >> '-[Foo(categoryName) bar]', that also means extending decode_objc to >> accept -[Foo() bar] syntax I'm not sure if it will currently accept >> it. > > > ok, so this patch disambiguates the homonyms, > > given a method with 2 implementations: > -[Foo bar] and -[Foo(aCategoryName) bar] > > going 'break -[Foo bar]' will possibly create up to 2 breakpoints > -[Foo() bar], and -[Foo(aCategoryname) bar] > > if we get better homonym support we can still refer to them both as a > single deal, using [Foo bar] syntax, but we can also refer to each > method individually. > > I'll get working on the other part now, I see that the ada code uses > obsavestring in this, but i'm really not quite sure what its doing and > if it is possible to do this that in this fashion yet. > Doh, missing headers, lots of cruft, and missing changelog entries... itchy trigger finger, sorry. 2009-09-24 Matt Rice * symtab.c (symbol_natural_name): Call objc_decode_symbol. * objc-lang.c (objc_decode_symbol): New function. (demangle_obj): Leave category parentheses even if there is no category name. Fix for gnu coding standards. * objc-lang.h: (objc_decode_symbol): Declare. --000e0cd4b384397abc04745aab61 Content-Type: application/octet-stream; name="category.diff" Content-Disposition: attachment; filename="category.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g003kc2v1 Content-length: 5808 ZGlmZiAtLWdpdCBhL2dkYi9vYmpjLWxhbmcuYyBiL2dkYi9vYmpjLWxhbmcu YwppbmRleCAwZTRmYjcxLi5mZGQwYThjIDEwMDY0NAotLS0gYS9nZGIvb2Jq Yy1sYW5nLmMKKysrIGIvZ2RiL29iamMtbGFuZy5jCkBAIC0yMjUsNyArMjI1 LDcgQEAgb2JqY19kZW1hbmdsZSAoY29uc3QgY2hhciAqbWFuZ2xlZCwgaW50 IG9wdGlvbnMpCiAgICAgIChtYW5nbGVkWzFdID09ICdpJyB8fCBtYW5nbGVk WzFdID09ICdjJykgJiYKICAgICAgIG1hbmdsZWRbMl0gPT0gJ18nKQogICAg IHsKLSAgICAgIGNwID0gZGVtYW5nbGVkID0geG1hbGxvYyhzdHJsZW4obWFu Z2xlZCkgKyAyKTsKKyAgICAgIGNwID0gZGVtYW5nbGVkID0geG1hbGxvYyAo c3RybGVuIChtYW5nbGVkKSArIDIpOwogCiAgICAgICBpZiAobWFuZ2xlZFsx XSA9PSAnaScpCiAJKmNwKysgPSAnLSc7CQkvKiBmb3IgaW5zdGFuY2UgbWV0 aG9kICovCkBAIC0yMzMsMzMgKzIzMywzMSBAQCBvYmpjX2RlbWFuZ2xlIChj b25zdCBjaGFyICptYW5nbGVkLCBpbnQgb3B0aW9ucykKIAkqY3ArKyA9ICcr JzsJCS8qIGZvciBjbGFzcyAgICBtZXRob2QgKi8KIAogICAgICAgKmNwKysg PSAnWyc7CQkvKiBvcGVuaW5nIGxlZnQgYnJhY2UgICovCi0gICAgICBzdHJj cHkoY3AsIG1hbmdsZWQrMyk7CS8qIHRhY2sgb24gdGhlIHJlc3Qgb2YgdGhl IG1hbmdsZWQgbmFtZSAqLworICAgICAgc3RyY3B5IChjcCwgbWFuZ2xlZCsz KTsJLyogdGFjayBvbiB0aGUgcmVzdCBvZiB0aGUgbWFuZ2xlZCBuYW1lICov CiAKICAgICAgIHdoaWxlICgqY3AgJiYgKmNwID09ICdfJykKIAljcCsrOwkJ CS8qIHNraXAgYW55IGluaXRpYWwgdW5kZXJiYXJzIGluIGNsYXNzIG5hbWUg Ki8KIAotICAgICAgY3AgPSBzdHJjaHIoY3AsICdfJyk7CisgICAgICBjcCA9 IHN0cmNociAoY3AsICdfJyk7CiAgICAgICBpZiAoIWNwKQkgICAgICAgICAg ICAgICAgLyogZmluZCBmaXJzdCBub24taW5pdGlhbCB1bmRlcmJhciAqLwog CXsKLQkgIHhmcmVlKGRlbWFuZ2xlZCk7CS8qIG5vdCBtYW5nbGVkIG5hbWUg Ki8KKwkgIHhmcmVlIChkZW1hbmdsZWQpOwkvKiBub3QgbWFuZ2xlZCBuYW1l ICovCiAJICByZXR1cm4gTlVMTDsKIAl9Ci0gICAgICBpZiAoY3BbMV0gPT0g J18nKSB7CS8qIGVhc3kgY2FzZTogbm8gY2F0ZWdvcnkgbmFtZSAgICAgKi8K LQkqY3ArKyA9ICcgJzsJCS8qIHJlcGxhY2UgdHdvICdfJyB3aXRoIG9uZSAn ICcgICAgKi8KLQlzdHJjcHkoY3AsIG1hbmdsZWQgKyAoY3AgLSBkZW1hbmds ZWQpICsgMik7Ci0gICAgICB9Ci0gICAgICBlbHNlIHsKLQkqY3ArKyA9ICco JzsJCS8qIGxlc3MgZWFzeSBjYXNlOiBjYXRlZ29yeSBuYW1lICovCi0JY3Ag PSBzdHJjaHIoY3AsICdfJyk7Ci0JaWYgKCFjcCkKLQkgIHsKLQkgICAgeGZy ZWUoZGVtYW5nbGVkKTsJLyogbm90IG1hbmdsZWQgbmFtZSAqLwotCSAgICBy ZXR1cm4gTlVMTDsKLQkgIH0KLQkqY3ArKyA9ICcpJzsKLQkqY3ArKyA9ICcg JzsJCS8qIG92ZXJ3cml0aW5nIDFzdCBjaGFyIG9mIG1ldGhvZCBuYW1lLi4u ICAqLwotCXN0cmNweShjcCwgbWFuZ2xlZCArIChjcCAtIGRlbWFuZ2xlZCkp OwkvKiBnZXQgaXQgYmFjayAqLwotICAgICAgfQorCisgICAgICAvKiBXZSBs ZWF2ZSB0aGUgcGFyZW50aGVzZXMgd2hlbiBsYWNraW5nIGEgY2F0ZWdvcnkg bmFtZSB0bworICAgICAgICAgZGlzYW1iaWd1YXRlIHdoZW4gdGhlcmUgaXMg bXVsdGlwbGUgdmVyc2lvbnMgb2YgYSBtZXRob2QuCisgICAgICAgICBTbyB0 aGF0IGJyZWFrIFtGb28gYmFyXSBjYW4gcmV0dXJuIGNhbm9uaWNhbCByZXN1 bHRzLiAgKi8gCisgICAgICAqY3ArKyA9ICcoJzsJCS8qIGxlc3MgZWFzeSBj YXNlOiBjYXRlZ29yeSBuYW1lICovCisgICAgICBjcCA9IHN0cmNociAoY3As ICdfJyk7CisgICAgICBpZiAoIWNwKQorCXsKKwkgIHhmcmVlIChkZW1hbmds ZWQpOwkvKiBub3QgbWFuZ2xlZCBuYW1lICovCisJICByZXR1cm4gTlVMTDsK Kwl9CisgICAgICAqY3ArKyA9ICcpJzsKKyAgICAgICpjcCsrID0gJyAnOwkJ Lyogb3ZlcndyaXRpbmcgMXN0IGNoYXIgb2YgbWV0aG9kIG5hbWUuLi4gICov CisgICAgICBzdHJjcHkgKGNwLCBtYW5nbGVkICsgKGNwIC0gZGVtYW5nbGVk KSk7CS8qIGdldCBpdCBiYWNrICovCiAKICAgICAgIHdoaWxlICgqY3AgJiYg KmNwID09ICdfJykKIAljcCsrOwkJCS8qIHNraXAgYW55IGluaXRpYWwgdW5k ZXJiYXJzIGluIG1ldGhvZCBuYW1lICovCkBAIC0xODQxLDMgKzE4MzksNDAg QEAgX2luaXRpYWxpemVfb2JqY19sYW5nICh2b2lkKQogewogICBvYmpjX29i amZpbGVfZGF0YSA9IHJlZ2lzdGVyX29iamZpbGVfZGF0YSAoKTsKIH0KKwor Y2hhciAqCitvYmpjX2RlY29kZV9zeW1ib2wgKGNvbnN0IHN0cnVjdCBnZW5l cmFsX3N5bWJvbF9pbmZvICpnc3ltYm9sKQoreworICBjaGFyIG50eXBlID0g J1wwJzsKKyAgY2hhciAqbmNsYXNzID0gTlVMTDsKKyAgY2hhciAqbmNhdGVn b3J5ID0gTlVMTDsKKyAgY2hhciAqbnNlbGVjdG9yID0gTlVMTDsKKworICBj aGFyICoqcmVzdWx0cCA9CisgICAgKGNoYXIgKiopICZnc3ltYm9sLT5sYW5n dWFnZV9zcGVjaWZpYy5jcGx1c19zcGVjaWZpYy5kZW1hbmdsZWRfbmFtZTsK KworICBpZiAoKnJlc3VsdHAgPT0gTlVMTCkKKyAgICB7CisgCisgICAgICBw YXJzZV9tZXRob2QgKGdzeW1ib2wtPm5hbWUsICZudHlwZSwgJm5jbGFzcywg Jm5jYXRlZ29yeSwgJm5zZWxlY3Rvcik7CisKKyAgICAgIGlmIChuY2F0ZWdv cnkgPT0gTlVMTCkKKwluY2F0ZWdvcnkgPSAiXDAiOworICAgICAgaWYgKG50 eXBlICYmIG5jbGFzcyAmJiBuY2F0ZWdvcnkgJiYgbnNlbGVjdG9yKQorCXsg CisJICBzaXplX3QgbmV3bGVuOworCSAgc3RydWN0IG9iamZpbGUgKm9iamY7 CisKKwkgIG5ld2xlbiA9IHNpemVvZiAobnR5cGUpICsgc3RybGVuIChuY2xh c3MpICsgc3RybGVuIChuY2F0ZWdvcnkpCisJCQkgICsgc3RybGVuIChuc2Vs ZWN0b3IpICsgc2l6ZW9mICgiW10oKSIpOworCisJICAqcmVzdWx0cCA9IHht YWxsb2MobmV3bGVuKTsKKwkgIHNwcmludGYoKnJlc3VsdHAsICIlY1slcygl cykgJXNdIiwgbnR5cGUsIG5jbGFzcywgbmNhdGVnb3J5LAorCQkJCQkgICAg IG5zZWxlY3Rvcik7CisKKwkgIHJldHVybiAqcmVzdWx0cDsKKyAgICAgICAg fQorICAgIH0KKworICByZXR1cm4gZ3N5bWJvbC0+bmFtZTsKK30KZGlmZiAt LWdpdCBhL2dkYi9vYmpjLWxhbmcuaCBiL2dkYi9vYmpjLWxhbmcuaAppbmRl eCAwZDIzNDY3Li5lNWFlMDM2IDEwMDY0NAotLS0gYS9nZGIvb2JqYy1sYW5n LmgKKysrIGIvZ2RiL29iamMtbGFuZy5oCkBAIC01OCw1ICs1OCw3IEBAIGV4 dGVybiBpbnQgZW5kX21zZ2xpc3QgKHZvaWQpOwogCiBzdHJ1Y3Qgc3ltYm9s ICpsb29rdXBfc3RydWN0X3R5cGVkZWYgKGNoYXIgKm5hbWUsIHN0cnVjdCBi bG9jayAqYmxvY2ssCiAJCQkJICAgICAgaW50IG5vZXJyKTsKK2NoYXIgKgor b2JqY19kZWNvZGVfc3ltYm9sIChjb25zdCBzdHJ1Y3QgZ2VuZXJhbF9zeW1i b2xfaW5mbyAqZ3N5bWJvbCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2Ri L3N5bXRhYi5jIGIvZ2RiL3N5bXRhYi5jCmluZGV4IDhkOWQ3MmMuLmY4OTMx NTUgMTAwNjQ0Ci0tLSBhL2dkYi9zeW10YWIuYworKysgYi9nZGIvc3ltdGFi LmMKQEAgLTYzMiw5ICs2MzIsMTQgQEAgc3ltYm9sX25hdHVyYWxfbmFtZSAo Y29uc3Qgc3RydWN0IGdlbmVyYWxfc3ltYm9sX2luZm8gKmdzeW1ib2wpCiAg ICAgewogICAgIGNhc2UgbGFuZ3VhZ2VfY3BsdXM6CiAgICAgY2FzZSBsYW5n dWFnZV9qYXZhOgorICAgICAgaWYgKGdzeW1ib2wtPmxhbmd1YWdlX3NwZWNp ZmljLmNwbHVzX3NwZWNpZmljLmRlbWFuZ2xlZF9uYW1lICE9IE5VTEwpCisJ cmV0dXJuIGdzeW1ib2wtPmxhbmd1YWdlX3NwZWNpZmljLmNwbHVzX3NwZWNp ZmljLmRlbWFuZ2xlZF9uYW1lOworICAgICAgYnJlYWs7CiAgICAgY2FzZSBs YW5ndWFnZV9vYmpjOgogICAgICAgaWYgKGdzeW1ib2wtPmxhbmd1YWdlX3Nw ZWNpZmljLmNwbHVzX3NwZWNpZmljLmRlbWFuZ2xlZF9uYW1lICE9IE5VTEwp CiAJcmV0dXJuIGdzeW1ib2wtPmxhbmd1YWdlX3NwZWNpZmljLmNwbHVzX3Nw ZWNpZmljLmRlbWFuZ2xlZF9uYW1lOworICAgICAgZWxzZQorCXJldHVybiBv YmpjX2RlY29kZV9zeW1ib2wgKGdzeW1ib2wpOwogICAgICAgYnJlYWs7CiAg ICAgY2FzZSBsYW5ndWFnZV9hZGE6CiAgICAgICBpZiAoZ3N5bWJvbC0+bGFu Z3VhZ2Vfc3BlY2lmaWMuY3BsdXNfc3BlY2lmaWMuZGVtYW5nbGVkX25hbWUg IT0gTlVMTCkK --000e0cd4b384397abc04745aab61--