From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19160 invoked by alias); 23 Jan 2013 13:53:14 -0000 Received: (qmail 19152 invoked by uid 22791); 23 Jan 2013 13:53:13 -0000 X-SWARE-Spam-Status: No, hits=-5.5 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,RP_MATCHES_RCVD,TW_BJ X-Spam-Check-By: sourceware.org Received: from mail-ea0-f170.google.com (HELO mail-ea0-f170.google.com) (209.85.215.170) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 23 Jan 2013 13:53:06 +0000 Received: by mail-ea0-f170.google.com with SMTP id a11so3526502eaa.29 for ; Wed, 23 Jan 2013 05:53:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:x-gm-message-state; bh=dKi+GdpBCdtp4mWcsAodEfWKlhGNabpmGVwfnn1mdY0=; b=KNM+zvTGIdNW/CUiKvZI+cPkX+mh1OVx7/zVAR4xQgN8VK3y96cmHda8hpI9JbxjX+ WPZ1brmePUSZLKgLXqDaS+va6l4C4ajtTIxk6s2hUBt3Gee7zwzrNOcCR+gblQJ+MggL Rt3TN8C5jOfpncnXvR3uTEJfkOgNTp2rkPjnTnKQNZWCImKTGZoFGdURLM0byZCnqBIZ sA6rftTmeV9NM/VoCTgaK+AxhZEMhHUnZRi7wnN/y89p45Ln+gwakFR4miUcmgv3atir G05jYlvosgpld7V0jx5uzvVWIKCKs6L46T5H4DSTSaYlmeLqmE9BJYUqde43VshZzmZW VojA== MIME-Version: 1.0 X-Received: by 10.14.224.8 with SMTP id w8mr4420698eep.18.1358949184657; Wed, 23 Jan 2013 05:53:04 -0800 (PST) Received: by 10.14.47.208 with HTTP; Wed, 23 Jan 2013 05:53:04 -0800 (PST) In-Reply-To: <87wqv4x6ib.fsf@fleche.redhat.com> References: <87sj5u31ku.fsf@fleche.redhat.com> <87wqv4x6ib.fsf@fleche.redhat.com> Date: Wed, 23 Jan 2013 13:53:00 -0000 Message-ID: Subject: Re: [RFC - GDB Python API] New gdb.Architecture class From: Siva Chandra To: Tom Tromey Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=047d7b670a216b583404d3f503ec X-Gm-Message-State: ALoCoQnUzaKFkKsdqj2Vr/VLQ1X0t04GoXWolYbr2JzThxg0OZFEU97nQ0/whMzP74gVHZ6Xk1Wm/hfhlBG3uz037YKyo4UGASnfVFWpcMN6tl9BeHmGqFLCfpu0WzGTPZf4G07EPfp+rVGgKXH4FAQCfUcN7WDGD4hKaZOevtNZvFCs3kqZ5MEOZP+2Ua3tkArA9TiUS7HVxBbW5vPu6ZPlPKvacNMRdQ== 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: 2013-01/txt/msg00548.txt.bz2 --047d7b670a216b583404d3f503ec Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1573 On Tue, Jan 22, 2013 at 1:17 PM, Tom Tromey wrote: > > Siva> +typedef struct arch_object_type_object { > Siva> + PyObject_HEAD > Siva> + struct gdbarch *gdbarch; > Siva> + struct arch_object_type_object *next; > Siva> +} arch_object; > Siva> + > Siva> +static arch_object *arch_object_list = NULL; > > Instead of this I think you can associated the Python object with the > gdbarch using gdbarch_data_register_post_init and gdbarch_data. This > will let you attach the Python representation directly to the gdbarch. Done in the attached patch. 2013-01-22 Siva Chandra Reddy Add a new class gdb.Architecture which exposes GDB's internal representation of architecture via GDB Python API. * Makefile.in: Add entries corresponding to the new file python/py-arch.c. * python/py-arch.c: Implement gdb.Architecture class. * python/py-frame.c (frapy_arch): Implement the method gdb.Frame.architecture(). (frame_object_methods): Add 'architecture' to the method table. * python/python-internal.h: Add declarations of new utility functions. * python/python.c (_initialize_python): Initialize gdb.Architecture class. doc/ * gdb.texinfo (Architectures In Python): New sub-sub-section describing the gdb.Architecture class. (Frames In Python): Add description about the new method Frame.architecture(). testsuite/ * gdb.python/frame.exp: Add a test for Frame.architecture() method. --047d7b670a216b583404d3f503ec Content-Type: text/plain; charset=US-ASCII; name="gdb_arch_patch_v3.txt" Content-Disposition: attachment; filename="gdb_arch_patch_v3.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hcaj91qu0 Content-length: 16946 ZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5p bgppbmRleCA3MzA1ZTZkLi45NTY5NjNlIDEwMDY0NAotLS0gYS9nZGIvTWFr ZWZpbGUuaW4KKysrIGIvZ2RiL01ha2VmaWxlLmluCkBAIC0yNzEsNiArMjcx LDcgQEAgU1VCRElSX1RVSV9DRkxBR1M9IFwKICMKIFNVQkRJUl9QWVRIT05f T0JTID0gXAogCXB5dGhvbi5vIFwKKwlweS1hcmNoLm8gXAogCXB5LWF1dG8t bG9hZC5vIFwKIAlweS1ibG9jay5vIFwKIAlweS1icGV2ZW50Lm8gXApAQCAt MzA0LDYgKzMwNSw3IEBAIFNVQkRJUl9QWVRIT05fT0JTID0gXAogCiBTVUJE SVJfUFlUSE9OX1NSQ1MgPSBcCiAJcHl0aG9uL3B5dGhvbi5jIFwKKwlweXRo b24vcHktYXJjaC5jIFwKIAlweXRob24vcHktYXV0by1sb2FkLmMgXAogCXB5 dGhvbi9weS1ibG9jay5jIFwKIAlweXRob24vcHktYnBldmVudC5jIFwKQEAg LTIwNDUsNiArMjA0NywxMCBAQCBweXRob24ubzogJChzcmNkaXIpL3B5dGhv bi9weXRob24uYwogCSQoQ09NUElMRSkgJChQWVRIT05fQ0ZMQUdTKSAkKHNy Y2RpcikvcHl0aG9uL3B5dGhvbi5jCiAJJChQT1NUQ09NUElMRSkKIAorcHkt YXJjaC5vOiAkKHNyY2RpcikvcHl0aG9uL3B5LWFyY2guYworCSQoQ09NUElM RSkgJChQWVRIT05fQ0ZMQUdTKSAkKHNyY2RpcikvcHl0aG9uL3B5LWFyY2gu YworCSQoUE9TVENPTVBJTEUpCisKIHB5LWF1dG8tbG9hZC5vOiAkKHNyY2Rp cikvcHl0aG9uL3B5LWF1dG8tbG9hZC5jCiAJJChDT01QSUxFKSAkKFBZVEhP Tl9DRkxBR1MpICQoc3JjZGlyKS9weXRob24vcHktYXV0by1sb2FkLmMKIAkk KFBPU1RDT01QSUxFKQpkaWZmIC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVX UwppbmRleCA0OWQ4NDQ3Li4wNjhlNTRjIDEwMDY0NAotLS0gYS9nZGIvTkVX UworKysgYi9nZGIvTkVXUwpAQCAtMzksNiArMzksMTIgQEAgTHlueCAxNzgg UG93ZXJQQwkJcG93ZXJwYy0qLWx5bngqMTc4CiAKICAgKiogUHl0aG9uIDMg aXMgbm93IHN1cHBvcnRlZCAoaW4gYWRkaXRpb24gdG8gUHl0aG9uIDIuNCBv ciBsYXRlcikKIAorICAqKiBOZXcgY2xhc3MgZ2RiLkFyY2hpdGVjdHVyZSBl eHBvc2VzIEdEQidzIGludGVybmFsIHJlcHJlc2VudGF0aW9uCisgICAgIG9m IGFyY2hpdGVjdHVyZSBpbiB0aGUgUHl0aG9uIEFQSS4KKworICAqKiBOZXcg bWV0aG9kIEZyYW1lLmFyY2hpdGVjdHVyZSByZXR1cm5zIHRoZSBnZGIuQXJj aGl0ZWN0dXJlIG9iamVjdAorICAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBm cmFtZSdzIGFyY2hpdGVjdHVyZS4KKwogKiBOZXcgUHl0aG9uLWJhc2VkIGNv bnZlbmllbmNlIGZ1bmN0aW9uczoKIAogICAqKiAkX21lbWVxKGJ1ZjEsIGJ1 ZjIsIGxlbmd0aCkKZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8g Yi9nZGIvZG9jL2dkYi50ZXhpbmZvCmluZGV4IDcyOGU0NGIuLjllNmFlNjUg MTAwNjQ0Ci0tLSBhL2dkYi9kb2MvZ2RiLnRleGluZm8KKysrIGIvZ2RiL2Rv Yy9nZGIudGV4aW5mbwpAQCAtMjI4MDcsNiArMjI4MDcsNyBAQCBzaXR1YXRp b24sIGEgUHl0aG9uIEBjb2Rle0tleWJvYXJkSW50ZXJydXB0fSBleGNlcHRp b24gaXMgdGhyb3duLgogKiBGaW5pc2ggQnJlYWtwb2ludHMgaW4gUHl0aG9u OjogU2V0dGluZyBCcmVha3BvaW50cyBvbiBmdW5jdGlvbiByZXR1cm4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgUHl0aG9uLgog KiBMYXp5IFN0cmluZ3MgSW4gUHl0aG9uOjogICAgICBQeXRob24gcmVwcmVz ZW50YXRpb24gb2YgbGF6eSBzdHJpbmdzLgorKiBBcmNoaXRlY3R1cmVzIElu IFB5dGhvbjo6ICAgICBQeXRob24gcmVwcmVzZW50YXRpb24gb2YgYXJjaGl0 ZWN0dXJlcy4KIEBlbmQgbWVudQogCiBAbm9kZSBCYXNpYyBQeXRob24KQEAg LTI1MTEwLDYgKzI1MTExLDExIEBAIFJldHVybnMgdGhlIGZ1bmN0aW9uIG5h bWUgb2YgdGhlIGZyYW1lLCBvciBAY29kZXtOb25lfSBpZiBpdCBjYW4ndCBi ZQogb2J0YWluZWQuCiBAZW5kIGRlZnVuCiAKK0BkZWZ1biBGcmFtZS5hcmNo aXRlY3R1cmUgKCkKK1JldHVybnMgdGhlIEBjb2Rle2dkYi5BcmNoaXRlY3R1 cmV9IG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBmcmFtZSdzCithcmNo aXRlY3R1cmUuIEB4cmVme0FyY2hpdGVjdHVyZXMgSW4gUHl0aG9ufQorQGVu ZCBkZWZ1bgorCiBAZGVmdW4gRnJhbWUudHlwZSAoKQogUmV0dXJucyB0aGUg dHlwZSBvZiB0aGUgZnJhbWUuICBUaGUgdmFsdWUgY2FuIGJlIG9uZSBvZjoK IEB0YWJsZSBAY29kZQpAQCAtMjU5NzIsNiArMjU5NzgsMjAgQEAgcmVzb2x2 ZSB0aGlzIHRvIHRoZSBsYXp5IHN0cmluZydzIGNoYXJhY3RlciB0eXBlLCB1 c2UgdGhlIHR5cGUncwogd3JpdGFibGUuCiBAZW5kIGRlZnZhcgogCitAbm9k ZSBBcmNoaXRlY3R1cmVzIEluIFB5dGhvbgorQHN1YnN1YnNlY3Rpb24gUHl0 aG9uIHJlcHJlc2VudGF0aW9uIG9mIGFyY2hpdGVjdHVyZXMKK0BjaW5kZXgg UHl0aG9uIGFyY2hpdGVjdHVyZXMKKworQHZhbHVle0dEQk59IHVzZXMgYXJj aGl0ZWN0dXJlIHNwZWNpZmljIHBhcmFtZXRlcnMgYW5kIGFydGlmYWN0cyBp biBhCitudW1iZXIgb2YgaXRzIHZhcmlvdXMgY29tcHV0YXRpb25zLiAgQW4g YXJjaGl0ZWN0dXJlIGlzIHJlcHJlc2VudGVkCitieSBhbiBpbnN0YW5jZSBv ZiB0aGUgQGNvZGV7Z2RiLkFyY2hpdGVjdHVyZX0gY2xhc3MuCisKK0EgQGNv ZGV7Z2RiLkFyY2hpdGVjdHVyZX0gY2xhc3MgaGFzIHRoZSBmb2xsb3dpbmcg bWV0aG9kczoKKworQGRlZnVuIEFyY2hpdGVjdHVyZS5uYW1lICgpCitSZXR1 cm4gdGhlIG5hbWUgKHN0cmluZyB2YWx1ZSkgb2YgdGhlIGFyY2hpdGVjdHVy ZS4KK0BlbmQgZGVmdW4KKwogQG5vZGUgUHl0aG9uIEF1dG8tbG9hZGluZwog QHN1YnNlY3Rpb24gUHl0aG9uIEF1dG8tbG9hZGluZwogQGNpbmRleCBQeXRo b24gYXV0by1sb2FkaW5nCmRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LWFy Y2guYyBiL2dkYi9weXRob24vcHktYXJjaC5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmVkZDUwOGYKLS0tIC9kZXYvbnVsbAorKysg Yi9nZGIvcHl0aG9uL3B5LWFyY2guYwpAQCAtMCwwICsxLDE0OSBAQAorLyog UHl0aG9uIGludGVyZmFjZSB0byBhcmNoaXRlY3R1cmUKKworICAgQ29weXJp Z2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor CisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisKKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAg IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4gICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisjaW5jbHVk ZSAiZ2RiYXJjaC5oIgorI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKKyNpbmNs dWRlICJweXRob24taW50ZXJuYWwuaCIKKwordHlwZWRlZiBzdHJ1Y3QgYXJj aF9vYmplY3RfdHlwZV9vYmplY3QgeworICBQeU9iamVjdF9IRUFECisgIHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoOworfSBhcmNoX29iamVjdDsKKworc3Rh dGljIHN0cnVjdCBnZGJhcmNoX2RhdGEgKmFyY2hfb2JqZWN0X2RhdGEgPSBO VUxMOworc3RhdGljIFB5VHlwZU9iamVjdCBhcmNoX29iamVjdF90eXBlOwor CisvKiBBc3NvY2lhdGVzIGFuIGFyY2hfb2JqZWN0IHdpdGggR0RCQVJDSCBh cyBnZGJhcmNoX2RhdGEgdmlhIHRoZSBnZGJhcmNoCisgICBwb3N0IGluaXQg cmVnaXN0cmF0aW9uIG1lY2hhbmlzbSAoZ2RiYXJjaF9kYXRhX3JlZ2lzdGVy X3Bvc3RfaW5pdCkuICAqLworCitzdGF0aWMgdm9pZCAqCithcmNoX29iamVj dF9kYXRhX2luaXQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQoreworICBh cmNoX29iamVjdCAqYXJjaF9vYmogPSBQeU9iamVjdF9OZXcgKGFyY2hfb2Jq ZWN0LCAmYXJjaF9vYmplY3RfdHlwZSk7CisKKyAgaWYgKGFyY2hfb2JqID09 IE5VTEwpCisgICAgcmV0dXJuIE5VTEw7CisKKyAgYXJjaF9vYmotPmdkYmFy Y2ggPSBnZGJhcmNoOworCisgIHJldHVybiAodm9pZCAqKSBhcmNoX29iajsK K30KKworLyogUmV0dXJucyB0aGUgc3RydWN0IGdkYmFyY2ggdmFsdWUgY29y cmVzcG9uZGluZyB0byB0aGUgZ2l2ZW4gUHl0aG9uCisgICBhcmNoaXRlY3R1 cmUgb2JqZWN0IE9CSi4gICovCisKK3N0cnVjdCBnZGJhcmNoICoKK2FyY2hf b2JqZWN0X3RvX2dkYmFyY2ggKFB5T2JqZWN0ICpvYmopCit7CisgIGFyY2hf b2JqZWN0ICpweV9hcmNoID0gKGFyY2hfb2JqZWN0ICopIG9iajsKKworICBy ZXR1cm4gcHlfYXJjaC0+Z2RiYXJjaDsKK30KKworLyogUmV0dXJucyB0aGUg UHl0aG9uIGFyY2hpdGVjdHVyZSBvYmplY3QgY29ycmVzcG9uZGluZyB0byBH REJBUkNILgorICAgUmV0dXJucyBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIGFy Y2hfb2JqZWN0IGFzc29jaWF0ZWQgYXMgZGF0YSB3aXRoCisgICBHREJBUkNI LiAgKi8KKworUHlPYmplY3QgKgorZ2RiYXJjaF90b19hcmNoX29iamVjdCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCit7CisgIFB5T2JqZWN0ICpuZXdf cmVmID0gKFB5T2JqZWN0ICopIGdkYmFyY2hfZGF0YSAoZ2RiYXJjaCwgYXJj aF9vYmplY3RfZGF0YSk7CisKKyAgLyogbmV3X3JlZiBjb3VsZCBiZSBOVUxM IGlmIHJlZ2lzdHJhdGlvbiBvZiBhcmNoX29iamVjdCB3aXRoIEdEQkFSQ0gg ZmFpbGVkCisgICAgIGluIGFyY2hfb2JqZWN0X2RhdGFfaW5pdC4gICovCisg IFB5X1hJTkNSRUYgKG5ld19yZWYpOworCisgIHJldHVybiBuZXdfcmVmOwor fQorCisvKiBJbXBsZW1lbnRhdGlvbiBvZiBnZGIuQXJjaGl0ZWN0dXJlLm5h bWUgKHNlbGYpIC0+IFN0cmluZy4KKyAgIFJldHVybnMgdGhlIG5hbWUgb2Yg dGhlIGFyY2hpdGVjdHVyZSBhcyBhIHN0cmluZyB2YWx1ZS4gICovCisKK3N0 YXRpYyBQeU9iamVjdCAqCithcmNocHlfbmFtZSAoUHlPYmplY3QgKnNlbGYs IFB5T2JqZWN0ICphcmdzKQoreworICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCA9IGFyY2hfb2JqZWN0X3RvX2dkYmFyY2ggKHNlbGYpOworICBjb25zdCBj aGFyICpuYW1lID0gKGdkYmFyY2hfYmZkX2FyY2hfaW5mbyAoZ2RiYXJjaCkp LT5wcmludGFibGVfbmFtZTsKKyAgUHlPYmplY3QgKnB5X25hbWUgPSBQeVN0 cmluZ19Gcm9tU3RyaW5nIChuYW1lKTsKKworICByZXR1cm4gcHlfbmFtZTsK K30KKworLyogSW5pdGlhbGl6ZXMgdGhlIEFyY2hpdGVjdHVyZSBjbGFzcyBp biB0aGUgZ2RiIG1vZHVsZS4gICovCisKK3ZvaWQKK2dkYnB5X2luaXRpYWxp emVfYXJjaCAodm9pZCkKK3sKKyAgYXJjaF9vYmplY3RfZGF0YSA9IGdkYmFy Y2hfZGF0YV9yZWdpc3Rlcl9wb3N0X2luaXQgKGFyY2hfb2JqZWN0X2RhdGFf aW5pdCk7CisgIGFyY2hfb2JqZWN0X3R5cGUudHBfbmV3ID0gUHlUeXBlX0dl bmVyaWNOZXc7CisgIGlmIChQeVR5cGVfUmVhZHkgKCZhcmNoX29iamVjdF90 eXBlKSA8IDApCisgICAgcmV0dXJuOworCisgIFB5X0lOQ1JFRiAoJmFyY2hf b2JqZWN0X3R5cGUpOworICBQeU1vZHVsZV9BZGRPYmplY3QgKGdkYl9tb2R1 bGUsICJBcmNoaXRlY3R1cmUiLAorICAgICAgICAgICAgICAgICAgICAgIChQ eU9iamVjdCAqKSAmYXJjaF9vYmplY3RfdHlwZSk7Cit9CisKK3N0YXRpYyBQ eU1ldGhvZERlZiBhcmNoX29iamVjdF9tZXRob2RzIFtdID0geworICB7ICJu YW1lIiwgYXJjaHB5X25hbWUsIE1FVEhfTk9BUkdTLAorICAgICJuYW1lICgp IC0+IFN0cmluZy5cblwKK1JldHVybiB0aGUgbmFtZSBvZiB0aGUgYXJjaGl0 ZWN0dXJlIGFzIGEgc3RyaW5nIHZhbHVlLiIgfSwKKyAge05VTEx9ICAvKiBT ZW50aW5lbCAqLworfTsKKworc3RhdGljIFB5VHlwZU9iamVjdCBhcmNoX29i amVjdF90eXBlID0geworICBQeVZhck9iamVjdF9IRUFEX0lOSVQgKE5VTEws IDApCisgICJnZGIuQXJjaGl0ZWN0dXJlIiwgICAgICAgICAgICAgICAgIC8q IHRwX25hbWUgKi8KKyAgc2l6ZW9mIChhcmNoX29iamVjdCksICAgICAgICAg ICAgICAgLyogdHBfYmFzaWNzaXplICovCisgIDAsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCisgIDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RlYWxsb2Mg Ki8KKyAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog dHBfcHJpbnQgKi8KKyAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAwLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgIDAsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NvbXBhcmUgKi8K KyAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBf cmVwciAqLworICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiB0cF9hc19udW1iZXIgKi8KKyAgMCwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KKyAgMCwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGlu ZyAqLworICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv KiB0cF9oYXNoICAqLworICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiB0cF9jYWxsICovCisgIDAsICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIHRwX3N0ciAqLworICAwLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAw LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRh dHRybyAqLworICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiB0cF9hc19idWZmZXIgKi8KKyAgUHlfVFBGTEFHU19ERUZBVUxULCAg ICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgIkdEQiBhcmNoaXRl Y3R1cmUgb2JqZWN0IiwgICAgICAgICAgLyogdHBfZG9jICovCisgIDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNl ICovCisgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IHRwX2NsZWFyICovCisgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgIDAsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICov CisgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRw X2l0ZXIgKi8KKyAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogdHBfaXRlcm5leHQgKi8KKyAgYXJjaF9vYmplY3RfbWV0aG9kcywg ICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLworICAwLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisg IDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dl dHNldCAqLworICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiB0cF9iYXNlICovCisgIDAsICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIHRwX2RpY3QgKi8KKyAgMCwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCisgIDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX3Nl dCAqLworICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv KiB0cF9kaWN0b2Zmc2V0ICovCisgIDAsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8qIHRwX2luaXQgKi8KKyAgMCwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdHBfYWxsb2MgKi8KK307CmRpZmYg LS1naXQgYS9nZGIvcHl0aG9uL3B5LWZyYW1lLmMgYi9nZGIvcHl0aG9uL3B5 LWZyYW1lLmMKaW5kZXggNGIwMjVkYi4uZTJlYjljNSAxMDA2NDQKLS0tIGEv Z2RiL3B5dGhvbi9weS1mcmFtZS5jCisrKyBiL2dkYi9weXRob24vcHktZnJh bWUuYwpAQCAtMTY3LDYgKzE2NywyNSBAQCBmcmFweV90eXBlIChQeU9iamVj dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiAgIHJldHVybiBQeUludF9Gcm9t TG9uZyAodHlwZSk7CiB9CiAKKy8qIEltcGxlbWVudGF0aW9uIG9mIGdkYi5G cmFtZS5hcmNoaXRlY3R1cmUgKHNlbGYpIC0+IGdkYi5BcmNoaXRlY3R1cmUu CisgICBSZXR1cm5zIHRoZSBmcmFtZSdzIGFyY2hpdGVjdHVyZSBhcyBhIGdk Yi5BcmNoaXRlY3R1cmUgb2JqZWN0LiAgKi8KKworc3RhdGljIFB5T2JqZWN0 ICoKK2ZyYXB5X2FyY2ggKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJn cykKK3sKKyAgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lID0gTlVMTDsgICAg LyogSW5pdGlhbGl6ZSB0byBhcHBlYXNlIGdjYyB3YXJuaW5nLiAgKi8KKyAg ZnJhbWVfb2JqZWN0ICpvYmogPSAoZnJhbWVfb2JqZWN0ICopIHNlbGY7Cisg IHZvbGF0aWxlIHN0cnVjdCBnZGJfZXhjZXB0aW9uIGV4Y2VwdDsKKworICBU UllfQ0FUQ0ggKGV4Y2VwdCwgUkVUVVJOX01BU0tfQUxMKQorICAgIHsKKyAg ICAgIEZSQVBZX1JFUVVJUkVfVkFMSUQgKHNlbGYsIGZyYW1lKTsKKyAgICB9 CisgIEdEQl9QWV9IQU5ETEVfRVhDRVBUSU9OIChleGNlcHQpOworCisgIHJl dHVybiBnZGJhcmNoX3RvX2FyY2hfb2JqZWN0IChvYmotPmdkYmFyY2gpOwor fQorCiAvKiBJbXBsZW1lbnRhdGlvbiBvZiBnZGIuRnJhbWUudW53aW5kX3N0 b3BfcmVhc29uIChzZWxmKSAtPiBJbnRlZ2VyLgogICAgUmV0dXJucyBvbmUg b2YgdGhlIGdkYi5GUkFNRV9VTldJTkRfKiBjb25zdGFudHMuICAqLwogCkBA IC02MzIsNiArNjUxLDkgQEAgUmV0dXJuIHRoZSBmdW5jdGlvbiBuYW1lIG9m IHRoZSBmcmFtZSwgb3IgTm9uZSBpZiBpdCBjYW4ndCBiZSBkZXRlcm1pbmVk LiIgfSwKICAgeyAidHlwZSIsIGZyYXB5X3R5cGUsIE1FVEhfTk9BUkdTLAog ICAgICJ0eXBlICgpIC0+IEludGVnZXIuXG5cCiBSZXR1cm4gdGhlIHR5cGUg b2YgdGhlIGZyYW1lLiIgfSwKKyAgeyAiYXJjaGl0ZWN0dXJlIiwgZnJhcHlf YXJjaCwgTUVUSF9OT0FSR1MsCisgICAgImFyY2hpdGVjdHVyZSAoKSAtPiBn ZGIuQXJjaGl0ZWN0dXJlLlxuXAorUmV0dXJuIHRoZSBhcmNoaXRlY3R1cmUg b2YgdGhlIGZyYW1lLiIgfSwKICAgeyAidW53aW5kX3N0b3BfcmVhc29uIiwg ZnJhcHlfdW53aW5kX3N0b3BfcmVhc29uLCBNRVRIX05PQVJHUywKICAgICAi dW53aW5kX3N0b3BfcmVhc29uICgpIC0+IEludGVnZXIuXG5cCiBSZXR1cm4g dGhlIHJlYXNvbiB3aHkgaXQncyBub3QgcG9zc2libGUgdG8gZmluZCBmcmFt ZXMgb2xkZXIgdGhhbiB0aGlzLiIgfSwKZGlmZiAtLWdpdCBhL2dkYi9weXRo b24vcHl0aG9uLWludGVybmFsLmggYi9nZGIvcHl0aG9uL3B5dGhvbi1pbnRl cm5hbC5oCmluZGV4IDdkNTJjMDYuLjhkZmYxZDcgMTAwNjQ0Ci0tLSBhL2dk Yi9weXRob24vcHl0aG9uLWludGVybmFsLmgKKysrIGIvZ2RiL3B5dGhvbi9w eXRob24taW50ZXJuYWwuaApAQCAtMjUwLDYgKzI1MCw4IEBAIFB5T2JqZWN0 ICpwc3B5X2dldF9wcmludGVycyAoUHlPYmplY3QgKiwgdm9pZCAqKTsKIFB5 T2JqZWN0ICpvYmpmaWxlX3RvX29iamZpbGVfb2JqZWN0IChzdHJ1Y3Qgb2Jq ZmlsZSAqKTsKIFB5T2JqZWN0ICpvYmpmcHlfZ2V0X3ByaW50ZXJzIChQeU9i amVjdCAqLCB2b2lkICopOwogCitQeU9iamVjdCAqZ2RiYXJjaF90b19hcmNo X29iamVjdCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpOworCiB0aHJlYWRf b2JqZWN0ICpjcmVhdGVfdGhyZWFkX29iamVjdCAoc3RydWN0IHRocmVhZF9p bmZvICp0cCk7CiB0aHJlYWRfb2JqZWN0ICpmaW5kX3RocmVhZF9vYmplY3Qg KHB0aWRfdCBwdGlkKTsKIFB5T2JqZWN0ICpmaW5kX2luZmVyaW9yX29iamVj dCAoaW50IHBpZCk7CkBAIC0yNjMsNiArMjY1LDcgQEAgc3RydWN0IHR5cGUg KnR5cGVfb2JqZWN0X3RvX3R5cGUgKFB5T2JqZWN0ICpvYmopOwogc3RydWN0 IHN5bXRhYiAqc3ltdGFiX29iamVjdF90b19zeW10YWIgKFB5T2JqZWN0ICpv YmopOwogc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsX29iamVjdF90b19z eW10YWJfYW5kX2xpbmUgKFB5T2JqZWN0ICpvYmopOwogc3RydWN0IGZyYW1l X2luZm8gKmZyYW1lX29iamVjdF90b19mcmFtZV9pbmZvIChQeU9iamVjdCAq ZnJhbWVfb2JqKTsKK3N0cnVjdCBnZGJhcmNoICphcmNoX29iamVjdF90b19n ZGJhcmNoIChQeU9iamVjdCAqb2JqKTsKIAogdm9pZCBnZGJweV9pbml0aWFs aXplX2dkYl9yZWFkbGluZSAodm9pZCk7CiB2b2lkIGdkYnB5X2luaXRpYWxp emVfYXV0b19sb2FkICh2b2lkKTsKQEAgLTI5Myw2ICsyOTYsNyBAQCB2b2lk IGdkYnB5X2luaXRpYWxpemVfY29udGludWVfZXZlbnQgKHZvaWQpOwogdm9p ZCBnZGJweV9pbml0aWFsaXplX2V4aXRlZF9ldmVudCAodm9pZCk7CiB2b2lk IGdkYnB5X2luaXRpYWxpemVfdGhyZWFkX2V2ZW50ICh2b2lkKTsKIHZvaWQg Z2RicHlfaW5pdGlhbGl6ZV9uZXdfb2JqZmlsZV9ldmVudCAodm9pZCk7Cit2 b2lkIGdkYnB5X2luaXRpYWxpemVfYXJjaCAodm9pZCk7CiAKIHN0cnVjdCBj bGVhbnVwICptYWtlX2NsZWFudXBfcHlfZGVjcmVmIChQeU9iamVjdCAqcHkp OwogCmRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi5jIGIvZ2RiL3B5 dGhvbi9weXRob24uYwppbmRleCBiMGY3MWEyLi41M2RkZWU5IDEwMDY0NAot LS0gYS9nZGIvcHl0aG9uL3B5dGhvbi5jCisrKyBiL2dkYi9weXRob24vcHl0 aG9uLmMKQEAgLTE2MjAsNiArMTYyMCw3IEBAIG1lc3NhZ2UgPT0gYW4gZXJy b3IgbWVzc2FnZSB3aXRob3V0IGEgc3RhY2sgd2lsbCBiZSBwcmludGVkLiIp LAogICBnZGJweV9pbml0aWFsaXplX2V4aXRlZF9ldmVudCAoKTsKICAgZ2Ri cHlfaW5pdGlhbGl6ZV90aHJlYWRfZXZlbnQgKCk7CiAgIGdkYnB5X2luaXRp YWxpemVfbmV3X29iamZpbGVfZXZlbnQgKCkgOworICBnZGJweV9pbml0aWFs aXplX2FyY2ggKCk7CiAKICAgb2JzZXJ2ZXJfYXR0YWNoX2JlZm9yZV9wcm9t cHQgKGJlZm9yZV9wcm9tcHRfaG9vayk7CiAKZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwCmluZGV4IGFhNGQ5MzcuLjgw NmRhOTQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS1mcmFtZS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWZyYW1lLmV4cApAQCAtMzgsNiArMzgsMTAgQEAgZ2RiX2JyZWFrcG9pbnQg W2dkYl9nZXRfbGluZV9udW1iZXIgIkJsb2NrIGJyZWFrIGhlcmUuIl0KIGdk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJCbG9jayBicmVhayBoZXJlLiIK IGdkYl9weV90ZXN0X3NpbGVudF9jbWQgInB5dGhvbiBiZjEgPSBnZGIuc2Vs ZWN0ZWRfZnJhbWUgKCkiICJnZXQgZnJhbWUiIDAKIAorIyBUZXN0IEZyYW1l LmFyY2hpdGVjdHVyZSgpIG1ldGhvZC4KK2dkYl9weV90ZXN0X3NpbGVudF9j bWQgInB5dGhvbiBzaG93X2FyY2hfc3RyID0gZ2RiLmV4ZWN1dGUoXCJzaG93 IGFyY2hpdGVjdHVyZVwiLCB0b19zdHJpbmc9VHJ1ZSkiICJzaG93IGFyY2gi IDAKK2dkYl90ZXN0ICJweXRob24gcHJpbnQgYmYxLmFyY2hpdGVjdHVyZSgp Lm5hbWUoKSBpbiBzaG93X2FyY2hfc3RyIiAiVHJ1ZSIgInRlc3QgRnJhbWUu YXJjaGl0ZWN0dXJlKCkiCisKICMgRmlyc3QgdGVzdCB0aGF0IHJlYWRfdmFy IGlzIHVuYWZmZWN0ZWQgYnkgUFIgMTEwMzYgY2hhbmdlcy4KIGdkYl90ZXN0 ICJweXRob24gcHJpbnQgKGJmMS5yZWFkX3ZhcihcImlcIikpIiAiXCJzdHVm ZlwiIiAidGVzdCBpIgogZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoYmYxLnJl YWRfdmFyKFwiZlwiKSkiICJcImZvb1wiIiAidGVzdCBmIgo= --047d7b670a216b583404d3f503ec--