From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26482 invoked by alias); 27 Dec 2013 22:38:44 -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 26469 invoked by uid 89); 27 Dec 2013 22:38:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ea0-f173.google.com Received: from mail-ea0-f173.google.com (HELO mail-ea0-f173.google.com) (209.85.215.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 27 Dec 2013 22:38:41 +0000 Received: by mail-ea0-f173.google.com with SMTP id o10so4222742eaj.32 for ; Fri, 27 Dec 2013 14:38:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=tfe0FZ01RLnLVaypC/LxbF8bg66PbHxveObypJr3ZDY=; b=TSGB+hiln2Crw2RaqeUx64cS5jzXBZdlgYaOYlDyjiGXXVyYEpFhR7Iz+qbySJ3d1u tQ3e93KpJ/SpBPoCrCuLzxog5lEVnq5nPsX0Iyql2+YGIPtBzxI1Nec5gXmvlWZmjnBM gsCBIvYZkFxy8SsCMIl6g5PGO0OFyPK2H5nbR85UWy1iEGEYzq4bAcbShKN/6Gp71ztp l0GUEbJcDhGXUdWN+zK+sthAeRU54qDXB46GliIQAo2/eNv1ab2rjOK65vTxYrX1vaqu uDUb+Ky2tqD4YnOMZQ4f8qZhR7wxkM76mQ+IOMWUHVYRLXPoHkYMo4+72nnx48GWHeYw 5dMw== X-Gm-Message-State: ALoCoQmEyWSlOsKKtegJiMIEOgzUqMP8EAb4ijI29XxscwR8hbCuP+vf6VQrofOPqUuRO6Nh1Jo58cnEdEQnh/Xlk1Pl5PpQWGI02+Iz7yZLCxOhvNv5WMMGQ6mg00XF2Zv9nLjqlgX6x3VvbD5QzIgceKWrgN+0HLuTcZHXbNwMlq4NWvAeWYSsM9gIgps09RmG7PCY+Xbc5YEiEoeBONPJeoi12RAKwQ== MIME-Version: 1.0 X-Received: by 10.14.218.69 with SMTP id j45mr44481694eep.22.1388183918471; Fri, 27 Dec 2013 14:38:38 -0800 (PST) Received: by 10.14.151.72 with HTTP; Fri, 27 Dec 2013 14:38:38 -0800 (PST) Date: Fri, 27 Dec 2013 22:38:00 -0000 Message-ID: Subject: [Patch] PR python/15464 and python/16113 From: Siva Chandra To: gdb-patches Content-Type: multipart/mixed; boundary=047d7b6042fa58103a04ee8bc10e X-IsSubscribed: yes X-SW-Source: 2013-12/txt/msg00970.txt.bz2 --047d7b6042fa58103a04ee8bc10e Content-Type: text/plain; charset=UTF-8 Content-length: 1417 I was not aware of "unnamed fields" until I saw Tom's update to 15464 today. Playing with them and my previous patch for 16113, I realized that my patch does not handle unnamed fields thoroughly. It does however work for the example posted with the 15464 report. [I probably would have looked up unnamed fields when working on my earlier patch, but the documentation for gdb.Field.name only says this: "The name of the field, or None for anonymous fields." I know anonymous fields exist in Go, and they show up with a name behind the scenes. Hence, I considered the documentation to be incorrect. I had made a note to ask about this or fix this, but missed getting back to it.] Unnamed fields have a name equal to an empty string (""). Hence, if there were only one unnamed field, my previous patch works as it looks up a field by name. It fails when there are more than one unnamed fields. The attached patch fixes this by looking up unnamed fields using 'bitpos' instead of the field name. 2013-12-27 Siva Chandra Reddy PR python/15464 PR python/16133 * valops.c (value_struct_elt_bitpos): New function * python/py-value.c (valpy_getitem): Use 'bitpos' attribute to look for a field when 'name' is 'None' or empty. testsuite/ * gdb.python/py-value-cc.cc: Enhance test case. * gdb.python/py-value-cc.exp: Add new tests. --047d7b6042fa58103a04ee8bc10e Content-Type: text/plain; charset=US-ASCII; name="value_field_subscript_patch_v1.txt" Content-Disposition: attachment; filename="value_field_subscript_patch_v1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hpq0tnmg0 Content-length: 10179 ZGlmZiAtLWdpdCBhL2dkYi9DaGFuZ2VMb2cgYi9nZGIvQ2hhbmdlTG9nCmlu ZGV4IDg3NzAxYjQuLjVjOWMwMDMgMTAwNjQ0Ci0tLSBhL2dkYi9DaGFuZ2VM b2cKKysrIGIvZ2RiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDEz LTEyLTI3ICBTaXZhIENoYW5kcmEgUmVkZHkgIDxzaXZhY2hhbmRyYUBnb29n bGUuY29tPgorCisJUFIgcHl0aG9uLzE1NDY0CisJUFIgcHl0aG9uLzE2MTMz CisJKiB2YWxvcHMuYyAodmFsdWVfc3RydWN0X2VsdF9iaXRwb3MpOiBOZXcg ZnVuY3Rpb24KKwkqIHB5dGhvbi9weS12YWx1ZS5jICh2YWxweV9nZXRpdGVt KTogVXNlICdiaXRwb3MnIGF0dHJpYnV0ZSB0bworCWxvb2sgZm9yIGEgZmll bGQgd2hlbiAnbmFtZScgaXMgJ05vbmUnIG9yIGVtcHR5LgorCiAyMDEzLTEy LTIzICBTdGVybGluZyBBdWd1c3RpbmUgIDxzYXVndXN0aW5lQGdvb2dsZS5j b20+CiAKIAkqIGxpbmVzcGVjLmMgKGFkZF9zYWxfdG9fc2Fscyk6IFVzZSAi PHVua25vd24+IiB3aGVuIGEgc3ltYm9sCmRpZmYgLS1naXQgYS9nZGIvcHl0 aG9uL3B5LXZhbHVlLmMgYi9nZGIvcHl0aG9uL3B5LXZhbHVlLmMKaW5kZXgg ZGYyNTE3OS4uNjBhOTE2ZCAxMDA2NDQKLS0tIGEvZ2RiL3B5dGhvbi9weS12 YWx1ZS5jCisrKyBiL2dkYi9weXRob24vcHktdmFsdWUuYwpAQCAtNTczLDYg KzU3Myw3IEBAIHZhbHB5X2dldGl0ZW0gKFB5T2JqZWN0ICpzZWxmLCBQeU9i amVjdCAqa2V5KQogICB2YWx1ZV9vYmplY3QgKnNlbGZfdmFsdWUgPSAodmFs dWVfb2JqZWN0ICopIHNlbGY7CiAgIGNoYXIgKmZpZWxkID0gTlVMTDsKICAg UHlPYmplY3QgKmJhc2VfY2xhc3NfdHlwZV9vYmplY3QgPSBOVUxMOworICBs b25nIGJpdHBvcyA9IC0xOwogICB2b2xhdGlsZSBzdHJ1Y3QgZ2RiX2V4Y2Vw dGlvbiBleGNlcHQ7CiAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogCkBA IC02MTQsMTAgKzYxNSw0MCBAQCB2YWxweV9nZXRpdGVtIChQeU9iamVjdCAq c2VsZiwgUHlPYmplY3QgKmtleSkKIAkgIGlmIChuYW1lX29iaiA9PSBOVUxM KQogCSAgICByZXR1cm4gTlVMTDsKIAotCSAgZmllbGQgPSBweXRob25fc3Ry aW5nX3RvX2hvc3Rfc3RyaW5nIChuYW1lX29iaik7Ci0JICBQeV9ERUNSRUYg KG5hbWVfb2JqKTsKLQkgIGlmIChmaWVsZCA9PSBOVUxMKQotCSAgICByZXR1 cm4gTlVMTDsKKwkgIGlmIChuYW1lX29iaiAhPSBQeV9Ob25lKQorCSAgICB7 CisJICAgICAgZmllbGQgPSBweXRob25fc3RyaW5nX3RvX2hvc3Rfc3RyaW5n IChuYW1lX29iaik7CisJICAgICAgUHlfREVDUkVGIChuYW1lX29iaik7CisJ ICAgICAgbmFtZV9vYmogPSBOVUxMOworCSAgICAgIGlmIChmaWVsZCA9PSBO VUxMKQorCQlyZXR1cm4gTlVMTDsKKwkgICAgfQorCisJICBpZiAobmFtZV9v YmogPT0gUHlfTm9uZSB8fCBmaWVsZFswXSA9PSAnXDAnKQorCSAgICB7CisJ ICAgICAgUHlPYmplY3QgKmJpdHBvc19vYmo7CisJICAgICAgaW50IHZhbGlk OworCisJICAgICAgUHlfWERFQ1JFRiAobmFtZV9vYmopOyAvKiBXZSBkbyBu b3QgbmVlZCBOQU1FX09CSiBhbnltb3JlLiAgKi8KKworCSAgICAgIGlmICgh UHlPYmplY3RfSGFzQXR0clN0cmluZyAoa2V5LCAiYml0cG9zIikpCisJCXsK KwkJICB4ZnJlZSAoZmllbGQpOworCQkgIFB5RXJyX1NldFN0cmluZyAoUHlF eGNfQXR0cmlidXRlRXJyb3IsCisJCQkJICAgXygiZ2RiLkZpZWxkIG9iamVj dCBoYXMgbm8gbmFtZSBhbmQgbm8gIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICInYml0cG9zJyBhdHRyaWJ1dGUuIikpOworCisJ CSAgcmV0dXJuIE5VTEw7CisJCX0KKwkgICAgICBiaXRwb3Nfb2JqID0gUHlP YmplY3RfR2V0QXR0clN0cmluZyAoa2V5LCAiYml0cG9zIik7CisJICAgICAg aWYgKGJpdHBvc19vYmogPT0gTlVMTCkKKwkJcmV0dXJuIE5VTEw7CisKKwkg ICAgICB2YWxpZCA9IGdkYl9weV9pbnRfYXNfbG9uZyAoYml0cG9zX29iaiwg JmJpdHBvcyk7CisJICAgICAgUHlfREVDUkVGIChiaXRwb3Nfb2JqKTsKKwkg ICAgICBpZiAoIXZhbGlkKQorCQlyZXR1cm4gTlVMTDsKKwkgICAgfQogCX0K ICAgICB9CiAKQEAgLTYyNyw3ICs2NTgsOSBAQCB2YWxweV9nZXRpdGVtIChQ eU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmtleSkKICAgICAgIHN0cnVjdCBj bGVhbnVwICpjbGVhbnVwID0gbWFrZV9jbGVhbnVwX3ZhbHVlX2ZyZWVfdG9f bWFyayAodmFsdWVfbWFyayAoKSk7CiAgICAgICBzdHJ1Y3QgdmFsdWUgKnJl c192YWwgPSBOVUxMOwogCi0gICAgICBpZiAoZmllbGQpCisgICAgICBpZiAo Yml0cG9zID49IDApCisJcmVzX3ZhbCA9IHZhbHVlX3N0cnVjdF9lbHRfYml0 cG9zICgmdG1wLCBiaXRwb3MsICJzdHJ1Y3QvY2xhc3MvdW5pb24iKTsKKyAg ICAgIGVsc2UgaWYgKGZpZWxkKQogCXJlc192YWwgPSB2YWx1ZV9zdHJ1Y3Rf ZWx0ICgmdG1wLCBOVUxMLCBmaWVsZCwgMCwgTlVMTCk7CiAgICAgICBlbHNl IGlmIChiYXNlX2NsYXNzX3R5cGVfb2JqZWN0ICE9IE5VTEwpCiAJewpkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgYi9nZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZwppbmRleCA5N2FkNDliLi40NTAyYTNjIDEwMDY0NAot LS0gYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworKysgYi9nZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwIEBACisyMDEzLTEyLTI3ICBT aXZhIENoYW5kcmEgUmVkZHkgIDxzaXZhY2hhbmRyYUBnb29nbGUuY29tPgor CisJUFIgcHl0aG9uLzE1NDY0CisJUFIgcHl0aG9uLzE2MTMzCisJKiBnZGIu cHl0aG9uL3B5LXZhbHVlLWNjLmNjOiBFbmhhbmNlIHRlc3QgY2FzZS4KKwkq IGdkYi5weXRob24vcHktdmFsdWUtY2MuZXhwOiBBZGQgbmV3IHRlc3RzLgor CiAyMDEzLTEyLTE5ICBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgIDxzZXJnaW9k akByZWRoYXQuY29tPgogCiAJUFIgYnJlYWtwb2ludHMvMTYyOTcKZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS1jYy5j YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS1jYy5jYwpp bmRleCA4MDA5NGVjLi44YjlhYTVhIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1 aXRlL2dkYi5weXRob24vcHktdmFsdWUtY2MuY2MKKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLWNjLmNjCkBAIC0zMCw4ICszMCwx NSBAQCBjbGFzcyBCIDogcHVibGljIEEgewogICBjaGFyIGE7CiB9OwogCitz dHJ1Y3QgWAoreworICB1bmlvbiB7IGludCB4OyBjaGFyIHk7IH07CisgIHVu aW9uIHsgaW50IGE7IGNoYXIgYjsgfTsKK307CisKIHR5cGVkZWYgQiBCdGQ7 CiB0eXBlZGVmIGludCAqaW50X3B0cjsKK3R5cGVkZWYgWCBYdGQ7CiAKIGlu dAogZnVuYyAoY29uc3QgQSAmYSkKQEAgLTU3LDYgKzY0LDEzIEBAIGZ1bmMg KGNvbnN0IEEgJmEpCiAgIFUgdTsKICAgdS5hID0gOTk7CiAKKyAgWCB4Owor ICB4LnggPSAxMDE7CisgIHguYSA9IDEwMjsKKworICBYICp4X3B0ciA9ICZ4 OworICBYdGQgKnh0ZCA9ICZ4OworCiAgIHJldHVybiAwOyAvKiBCcmVhayBo ZXJlLiAgKi8KIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXZhbHVlLWNjLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS12YWx1ZS1jYy5leHAKaW5kZXggZWFjYWYyZS4uMDhkYzQ2MiAx MDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVl LWNjLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFs dWUtY2MuZXhwCkBAIC01Myw2ICs1MywxMiBAQCBnZGJfdGVzdF9ub19vdXRw dXQgInB5dGhvbiBiX3JlZiA9IGdkYi5wYXJzZV9hbmRfZXZhbCgnYl9yZWYn KSIgImluaXQgYl9yZWYiCiBnZGJfdGVzdF9ub19vdXRwdXQgInB5dGhvbiBi X3RkID0gZ2RiLnBhcnNlX2FuZF9ldmFsKCdiX3RkJykiICJpbml0IGJfdGQi CiBnZGJfdGVzdF9ub19vdXRwdXQgInB5dGhvbiB1ID0gZ2RiLnBhcnNlX2Fu ZF9ldmFsKCd1JykiICJpbml0IHUiCiBnZGJfdGVzdF9ub19vdXRwdXQgInB5 dGhvbiB1X2ZpZWxkcyA9IHUudHlwZS5maWVsZHMoKSIgImluaXQgdV9maWVs ZHMiCitnZGJfdGVzdF9ub19vdXRwdXQgInB5dGhvbiB4ID0gZ2RiLnBhcnNl X2FuZF9ldmFsKCd4JykiICJpbml0IHgiCitnZGJfdGVzdF9ub19vdXRwdXQg InB5dGhvbiB4X2ZpZWxkcyA9IHgudHlwZS5maWVsZHMoKSIgImluaXQgeF9m aWVsZHMiCitnZGJfdGVzdF9ub19vdXRwdXQgInB5dGhvbiB4X3B0ciA9IGdk Yi5wYXJzZV9hbmRfZXZhbCgneF9wdHInKSIgImluaXQgeF9wdHIiCitnZGJf dGVzdF9ub19vdXRwdXQgInB5dGhvbiB4dGQgPSBnZGIucGFyc2VfYW5kX2V2 YWwoJ3h0ZCcpIiAiaW5pdCB4dGQiCisKK2dkYl90ZXN0ICJweXRob24gcHJp bnQoYlxbYl9maWVsZHNcWzFcXVxdKSIgIjk3ICdhJyIgImIuYSB2aWEgZmll bGQiCiAKIGdkYl90ZXN0ICJweXRob24gcHJpbnQoYlxbYl9maWVsZHNcWzFc XVxdKSIgIjk3ICdhJyIgImIuYSB2aWEgZmllbGQiCiBnZGJfdGVzdCAicHl0 aG9uIHByaW50KGJcW2JfZmllbGRzXFswXF1cXS50eXBlKSIgIkEiIFwKQEAg LTc5LDMgKzg1LDExIEBAIGdkYl90ZXN0ICJweXRob24gcHJpbnQoYl90ZFxb Yl9maWVsZHNcWzBcXVxdXFsnYSdcXSkiICIxMDAiIFwKIAogZ2RiX3Rlc3Qg InB5dGhvbiBwcmludCh1XFt1X2ZpZWxkc1xbMFxdXF0pIiAiOTkuKiIgInUn cyBmaXJzdCBmaWVsZCB2aWEgZmllbGQiCiBnZGJfdGVzdCAicHl0aG9uIHBy aW50KHVcW3VfZmllbGRzXFsxXF1cXSkiICI5OS4qIiAidSdzIHNlY29uZCBm aWVsZCB2aWEgZmllbGQiCisKK2dkYl90ZXN0ICJweXRob24gcHJpbnQgbGVu KHhfZmllbGRzKSIgIjIiICJudW1iZXIgZm9yIGZpZWxkcyBpbiB1IgorZ2Ri X3Rlc3QgInB5dGhvbiBwcmludCB4XFt4X2ZpZWxkc1xbMFxdXF1cWyd4J1xd IiAiMTAxIiAieC54IHZpYSBmaWVsZCIKK2dkYl90ZXN0ICJweXRob24gcHJp bnQgeFxbeF9maWVsZHNcWzFcXVxdXFsnYSdcXSIgIjEwMiIgInguYSB2aWEg ZmllbGQiCitnZGJfdGVzdCAicHl0aG9uIHByaW50IHhfcHRyXFt4X2ZpZWxk c1xbMFxdXF1cWyd4J1xdIiAiMTAxIiAieF9wdHItPnggdmlhIGZpZWxkIgor Z2RiX3Rlc3QgInB5dGhvbiBwcmludCB4X3B0clxbeF9maWVsZHNcWzFcXVxd XFsnYSdcXSIgIjEwMiIgInhfcHRyLT5hIHZpYSBmaWVsZCIKK2dkYl90ZXN0 ICJweXRob24gcHJpbnQgeHRkXFt4X2ZpZWxkc1xbMFxdXF1cWyd4J1xdIiAi MTAxIiAieHRkLT54IHZpYSBmaWVsZCIKK2dkYl90ZXN0ICJweXRob24gcHJp bnQgeHRkXFt4X2ZpZWxkc1xbMVxdXF1cWydhJ1xdIiAiMTAyIiAieHRkLT5h IHZpYSBmaWVsZCIKZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92 YWxvcHMuYwppbmRleCBkNDNjNzU4Li5mMTQ3ODU0IDEwMDY0NAotLS0gYS9n ZGIvdmFsb3BzLmMKKysrIGIvZ2RiL3ZhbG9wcy5jCkBAIC0yMjQ4LDYgKzIy NDgsNDkgQEAgdmFsdWVfc3RydWN0X2VsdCAoc3RydWN0IHZhbHVlICoqYXJn cCwgc3RydWN0IHZhbHVlICoqYXJncywKICAgcmV0dXJuIHY7CiB9CiAKKy8q IEdpdmVuICpBUkdQLCBhIHZhbHVlIG9mIHR5cGUgc3RydWN0dXJlIG9yIHVu aW9uLCBvciBhIHBvaW50ZXIvcmVmZXJlbmNlCisgICB0byBhIHN0cnVjdHVy ZSBvciB1bmlvbiwgZXh0cmFjdCBhbmQgcmV0dXJuIGl0cyBjb21wb25lbnQg KGZpZWxkKSBhdCB0aGUKKyAgIHNwZWNpZmllZCBCSVRQT1MuCisgICBSZXR1 cm5zIE5VTEwgaWYgQklUUE9TIGlzIGludmFsaWQuICAqLworCitzdHJ1Y3Qg dmFsdWUgKgordmFsdWVfc3RydWN0X2VsdF9iaXRwb3MgKHN0cnVjdCB2YWx1 ZSAqKmFyZ3AsIGludCBiaXRwb3MsIGNvbnN0IGNoYXIgKmVycikKK3sKKyAg c3RydWN0IHR5cGUgKnQ7CisgIHN0cnVjdCB2YWx1ZSAqdjsKKyAgaW50IGk7 CisgIGludCBuYmFzZXM7CisKKyAgKmFyZ3AgPSBjb2VyY2VfYXJyYXkgKCph cmdwKTsKKworICB0ID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoKmFy Z3ApKTsKKworICB3aGlsZSAoVFlQRV9DT0RFICh0KSA9PSBUWVBFX0NPREVf UFRSIHx8IFRZUEVfQ09ERSAodCkgPT0gVFlQRV9DT0RFX1JFRikKKyAgICB7 CisgICAgICAqYXJncCA9IHZhbHVlX2luZCAoKmFyZ3ApOworICAgICAgaWYg KFRZUEVfQ09ERSAoY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoKmFyZ3Ap KSkgIT0gVFlQRV9DT0RFX0ZVTkMpCisJKmFyZ3AgPSBjb2VyY2VfYXJyYXkg KCphcmdwKTsKKyAgICAgIHQgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBl ICgqYXJncCkpOworICAgIH0KKworICBpZiAoVFlQRV9DT0RFICh0KSAhPSBU WVBFX0NPREVfU1RSVUNUCisgICAgICAmJiBUWVBFX0NPREUgKHQpICE9IFRZ UEVfQ09ERV9VTklPTikKKyAgICBlcnJvciAoXygiQXR0ZW1wdCB0byBleHRy YWN0IGEgY29tcG9uZW50IG9mIGEgdmFsdWUgdGhhdCBpcyBub3QgYSAlcy4i KSwKKwkgICBlcnIpOworCisgIGZvciAoaSA9IFRZUEVfTl9CQVNFQ0xBU1NF UyAodCk7IGkgPCBUWVBFX05GSUVMRFMgKHQpOyBpKyspCisgICAgeworICAg ICAgaWYgKCFmaWVsZF9pc19zdGF0aWMgKCZUWVBFX0ZJRUxEICh0LCBpKSkK KwkgICYmIGJpdHBvcyA9PSBUWVBFX0ZJRUxEX0JJVFBPUyAodCwgaSkpCisJ cmV0dXJuIHZhbHVlX3ByaW1pdGl2ZV9maWVsZCAoKmFyZ3AsIDAsIGksIHQp OworICAgIH0KKworICBlcnJvciAoXygiQXR0ZW1wdCB0byBleHRyYWN0IGEg Y29tcG9uZW50IHdpdGggYW4gaW52YWxpZCBiaXRwb3MuIikpOworCisgIC8q IE5ldmVyIGhpdC4gICovCisgIHJldHVybiBOVUxMOworfQorCiAvKiBTZWFy Y2ggdGhyb3VnaCB0aGUgbWV0aG9kcyBvZiBhbiBvYmplY3QgKGFuZCBpdHMg YmFzZXMpIHRvIGZpbmQgYQogICAgc3BlY2lmaWVkIG1ldGhvZC4gIFJldHVy biB0aGUgcG9pbnRlciB0byB0aGUgZm5fZmllbGQgbGlzdCBvZgogICAgb3Zl cmxvYWRlZCBpbnN0YW5jZXMuCmRpZmYgLS1naXQgYS9nZGIvdmFsdWUuaCBi L2dkYi92YWx1ZS5oCmluZGV4IDZiMTU4ZGYuLmEyNzk4MDMgMTAwNjQ0Ci0t LSBhL2dkYi92YWx1ZS5oCisrKyBiL2dkYi92YWx1ZS5oCkBAIC02NzAsNiAr NjcwLDEwIEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3N0cnVjdF9l bHQgKHN0cnVjdCB2YWx1ZSAqKmFyZ3AsCiAJCQkJICAgICAgIGNvbnN0IGNo YXIgKm5hbWUsIGludCAqc3RhdGljX21lbWZ1bmNwLAogCQkJCSAgICAgICBj b25zdCBjaGFyICplcnIpOwogCitleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1 ZV9zdHJ1Y3RfZWx0X2JpdHBvcyAoc3RydWN0IHZhbHVlICoqYXJncCwKKwkJ CQkJICAgICAgaW50IGJpdHBvcywKKwkJCQkJICAgICAgY29uc3QgY2hhciAq ZXJyKTsKKwogZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfYWdncmVnYXRl X2VsdCAoc3RydWN0IHR5cGUgKmN1cnR5cGUsCiAJCQkJCSAgY2hhciAqbmFt ZSwKIAkJCQkJICBzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCg== --047d7b6042fa58103a04ee8bc10e--