From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18012 invoked by alias); 24 Sep 2009 22:29:03 -0000 Received: (qmail 18003 invoked by uid 22791); 24 Sep 2009 22:29:02 -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-yw0-f201.google.com (HELO mail-yw0-f201.google.com) (209.85.211.201) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Sep 2009 22:28:57 +0000 Received: by ywh39 with SMTP id 39so2422833ywh.12 for ; Thu, 24 Sep 2009 15:28:56 -0700 (PDT) MIME-Version: 1.0 Received: by 10.150.208.10 with SMTP id f10mr934426ybg.55.1253831336031; Thu, 24 Sep 2009 15:28:56 -0700 (PDT) In-Reply-To: <8ba6bed40909240124u26f24397p39a1fd0d61462451@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> Date: Thu, 24 Sep 2009 22:29:00 -0000 Message-ID: <8ba6bed40909241528m1e98f425k8792016b29179239@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=000e0cdf1baa64764604745a5b9e 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/msg00763.txt.bz2 --000e0cdf1baa64764604745a5b9e Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1583 On Thu, Sep 24, 2009 at 1:24 AM, Matt Rice wrote: > On Wed, Sep 23, 2009 at 5:53 PM, Joel Brobecker w= rote: >> 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. 2009-09-24 Matt Rice * symtab.c (symbol_natural_name): Call objc_decode_symbol. * objc-lang.c (objc_decode_symbol): New function. --000e0cdf1baa64764604745a5b9e Content-Type: application/octet-stream; name="category.diff" Content-Disposition: attachment; filename="category.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g002hhpi0 Content-length: 5312 ZGlmZiAtLWdpdCBhL2dkYi9vYmpjLWxhbmcuYyBiL2dkYi9vYmpjLWxhbmcu YwppbmRleCAwZTRmYjcxLi5iOTRjMGFmIDEwMDY0NAotLS0gYS9nZGIvb2Jq Yy1sYW5nLmMKKysrIGIvZ2RiL29iamMtbGFuZy5jCkBAIC0yNDQsMjIgKzI0 NCwyMCBAQCBvYmpjX2RlbWFuZ2xlIChjb25zdCBjaGFyICptYW5nbGVkLCBp bnQgb3B0aW9ucykKIAkgIHhmcmVlKGRlbWFuZ2xlZCk7CS8qIG5vdCBtYW5n bGVkIG5hbWUgKi8KIAkgIHJldHVybiBOVUxMOwogCX0KLSAgICAgIGlmIChj cFsxXSA9PSAnXycpIHsJLyogZWFzeSBjYXNlOiBubyBjYXRlZ29yeSBuYW1l ICAgICAqLwotCSpjcCsrID0gJyAnOwkJLyogcmVwbGFjZSB0d28gJ18nIHdp dGggb25lICcgJyAgICAqLwotCXN0cmNweShjcCwgbWFuZ2xlZCArIChjcCAt IGRlbWFuZ2xlZCkgKyAyKTsKLSAgICAgIH0KLSAgICAgIGVsc2UgewotCSpj cCsrID0gJygnOwkJLyogbGVzcyBlYXN5IGNhc2U6IGNhdGVnb3J5IG5hbWUg Ki8KLQljcCA9IHN0cmNocihjcCwgJ18nKTsKLQlpZiAoIWNwKQotCSAgewot CSAgICB4ZnJlZShkZW1hbmdsZWQpOwkvKiBub3QgbWFuZ2xlZCBuYW1lICov Ci0JICAgIHJldHVybiBOVUxMOwotCSAgfQotCSpjcCsrID0gJyknOwotCSpj cCsrID0gJyAnOwkJLyogb3ZlcndyaXRpbmcgMXN0IGNoYXIgb2YgbWV0aG9k IG5hbWUuLi4gICovCi0Jc3RyY3B5KGNwLCBtYW5nbGVkICsgKGNwIC0gZGVt YW5nbGVkKSk7CS8qIGdldCBpdCBiYWNrICovCi0gICAgICB9CisKKyAgICAg IC8qIFdlIGxlYXZlIHRoZSBwYXJlbnRoZXNlcyB3aGVuIGxhY2tpbmcgYSBj YXRlZ29yeSBuYW1lIHRvCisgICAgICAgICBkaXNhbWJpZ3VhdGUgd2hlbiB0 aGVyZSBpcyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBhIG1ldGhvZC4KKyAgICAg ICAgIFNvIHRoYXQgYnJlYWsgW0ZvbyBiYXJdIGNhbiByZXR1cm4gY2Fub25p Y2FsIHJlc3VsdHMuICAqLyAKKyAgICAgICpjcCsrID0gJygnOwkJLyogbGVz cyBlYXN5IGNhc2U6IGNhdGVnb3J5IG5hbWUgKi8KKyAgICAgIGNwID0gc3Ry Y2hyKGNwLCAnXycpOworICAgICAgaWYgKCFjcCkKKwl7CisJICB4ZnJlZShk ZW1hbmdsZWQpOwkvKiBub3QgbWFuZ2xlZCBuYW1lICovCisJICByZXR1cm4g TlVMTDsKKwl9CisgICAgICAqY3ArKyA9ICcpJzsKKyAgICAgICpjcCsrID0g JyAnOwkJLyogb3ZlcndyaXRpbmcgMXN0IGNoYXIgb2YgbWV0aG9kIG5hbWUu Li4gICovCisgICAgICBzdHJjcHkoY3AsIG1hbmdsZWQgKyAoY3AgLSBkZW1h bmdsZWQpKTsJLyogZ2V0IGl0IGJhY2sgKi8KIAogICAgICAgd2hpbGUgKCpj cCAmJiAqY3AgPT0gJ18nKQogCWNwKys7CQkJLyogc2tpcCBhbnkgaW5pdGlh bCB1bmRlcmJhcnMgaW4gbWV0aG9kIG5hbWUgKi8KQEAgLTE3MDIsMTEgKzE3 MDAsOSBAQCBmaW5kX2ltcGxlbWVudGF0aW9uX2Zyb21fY2xhc3MgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAogCSAgICAgIHN0cnVjdCBvYmpjX21ldGhv ZCBtZXRoX3N0cjsKIAkgICAgICByZWFkX29iamNfbWV0aGxpc3RfbWV0aG9k IChnZGJhcmNoLCBtbGlzdCwgaSwgJm1ldGhfc3RyKTsKIAotI2lmIDAKIAkg ICAgICBmcHJpbnRmIChzdGRlcnIsIAogCQkgICAgICAgImNoZWNraW5nIG1l dGhvZCAweCVseCBhZ2FpbnN0IHNlbGVjdG9yIDB4JWx4XG4iLCAKIAkJICAg ICAgIG1ldGhfc3RyLm5hbWUsIHNlbCk7Ci0jZW5kaWYKIAogCSAgICAgIGlm IChtZXRoX3N0ci5uYW1lID09IHNlbCkgCiAJCS8qIEZJWE1FOiBocHBhIGFy Y2ggd2FzIGRvaW5nIGEgcG9pbnRlciBkZXJlZmVyZW5jZQpAQCAtMTg0MSwz ICsxODM3LDUwIEBAIF9pbml0aWFsaXplX29iamNfbGFuZyAodm9pZCkKIHsK ICAgb2JqY19vYmpmaWxlX2RhdGEgPSByZWdpc3Rlcl9vYmpmaWxlX2RhdGEg KCk7CiB9CisKK2NoYXIgKgorb2JqY19kZWNvZGVfc3ltYm9sIChjb25zdCBz dHJ1Y3QgZ2VuZXJhbF9zeW1ib2xfaW5mbyAqZ3N5bWJvbCkKK3sKKyAgY2hh ciBudHlwZSA9ICdcMCc7CisgIGNoYXIgKm5jbGFzcyA9IE5VTEw7CisgIGNo YXIgKm5jYXRlZ29yeSA9IE5VTEw7CisgIGNoYXIgKm5zZWxlY3RvciA9IE5V TEw7CisKKyAgY2hhciAqKnJlc3VsdHAgPQorICAgIChjaGFyICoqKSAmZ3N5 bWJvbC0+bGFuZ3VhZ2Vfc3BlY2lmaWMuY3BsdXNfc3BlY2lmaWMuZGVtYW5n bGVkX25hbWU7CisKKyAgaWYgKCpyZXN1bHRwID09IE5VTEwpCisgICAgewor IAorICAgICAgcGFyc2VfbWV0aG9kIChnc3ltYm9sLT5uYW1lLCAmbnR5cGUs ICZuY2xhc3MsICZuY2F0ZWdvcnksICZuc2VsZWN0b3IpOworCisgICAgICBp ZiAobmNhdGVnb3J5ID09IE5VTEwpCisJbmNhdGVnb3J5ID0gIlwwIjsKKyAg ICAgIGlmIChudHlwZSAmJiBuY2xhc3MgJiYgbmNhdGVnb3J5ICYmIG5zZWxl Y3RvcikgeyAKKyAgICAgIHNpemVfdCBuZXdsZW47CisgICAgICBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZjsKKworICAgICAgbmV3bGVuID0gc2l6ZW9mKG50eXBl KSArIHN0cmxlbihuY2xhc3MpICsgc3RybGVuIChuY2F0ZWdvcnkpCisJCQkg ICsgc3RybGVuKG5zZWxlY3RvcikgKyBzaXplb2YoIltdKCkiKTsKKworICAg ICAgKnJlc3VsdHAgPSB4bWFsbG9jKG5ld2xlbik7CisgICAgICBzcHJpbnRm KCpyZXN1bHRwLCAiJWNbJXMoJXMpICVzXSIsIG50eXBlLCBuY2xhc3MsIG5j YXRlZ29yeSwgbnNlbGVjdG9yKTsKKworLy8gICAgICBvYmpmID0gZ3N5bWJv bC0+b2JqX3NlY3Rpb24tPm9iamZpbGU7CisvLyAgICAgICpyZXN1bHRwID0g b2JzYXZlc3RyaW5nICgqcmVzdWx0cCwgbmV3bGVuLCAmb2JqZi0+b2JqZmls ZV9vYnN0YWNrKTsKKyAgICAgIHJldHVybiAqcmVzdWx0cDsKKyAgICAgIH0K KyNpZiAwCisgICAgICBpZiAoKnJlc3VsdHAgPT0gTlVMTCkKKyAgICAgICAg eworICAgICAgICAgIGNoYXIgKipzbG90ID0gKGNoYXIgKiopIGh0YWJfZmlu ZF9zbG90IChkZWNvZGVkX25hbWVzX3N0b3JlLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVkLCBJ TlNFUlQpOworICAgICAgICAgIGlmICgqc2xvdCA9PSBOVUxMKQorICAgICAg ICAgICAgKnNsb3QgPSB4c3RyZHVwIChkZWNvZGVkKTsKKworICAgICAgICAg ICpyZXN1bHRwID0gKnNsb3Q7CisJfQorI2VuZGlmCisgICAgfQorICByZXR1 cm4gZ3N5bWJvbC0+bmFtZTsKK30KZGlmZiAtLWdpdCBhL2dkYi9zeW10YWIu YyBiL2dkYi9zeW10YWIuYwppbmRleCA4ZDlkNzJjLi5mODkzMTU1IDEwMDY0 NAotLS0gYS9nZGIvc3ltdGFiLmMKKysrIGIvZ2RiL3N5bXRhYi5jCkBAIC02 MzIsOSArNjMyLDE0IEBAIHN5bWJvbF9uYXR1cmFsX25hbWUgKGNvbnN0IHN0 cnVjdCBnZW5lcmFsX3N5bWJvbF9pbmZvICpnc3ltYm9sKQogICAgIHsKICAg ICBjYXNlIGxhbmd1YWdlX2NwbHVzOgogICAgIGNhc2UgbGFuZ3VhZ2VfamF2 YToKKyAgICAgIGlmIChnc3ltYm9sLT5sYW5ndWFnZV9zcGVjaWZpYy5jcGx1 c19zcGVjaWZpYy5kZW1hbmdsZWRfbmFtZSAhPSBOVUxMKQorCXJldHVybiBn c3ltYm9sLT5sYW5ndWFnZV9zcGVjaWZpYy5jcGx1c19zcGVjaWZpYy5kZW1h bmdsZWRfbmFtZTsKKyAgICAgIGJyZWFrOwogICAgIGNhc2UgbGFuZ3VhZ2Vf b2JqYzoKICAgICAgIGlmIChnc3ltYm9sLT5sYW5ndWFnZV9zcGVjaWZpYy5j cGx1c19zcGVjaWZpYy5kZW1hbmdsZWRfbmFtZSAhPSBOVUxMKQogCXJldHVy biBnc3ltYm9sLT5sYW5ndWFnZV9zcGVjaWZpYy5jcGx1c19zcGVjaWZpYy5k ZW1hbmdsZWRfbmFtZTsKKyAgICAgIGVsc2UKKwlyZXR1cm4gb2JqY19kZWNv ZGVfc3ltYm9sIChnc3ltYm9sKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2Ug bGFuZ3VhZ2VfYWRhOgogICAgICAgaWYgKGdzeW1ib2wtPmxhbmd1YWdlX3Nw ZWNpZmljLmNwbHVzX3NwZWNpZmljLmRlbWFuZ2xlZF9uYW1lICE9IE5VTEwp Cg== --000e0cdf1baa64764604745a5b9e--