From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32385 invoked by alias); 27 Jun 2010 23:07:10 -0000 Received: (qmail 32375 invoked by uid 22791); 27 Jun 2010 23:07:08 -0000 X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KAM_STOCKGEN,SPF_HELO_PASS,TW_BJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (74.125.121.35) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 27 Jun 2010 23:07:04 +0000 Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [172.25.149.12]) by smtp-out.google.com with ESMTP id o5RN71pR029262 for ; Sun, 27 Jun 2010 16:07:01 -0700 Received: from vws2 (vws2.prod.google.com [10.241.21.130]) by hpaq12.eem.corp.google.com with ESMTP id o5RN6TfS003770 for ; Sun, 27 Jun 2010 16:06:59 -0700 Received: by vws2 with SMTP id 2so405284vws.9 for ; Sun, 27 Jun 2010 16:06:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.48.90 with SMTP id q26mr857999vcf.84.1277680019463; Sun, 27 Jun 2010 16:06:59 -0700 (PDT) Received: by 10.220.180.70 with HTTP; Sun, 27 Jun 2010 16:06:59 -0700 (PDT) In-Reply-To: References: <20100627182442.AF5CA84613@ruffy.mtv.corp.google.com> Date: Sun, 27 Jun 2010 23:07:00 -0000 Message-ID: Subject: Re: [RFA] Fix PR gdb/11702, printing of static const member variables From: Doug Evans To: gdb-patches@sourceware.org Cc: jan.kratochvil@redhat.com Content-Type: multipart/mixed; boundary=0016e64711a0b25e63048a0b0f2a X-System-Of-Record: true 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: 2010-06/txt/msg00627.txt.bz2 --0016e64711a0b25e63048a0b0f2a Content-Type: text/plain; charset=ISO-8859-1 Content-length: 863 Here's a revised patch that handles "info var static_const_member". I noticed included.exp has code to check for the dwarf format so I copied that here. I don't know whether other formats support static const member variables or not. No regressions on amd64-linux. 2010-06-27 Doug Evans PR gdb/11702 * NEWS: Add entry. * dwarf2read.c (dwarf2_add_field): If DW_AT_const_value is present, create a symbol for the field and record the value. (new_symbol): Handle DW_TAG_member. * gdbtypes.c (field_is_static): Remove FIXME. * symtab.c (search_symbols): When searching for VARIABLES_DOMAIN, only ignore LOC_CONST symbols that are enums. testsuite/ * gdb.cp/m-static.exp: Add testcase. * gdb.cp/m-static.h (gnu_obj_4): Add initialized static const member. --0016e64711a0b25e63048a0b0f2a Content-Type: text/plain; charset=US-ASCII; name="gdb-100627-static-const-member-2.patch.txt" Content-Disposition: attachment; filename="gdb-100627-static-const-member-2.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gayhoe0z0 Content-length: 10785 MjAxMC0wNi0yNyAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgoKCVBS IGdkYi8xMTcwMgoJKiBORVdTOiBBZGQgZW50cnkuCgkqIGR3YXJmMnJlYWQu YyAoZHdhcmYyX2FkZF9maWVsZCk6IElmIERXX0FUX2NvbnN0X3ZhbHVlIGlz IHByZXNlbnQsCgljcmVhdGUgYSBzeW1ib2wgZm9yIHRoZSBmaWVsZCBhbmQg cmVjb3JkIHRoZSB2YWx1ZS4KCShuZXdfc3ltYm9sKTogSGFuZGxlIERXX1RB R19tZW1iZXIuCgkqIGdkYnR5cGVzLmMgKGZpZWxkX2lzX3N0YXRpYyk6IFJl bW92ZSBGSVhNRS4KCSogc3ltdGFiLmMgKHNlYXJjaF9zeW1ib2xzKTogV2hl biBzZWFyY2hpbmcgZm9yIFZBUklBQkxFU19ET01BSU4sCglvbmx5IGlnbm9y ZSBMT0NfQ09OU1Qgc3ltYm9scyB0aGF0IGFyZSBlbnVtcy4KCgl0ZXN0c3Vp dGUvCgkqIGdkYi5jcC9tLXN0YXRpYy5leHA6IEFkZCB0ZXN0Y2FzZS4KCSog Z2RiLmNwL20tc3RhdGljLmggKGdudV9vYmpfNCk6IEFkZCBpbml0aWFsaXpl ZCBzdGF0aWMgY29uc3QgbWVtYmVyLgoKSW5kZXg6IE5FV1MKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9ORVdT LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM4NgpkaWZmIC11IC1wIC1yMS4z ODYgTkVXUwotLS0gTkVXUwkyNSBKdW4gMjAxMCAxODoxOTozMSAtMDAwMAkx LjM4NgorKysgTkVXUwkyNyBKdW4gMjAxMCAyMjo1ODo1NSAtMDAwMApAQCAt MzIsNiArMzIsMTEgQEAKICAgR0RCIG5vdyBhbHNvIHN1cHBvcnRzIHByb3Bl ciBvdmVybG9hZCByZXNvbHV0aW9uIGZvciBhbGwgdGhlIHByZXZpb3VzbHkK ICAgbWVudGlvbmVkIGZsYXZvcnMgb2Ygb3BlcmF0b3JzLgogCisgICoqIHN0 YXRpYyBjb25zdCBjbGFzcyBtZW1iZXJzCisKKyAgUHJpbnRpbmcgb2Ygc3Rh dGljIGNvbnN0IGNsYXNzIG1lbWJlcnMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQg aW4gdGhlCisgIGNsYXNzIGRlZmluaXRpb24gaGFzIGJlZW4gZml4ZWQuCisK ICogV2luZG93cyBUaHJlYWQgSW5mb3JtYXRpb24gQmxvY2sgYWNjZXNzLgog CiAgIE9uIFdpbmRvd3MgdGFyZ2V0cywgR0RCIG5vdyBzdXBwb3J0cyBkaXNw bGF5aW5nIHRoZSBXaW5kb3dzIFRocmVhZApJbmRleDogZHdhcmYycmVhZC5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3Ny Yy9nZGIvZHdhcmYycmVhZC5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQw MgpkaWZmIC11IC1wIC1yMS40MDIgZHdhcmYycmVhZC5jCi0tLSBkd2FyZjJy ZWFkLmMJMjEgSnVuIDIwMTAgMTk6NDk6MTkgLTAwMDAJMS40MDIKKysrIGR3 YXJmMnJlYWQuYwkyNyBKdW4gMjAxMCAyMjo1ODo1NSAtMDAwMApAQCAtNDUx OCw2ICs0NTE4LDExIEBAIGR3YXJmMl9hZGRfZmllbGQgKHN0cnVjdCBmaWVs ZF9pbmZvICpmaXAKIAogICBmcCA9ICZuZXdfZmllbGQtPmZpZWxkOwogCisg IC8qIE5PVEU6IEFjY29yZGluZyB0byB0aGUgZHdhcmYgc3RhbmRhcmQsIHN0 YXRpYyBkYXRhIG1lbWJlcnMgYXJlCisgICAgIGluZGljYXRlZCBieSBoYXZp bmcgRFdfQVRfZXh0ZXJuYWwuCisgICAgIFRoZSBjaGVjayBoZXJlIGZvciAh IGRpZV9pc19kZWNsYXJhdGlvbiBpcyBoaXN0b3JpY2FsLgorICAgICBUaGlz IHRlc3QgaXMgcmVwbGljYXRlZCBpbiBuZXdfc3ltYm9sLiAgKi8KKwogICBp ZiAoZGllLT50YWcgPT0gRFdfVEFHX21lbWJlciAmJiAhIGRpZV9pc19kZWNs YXJhdGlvbiAoZGllLCBjdSkpCiAgICAgewogICAgICAgLyogRGF0YSBtZW1i ZXIgb3RoZXIgdGhhbiBhIEMrKyBzdGF0aWMgZGF0YSBtZW1iZXIuICAqLwpA QCAtNDYyNSw3ICs0NjMwLDcgQEAgZHdhcmYyX2FkZF9maWVsZCAoc3RydWN0 IGZpZWxkX2luZm8gKmZpcAogCSBpcyBhIGRlY2xhcmF0aW9uLCBidXQgYWxs IHZlcnNpb25zIG9mIEcrKyBhcyBvZiB0aGlzIHdyaXRpbmcKIAkgKHNvIHRo cm91Z2ggYXQgbGVhc3QgMy4yLjEpIGluY29ycmVjdGx5IGdlbmVyYXRlCiAJ IERXX1RBR192YXJpYWJsZSB0YWdzLiAgKi8KLSAgICAgIAorCiAgICAgICBj aGFyICpwaHlzbmFtZTsKIAogICAgICAgLyogR2V0IG5hbWUgb2YgZmllbGQu ICAqLwpAQCAtNDYzMyw2ICs0NjM4LDE0IEBAIGR3YXJmMl9hZGRfZmllbGQg KHN0cnVjdCBmaWVsZF9pbmZvICpmaXAKICAgICAgIGlmIChmaWVsZG5hbWUg PT0gTlVMTCkKIAlyZXR1cm47CiAKKyAgICAgIGF0dHIgPSBkd2FyZjJfYXR0 ciAoZGllLCBEV19BVF9jb25zdF92YWx1ZSwgY3UpOworICAgICAgaWYgKGF0 dHIpCisJeworCSAgLyogQSBzdGF0aWMgY29uc3QgbWVtYmVyLCBub3QgbXVj aCBkaWZmZXJlbnQgdGhhbiBhbiBlbnVtIGFzIGZhciBhcworCSAgICAgd2Un cmUgY29uY2VybmVkLCBleGNlcHQgdGhhdCB3ZSBjYW4gc3VwcG9ydCBtb3Jl IHR5cGVzLiAgKi8KKwkgIG5ld19zeW1ib2wgKGRpZSwgTlVMTCwgY3UpOwor CX0KKwogICAgICAgLyogR2V0IHBoeXNpY2FsIG5hbWUuICAqLwogICAgICAg cGh5c25hbWUgPSAoY2hhciAqKSBkd2FyZjJfcGh5c25hbWUgKGZpZWxkbmFt ZSwgZGllLCBjdSk7CiAKQEAgLTg3NTMsNiArODc2Niw3IEBAIG5ld19zeW1i b2wgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QKIAkgICAgIEJMT0NL X0ZVTkNUSU9OIGZyb20gdGhlIGJsb2NrdmVjdG9yLiAgKi8KIAkgIGJyZWFr OwogCWNhc2UgRFdfVEFHX3ZhcmlhYmxlOgorCWNhc2UgRFdfVEFHX21lbWJl cjoKIAkgIC8qIENvbXBpbGF0aW9uIHdpdGggbWluaW1hbCBkZWJ1ZyBpbmZv IG1heSByZXN1bHQgaW4gdmFyaWFibGVzCiAJICAgICB3aXRoIG1pc3Npbmcg dHlwZSBlbnRyaWVzLiBDaGFuZ2UgdGhlIG1pc2xlYWRpbmcgYHZvaWQnIHR5 cGUKIAkgICAgIHRvIHNvbWV0aGluZyBzZW5zaWJsZS4gICovCkBAIC04NzYx LDYgKzg3NzUsMTcgQEAgbmV3X3N5bWJvbCAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdAogCSAgICAgID0gb2JqZmlsZV90eXBlIChvYmpmaWxlKS0+ bm9kZWJ1Z19kYXRhX3N5bWJvbDsKIAogCSAgYXR0ciA9IGR3YXJmMl9hdHRy IChkaWUsIERXX0FUX2NvbnN0X3ZhbHVlLCBjdSk7CisJICAvKiBJbiB0aGUg Y2FzZSBvZiBEV19UQUdfbWVtYmVyLCB3ZSBzaG91bGQgb25seSBiZSBjYWxs ZWQgZm9yCisJICAgICBzdGF0aWMgY29uc3QgbWVtYmVycy4gICovCisJICBp ZiAoZGllLT50YWcgPT0gRFdfVEFHX21lbWJlcikKKwkgICAgeworCSAgICAg IC8qIE5PVEU6IFRoaXMgdGVzdCBzZWVtcyB3cm9uZyBhY2NvcmRpbmcgdG8g dGhlIGR3YXJmIHN0YW5kYXJkLgorCQkgc3RhdGljIGRhdGEgbWVtYmVycyBh cmUgcmVwcmVzZW50ZWQgYnkgRFdfQVRfZXh0ZXJuYWwuCisJCSBIb3dldmVy LCBkd2FyZjJfYWRkX2ZpZWxkIGlzIGN1cnJlbnRseSBjYWxsaW5nCisJCSBk aWVfaXNfZGVjbGFyYXRpb24gdG8gY2hlY2ssIHNvIHdlIGRvIHRoZSBzYW1l LiAgKi8KKwkgICAgICBnZGJfYXNzZXJ0IChkaWVfaXNfZGVjbGFyYXRpb24g KGRpZSwgY3UpKTsKKwkgICAgICBnZGJfYXNzZXJ0IChhdHRyKTsKKwkgICAg fQogCSAgaWYgKGF0dHIpCiAJICAgIHsKIAkgICAgICBkd2FyZjJfY29uc3Rf dmFsdWUgKGF0dHIsIHN5bSwgY3UpOwpJbmRleDogZ2RidHlwZXMuYwo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2Ri L2dkYnR5cGVzLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkyCmRpZmYg LXUgLXAgLXIxLjE5MiBnZGJ0eXBlcy5jCi0tLSBnZGJ0eXBlcy5jCTE0IE1h eSAyMDEwIDIwOjE3OjM3IC0wMDAwCTEuMTkyCisrKyBnZGJ0eXBlcy5jCTI3 IEp1biAyMDEwIDIyOjU4OjU1IC0wMDAwCkBAIC0yNTExLDkgKzI1MTEsNyBA QCBmaWVsZF9pc19zdGF0aWMgKHN0cnVjdCBmaWVsZCAqZikKICAgICAgdG8g dGhlIGFkZHJlc3Mgb2YgdGhlIGVuY2xvc2luZyBzdHJ1Y3QuICBJdCB3b3Vs ZCBiZSBuaWNlIHRvCiAgICAgIGhhdmUgYSBkZWRpY2F0ZWQgZmxhZyB0aGF0 IHdvdWxkIGJlIHNldCBmb3Igc3RhdGljIGZpZWxkcyB3aGVuCiAgICAgIHRo ZSB0eXBlIGlzIGJlaW5nIGNyZWF0ZWQuICBCdXQgaW4gcHJhY3RpY2UsIGNo ZWNraW5nIHRoZSBmaWVsZAotICAgICBsb2Nfa2luZCBzaG91bGQgZ2l2ZSB1 cyBhbiBhY2N1cmF0ZSBhbnN3ZXIgKGF0IGxlYXN0IGFzIGxvbmcgYXMKLSAg ICAgd2UgYXNzdW1lIHRoYXQgRFdBUkYgYmxvY2sgbG9jYXRpb25zIGFyZSBu b3QgZ29pbmcgdG8gYmUgdXNlZAotICAgICBmb3Igc3RhdGljIGZpZWxkcyku ICBGSVhNRT8gICovCisgICAgIGxvY19raW5kIHNob3VsZCBnaXZlIHVzIGFu IGFjY3VyYXRlIGFuc3dlci4gICovCiAgIHJldHVybiAoRklFTERfTE9DX0tJ TkQgKCpmKSA9PSBGSUVMRF9MT0NfS0lORF9QSFlTTkFNRQogCSAgfHwgRklF TERfTE9DX0tJTkQgKCpmKSA9PSBGSUVMRF9MT0NfS0lORF9QSFlTQUREUik7 CiB9CkluZGV4OiBzeW10YWIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3N5bXRhYi5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjIzOApkaWZmIC11IC1wIC1yMS4yMzggc3ltdGFiLmMK LS0tIHN5bXRhYi5jCTIgSnVuIDIwMTAgMjI6NDE6NTUgLTAwMDAJMS4yMzgK KysrIHN5bXRhYi5jCTI3IEp1biAyMDEwIDIyOjU4OjU1IC0wMDAwCkBAIC0z MDQ3LDEwICszMDQ3LDE1IEBAIHNlYXJjaF9zeW1ib2xzIChjaGFyICpyZWdl eHAsIGRvbWFpbl9lbnUKIAkgICAgICBpZiAoZmlsZV9tYXRjaGVzIChyZWFs X3N5bXRhYi0+ZmlsZW5hbWUsIGZpbGVzLCBuZmlsZXMpCiAJCSAgJiYgKChy ZWdleHAgPT0gTlVMTAogCQkgICAgICAgfHwgcmVfZXhlYyAoU1lNQk9MX05B VFVSQUxfTkFNRSAoc3ltKSkgIT0gMCkKLQkJICAgICAgJiYgKChraW5kID09 IFZBUklBQkxFU19ET01BSU4gJiYgU1lNQk9MX0NMQVNTIChzeW0pICE9IExP Q19UWVBFREVGCisJCSAgICAgICYmICgoa2luZCA9PSBWQVJJQUJMRVNfRE9N QUlOCisJCQkgICAmJiBTWU1CT0xfQ0xBU1MgKHN5bSkgIT0gTE9DX1RZUEVE RUYKIAkJCSAgICYmIFNZTUJPTF9DTEFTUyAoc3ltKSAhPSBMT0NfVU5SRVNP TFZFRAogCQkJICAgJiYgU1lNQk9MX0NMQVNTIChzeW0pICE9IExPQ19CTE9D SwotCQkJICAgJiYgU1lNQk9MX0NMQVNTIChzeW0pICE9IExPQ19DT05TVCkK KwkJCSAgIC8qIExPQ19DT05TVCBjYW4gYmUgdXNlZCBmb3IgbW9yZSB0aGFu IGp1c3QgZW51bXMsCisJCQkgICAgICBlLmcuLCBjKysgc3RhdGljIGNvbnN0 IG1lbWJlcnMuCisJCQkgICAgICBXZSBvbmx5IHdhbnQgdG8gc2tpcCBlbnVt cyBoZXJlLiAgKi8KKwkJCSAgICYmICEoU1lNQk9MX0NMQVNTIChzeW0pID09 IExPQ19DT05TVAorCQkJCSYmIFRZUEVfQ09ERSAoU1lNQk9MX1RZUEUgKHN5 bSkpID09IFRZUEVfQ09ERV9FTlVNKSkKIAkJCSAgfHwgKGtpbmQgPT0gRlVO Q1RJT05TX0RPTUFJTiAmJiBTWU1CT0xfQ0xBU1MgKHN5bSkgPT0gTE9DX0JM T0NLKQogCQkJICB8fCAoa2luZCA9PSBUWVBFU19ET01BSU4gJiYgU1lNQk9M X0NMQVNTIChzeW0pID09IExPQ19UWVBFREVGKSkpKQogCQl7CkluZGV4OiB0 ZXN0c3VpdGUvZ2RiLmNwL20tc3RhdGljLmV4cAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvbS1zdGF0aWMuZXhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEy CmRpZmYgLXUgLXAgLXIxLjEyIG0tc3RhdGljLmV4cAotLS0gdGVzdHN1aXRl L2dkYi5jcC9tLXN0YXRpYy5leHAJMjcgSnVuIDIwMTAgMTc6MTk6NTQgLTAw MDAJMS4xMgorKysgdGVzdHN1aXRlL2dkYi5jcC9tLXN0YXRpYy5leHAJMjcg SnVuIDIwMTAgMjI6NTg6NTUgLTAwMDAKQEAgLTU2LDEyICs1NiwxNCBAQCBn ZGJfc3RhcnQKIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRp cgogZ2RiX2xvYWQgJHtiaW5maWxlfQogCi0KIGlmICFbcnVudG9fbWFpbl0g dGhlbiB7CiAgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2lu dCIKICAgICBjb250aW51ZQogfQogCitnZXRfZGVidWdfZm9ybWF0CitzZXQg bm9uX2R3YXJmIFtleHByICEgW3Rlc3RfZGVidWdfZm9ybWF0ICJEV0FSRiAy Il1dCisKICMgRmlyc3QsIHJ1biB0byBhZnRlciB3ZSd2ZSBjb25zdHJ1Y3Rl ZCBhbGwgdGhlIG9iamVjdHM6CiAKIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0 X2xpbmVfbnVtYmVyICJjb25zdHJ1Y3RzLWRvbmUiXQpAQCAtMTI1LDYgKzEy NywxNCBAQCBnZGJfdGVzdCAicHJpbnQgdGVzdDQuZWxzZXdoZXJlIiAiXFwk XFswCiAjIHN0YXRpYyBjb25zdCBpbnQgdGhhdCBub2JvZHkgaW5pdGlhbGl6 ZXMuICBGcm9tIFBSIGdkYi82MzUuCiBnZGJfdGVzdCAicHJpbnQgdGVzdDQu bm93aGVyZSIgImZpZWxkIG5vd2hlcmUgaXMgbm9uZXhpc3RlbnQgb3IgaGFz IGJlZW4gb3B0aW1pemVkIG91dCIgInN0YXRpYyBjb25zdCBpbnQgaW5pdGlh bGl6ZWQgbm93aGVyZSIKIAorIyBzdGF0aWMgY29uc3QgaW50IGluaXRpYWxp emVkIGluIHRoZSBjbGFzcyBkZWZpbml0aW9uLCBQUiBnZGIvMTE3MDIuCitp ZiB7ICRub25fZHdhcmYgfSB7IHNldHVwX3hmYWlsICotKi0qIH0KK2dkYl90 ZXN0ICJwcmludCB0ZXN0NC5ldmVyeXdoZXJlIiAiXFwkXFswLTlcXS4qID0g MzE3IiAic3RhdGljIGNvbnN0IGludCBpbml0aWFsaXplZCBpbiBjbGFzcyBk ZWZpbml0aW9uIgorCisjIEFsc28gbWFrZSBzdXJlIHN0YXRpYyBjb25zdCBt ZW1iZXJzIGNhbiBiZSBmb3VuZCB2aWEgImluZm8gdmFyIi4KK2lmIHsgJG5v bl9kd2FyZiB9IHsgc2V0dXBfeGZhaWwgKi0qLSogfQorZ2RiX3Rlc3QgImlu Zm8gdmFyaWFibGUgZXZlcnl3aGVyZSIgIkZpbGUgLiovbS1zdGF0aWNcWy5c XWguKmNvbnN0IGludCBnbnVfb2JqXzQ6OmV2ZXJ5d2hlcmU7IiAiaW5mbyB2 YXJpYWJsZSBldmVyeXdoZXJlIgorCiAjIFBlcmhhcHMgYXQgc29tZSBwb2lu dCB0ZXN0NCBzaG91bGQgYWxzbyBpbmNsdWRlIGEgdGVzdCBmb3IgYSBzdGF0 aWMKICMgY29uc3QgaW50IHRoYXQgd2FzIGluaXRpYWxpemVkIGluIHRoZSBo ZWFkZXIgZmlsZS4gIEJ1dCBJJ20gbm90IHN1cmUKICMgdGhhdCBHREIncyBj dXJyZW50IGJlaGF2aW9yIGluIHN1Y2ggc2l0dWF0aW9ucyBpcyBlaXRoZXIg Y29uc2lzdGVudApJbmRleDogdGVzdHN1aXRlL2dkYi5jcC9tLXN0YXRpYy5o Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3Ny Yy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9tLXN0YXRpYy5oLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtcCAtcjEuMiBtLXN0YXRpYy5oCi0t LSB0ZXN0c3VpdGUvZ2RiLmNwL20tc3RhdGljLmgJNSBNYXkgMjAwNiAxODow NDowOSAtMDAwMAkxLjIKKysrIHRlc3RzdWl0ZS9nZGIuY3AvbS1zdGF0aWMu aAkyNyBKdW4gMjAxMCAyMjo1ODo1NSAtMDAwMApAQCAtNSw4ICs1LDcgQEAg Y2xhc3MgZ251X29ial80CiAgcHVibGljOgogICBzdGF0aWMgY29uc3QgaW50 IGVsc2V3aGVyZTsKICAgc3RhdGljIGNvbnN0IGludCBub3doZXJlOwotICAv LyBBdCBzb21lIHBvaW50LCBwZXJoYXBzOgotICAvLyBzdGF0aWMgY29uc3Qg aW50IGV2ZXJ5d2hlcmUgPSAzMTc7CisgIHN0YXRpYyBjb25zdCBpbnQgZXZl cnl3aGVyZSA9IDMxNzsKIAogICAvLyB0cnkgdG8gZW5zdXJlIHRlc3Q0IGlz IGFjdHVhbGx5IGFsbG9jYXRlZAogICBpbnQgZHVtbXk7Cg== --0016e64711a0b25e63048a0b0f2a--