From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19418 invoked by alias); 9 Jan 2014 13:11:36 -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 19406 invoked by uid 89); 9 Jan 2014 13:11:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qa0-f50.google.com Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com) (209.85.216.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 09 Jan 2014 13:11:33 +0000 Received: by mail-qa0-f50.google.com with SMTP id cm18so1545478qab.37 for ; Thu, 09 Jan 2014 05:11:31 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.229.102.4 with SMTP id e4mr7556522qco.2.1389273091647; Thu, 09 Jan 2014 05:11:31 -0800 (PST) Received: by 10.229.195.196 with HTTP; Thu, 9 Jan 2014 05:11:31 -0800 (PST) Date: Thu, 09 Jan 2014 13:11:00 -0000 Message-ID: Subject: [PATCH 4/5] Implement D primitive types in GDB From: Iain Buclaw To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=001a1133ba2c1fc09804ef895905 X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg00238.txt.bz2 --001a1133ba2c1fc09804ef895905 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 672 D has it's own type system separate from C. This defines all primitive types all found in D. 2014-01-09 Iain Buclaw gdb/ * d-lang.h (struct builtin_d_type): New data type. (builtin_d_type): Add declaration. * d-lang.c (d_language_arch_info, build_d_types) (builtin_d_type): New functions. (enum d_primitive_types): New data type. (d_language_defn): Change c_language_arch_info to d_language_arch_info. (d_type_data): New static variable. (_initialize_d_language): Initialize d_type_data. gdb/testsuite/ * gdb.dlang/primitive-types.exp: New file. --- --001a1133ba2c1fc09804ef895905 Content-Type: text/x-patch; charset=US-ASCII; name="dlang-p4.patch" Content-Disposition: attachment; filename="dlang-p4.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hq81blfl0 Content-length: 15185 IGdkYi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDEyICsrCiBnZGIvZC1sYW5nLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDE4MSArKysrKysrKysrKysrKysrKysrKysrKysrKy0K IGdkYi9kLWxhbmcuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDMyICsrKysrCiBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZyAgICAgICAg ICAgICAgICAgICAgIHwgICAgNCArCiBnZGIvdGVzdHN1aXRlL2dkYi5kbGFu Zy9wcmltaXRpdmUtdHlwZXMuZXhwIHwgICA2MSArKysrKysrKysKIDUgZmls ZXMgY2hhbmdlZCwgMjg5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9nZGIvZC1sYW5nLmMgYi9nZGIvZC1sYW5nLmMKaW5k ZXggMmI1ZjljOC4uZTc0YjA0NyAxMDA2NDQKLS0tIGEvZ2RiL2QtbGFuZy5j CisrKyBiL2dkYi9kLWxhbmcuYwpAQCAtMjU3LDYgKzI1Nyw5OCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IG9wX3ByaW50IGRfb3BfcHJpbnRfdGFiW10gPQog ICB7TlVMTCwgMCwgMCwgMH0KIH07CiAKK2VudW0gZF9wcmltaXRpdmVfdHlw ZXMgeworICBkX3ByaW1pdGl2ZV90eXBlX3ZvaWQsCisgIGRfcHJpbWl0aXZl X3R5cGVfYm9vbCwKKyAgZF9wcmltaXRpdmVfdHlwZV9ieXRlLAorICBkX3By aW1pdGl2ZV90eXBlX3VieXRlLAorICBkX3ByaW1pdGl2ZV90eXBlX3Nob3J0 LAorICBkX3ByaW1pdGl2ZV90eXBlX3VzaG9ydCwKKyAgZF9wcmltaXRpdmVf dHlwZV9pbnQsCisgIGRfcHJpbWl0aXZlX3R5cGVfdWludCwKKyAgZF9wcmlt aXRpdmVfdHlwZV9sb25nLAorICBkX3ByaW1pdGl2ZV90eXBlX3Vsb25nLAor ICBkX3ByaW1pdGl2ZV90eXBlX2NlbnQsCisgIGRfcHJpbWl0aXZlX3R5cGVf dWNlbnQsCisgIGRfcHJpbWl0aXZlX3R5cGVfZmxvYXQsCisgIGRfcHJpbWl0 aXZlX3R5cGVfZG91YmxlLAorICBkX3ByaW1pdGl2ZV90eXBlX3JlYWwsCisg IGRfcHJpbWl0aXZlX3R5cGVfaWZsb2F0LAorICBkX3ByaW1pdGl2ZV90eXBl X2lkb3VibGUsCisgIGRfcHJpbWl0aXZlX3R5cGVfaXJlYWwsCisgIGRfcHJp bWl0aXZlX3R5cGVfY2Zsb2F0LAorICBkX3ByaW1pdGl2ZV90eXBlX2Nkb3Vi bGUsCisgIGRfcHJpbWl0aXZlX3R5cGVfY3JlYWwsCisgIGRfcHJpbWl0aXZl X3R5cGVfY2hhciwKKyAgZF9wcmltaXRpdmVfdHlwZV93Y2hhciwKKyAgZF9w cmltaXRpdmVfdHlwZV9kY2hhciwKKyAgbnJfZF9wcmltaXRpdmVfdHlwZXMK K307CisKK3N0YXRpYyB2b2lkCitkX2xhbmd1YWdlX2FyY2hfaW5mbyAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCisJCSAgICAgIHN0cnVjdCBsYW5ndWFn ZV9hcmNoX2luZm8gKmxhaSkKK3sKKyAgY29uc3Qgc3RydWN0IGJ1aWx0aW5f ZF90eXBlICpidWlsdGluID0gYnVpbHRpbl9kX3R5cGUgKGdkYmFyY2gpOwor CisgIGxhaS0+c3RyaW5nX2NoYXJfdHlwZSA9IGJ1aWx0aW4tPmJ1aWx0aW5f Y2hhcjsKKyAgbGFpLT5wcmltaXRpdmVfdHlwZV92ZWN0b3IKKyAgICA9IEdE QkFSQ0hfT0JTVEFDS19DQUxMT0MgKGdkYmFyY2gsIG5yX2RfcHJpbWl0aXZl X3R5cGVzICsgMSwKKwkJCSAgICAgIHN0cnVjdCB0eXBlICopOworCisgIGxh aS0+cHJpbWl0aXZlX3R5cGVfdmVjdG9yIFtkX3ByaW1pdGl2ZV90eXBlX3Zv aWRdCisgICAgPSBidWlsdGluLT5idWlsdGluX3ZvaWQ7CisgIGxhaS0+cHJp bWl0aXZlX3R5cGVfdmVjdG9yIFtkX3ByaW1pdGl2ZV90eXBlX2Jvb2xdCisg ICAgPSBidWlsdGluLT5idWlsdGluX2Jvb2w7CisgIGxhaS0+cHJpbWl0aXZl X3R5cGVfdmVjdG9yIFtkX3ByaW1pdGl2ZV90eXBlX2J5dGVdCisgICAgPSBi dWlsdGluLT5idWlsdGluX2J5dGU7CisgIGxhaS0+cHJpbWl0aXZlX3R5cGVf dmVjdG9yIFtkX3ByaW1pdGl2ZV90eXBlX3VieXRlXQorICAgID0gYnVpbHRp bi0+YnVpbHRpbl91Ynl0ZTsKKyAgbGFpLT5wcmltaXRpdmVfdHlwZV92ZWN0 b3IgW2RfcHJpbWl0aXZlX3R5cGVfc2hvcnRdCisgICAgPSBidWlsdGluLT5i dWlsdGluX3Nob3J0OworICBsYWktPnByaW1pdGl2ZV90eXBlX3ZlY3RvciBb ZF9wcmltaXRpdmVfdHlwZV91c2hvcnRdCisgICAgPSBidWlsdGluLT5idWls dGluX3VzaG9ydDsKKyAgbGFpLT5wcmltaXRpdmVfdHlwZV92ZWN0b3IgW2Rf cHJpbWl0aXZlX3R5cGVfaW50XQorICAgID0gYnVpbHRpbi0+YnVpbHRpbl9p bnQ7CisgIGxhaS0+cHJpbWl0aXZlX3R5cGVfdmVjdG9yIFtkX3ByaW1pdGl2 ZV90eXBlX3VpbnRdCisgICAgPSBidWlsdGluLT5idWlsdGluX3VpbnQ7Cisg IGxhaS0+cHJpbWl0aXZlX3R5cGVfdmVjdG9yIFtkX3ByaW1pdGl2ZV90eXBl X2xvbmddCisgICAgPSBidWlsdGluLT5idWlsdGluX2xvbmc7CisgIGxhaS0+ cHJpbWl0aXZlX3R5cGVfdmVjdG9yIFtkX3ByaW1pdGl2ZV90eXBlX3Vsb25n XQorICAgID0gYnVpbHRpbi0+YnVpbHRpbl91bG9uZzsKKyAgbGFpLT5wcmlt aXRpdmVfdHlwZV92ZWN0b3IgW2RfcHJpbWl0aXZlX3R5cGVfY2VudF0KKyAg ICA9IGJ1aWx0aW4tPmJ1aWx0aW5fY2VudDsKKyAgbGFpLT5wcmltaXRpdmVf dHlwZV92ZWN0b3IgW2RfcHJpbWl0aXZlX3R5cGVfdWNlbnRdCisgICAgPSBi dWlsdGluLT5idWlsdGluX3VjZW50OworICBsYWktPnByaW1pdGl2ZV90eXBl X3ZlY3RvciBbZF9wcmltaXRpdmVfdHlwZV9mbG9hdF0KKyAgICA9IGJ1aWx0 aW4tPmJ1aWx0aW5fZmxvYXQ7CisgIGxhaS0+cHJpbWl0aXZlX3R5cGVfdmVj dG9yIFtkX3ByaW1pdGl2ZV90eXBlX2RvdWJsZV0KKyAgICA9IGJ1aWx0aW4t PmJ1aWx0aW5fZG91YmxlOworICBsYWktPnByaW1pdGl2ZV90eXBlX3ZlY3Rv ciBbZF9wcmltaXRpdmVfdHlwZV9yZWFsXQorICAgID0gYnVpbHRpbi0+YnVp bHRpbl9yZWFsOworICBsYWktPnByaW1pdGl2ZV90eXBlX3ZlY3RvciBbZF9w cmltaXRpdmVfdHlwZV9pZmxvYXRdCisgICAgPSBidWlsdGluLT5idWlsdGlu X2lmbG9hdDsKKyAgbGFpLT5wcmltaXRpdmVfdHlwZV92ZWN0b3IgW2RfcHJp bWl0aXZlX3R5cGVfaWRvdWJsZV0KKyAgICA9IGJ1aWx0aW4tPmJ1aWx0aW5f aWRvdWJsZTsKKyAgbGFpLT5wcmltaXRpdmVfdHlwZV92ZWN0b3IgW2RfcHJp bWl0aXZlX3R5cGVfaXJlYWxdCisgICAgPSBidWlsdGluLT5idWlsdGluX2ly ZWFsOworICBsYWktPnByaW1pdGl2ZV90eXBlX3ZlY3RvciBbZF9wcmltaXRp dmVfdHlwZV9jZmxvYXRdCisgICAgPSBidWlsdGluLT5idWlsdGluX2NmbG9h dDsKKyAgbGFpLT5wcmltaXRpdmVfdHlwZV92ZWN0b3IgW2RfcHJpbWl0aXZl X3R5cGVfY2RvdWJsZV0KKyAgICA9IGJ1aWx0aW4tPmJ1aWx0aW5fY2RvdWJs ZTsKKyAgbGFpLT5wcmltaXRpdmVfdHlwZV92ZWN0b3IgW2RfcHJpbWl0aXZl X3R5cGVfY3JlYWxdCisgICAgPSBidWlsdGluLT5idWlsdGluX2NyZWFsOwor ICBsYWktPnByaW1pdGl2ZV90eXBlX3ZlY3RvciBbZF9wcmltaXRpdmVfdHlw ZV9jaGFyXQorICAgID0gYnVpbHRpbi0+YnVpbHRpbl9jaGFyOworICBsYWkt PnByaW1pdGl2ZV90eXBlX3ZlY3RvciBbZF9wcmltaXRpdmVfdHlwZV93Y2hh cl0KKyAgICA9IGJ1aWx0aW4tPmJ1aWx0aW5fd2NoYXI7CisgIGxhaS0+cHJp bWl0aXZlX3R5cGVfdmVjdG9yIFtkX3ByaW1pdGl2ZV90eXBlX2RjaGFyXQor ICAgID0gYnVpbHRpbi0+YnVpbHRpbl9kY2hhcjsKKworICBsYWktPmJvb2xf dHlwZV9zeW1ib2wgPSAiYm9vbCI7CisgIGxhaS0+Ym9vbF90eXBlX2RlZmF1 bHQgPSBidWlsdGluLT5idWlsdGluX2Jvb2w7Cit9CisKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiBkX2xhbmd1YWdlX2RlZm4gPQogewog ICAiZCIsCkBAIC0yOTEsNyArMzgzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBsYW5ndWFnZV9kZWZuIGRfbGFuZ3VhZ2VfZGVmbiA9CiAgIDAsCQkJCS8q IFN0cmluZyBsb3dlciBib3VuZC4gICovCiAgIGRlZmF1bHRfd29yZF9icmVh a19jaGFyYWN0ZXJzLAogICBkZWZhdWx0X21ha2Vfc3ltYm9sX2NvbXBsZXRp b25fbGlzdCwKLSAgY19sYW5ndWFnZV9hcmNoX2luZm8sCisgIGRfbGFuZ3Vh Z2VfYXJjaF9pbmZvLAogICBkZWZhdWx0X3ByaW50X2FycmF5X2luZGV4LAog ICBkZWZhdWx0X3Bhc3NfYnlfcmVmZXJlbmNlLAogICBjX2dldF9zdHJpbmcs CkBAIC0zMDEsMTEgKzM5Myw5OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGxh bmd1YWdlX2RlZm4gZF9sYW5ndWFnZV9kZWZuID0KICAgTEFOR19NQUdJQwog fTsKIAorc3RhdGljIHZvaWQgKgorYnVpbGRfZF90eXBlcyAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gpCit7CisgIHN0cnVjdCBidWlsdGluX2RfdHlwZSAq YnVpbHRpbl9kX3R5cGUKKyAgICA9IEdEQkFSQ0hfT0JTVEFDS19aQUxMT0Mg KGdkYmFyY2gsIHN0cnVjdCBidWlsdGluX2RfdHlwZSk7CisKKyAgLyogQmFz aWMgdHlwZXMuICAqLworICBidWlsdGluX2RfdHlwZS0+YnVpbHRpbl92b2lk CisgICAgPSBhcmNoX3R5cGUgKGdkYmFyY2gsIFRZUEVfQ09ERV9WT0lELCAx LCAidm9pZCIpOworICBidWlsdGluX2RfdHlwZS0+YnVpbHRpbl9ib29sCisg ICAgPSBhcmNoX2Jvb2xlYW5fdHlwZSAoZ2RiYXJjaCwgOCwgMSwgImJvb2wi KTsKKyAgYnVpbHRpbl9kX3R5cGUtPmJ1aWx0aW5fYnl0ZQorICAgID0gYXJj aF9pbnRlZ2VyX3R5cGUgKGdkYmFyY2gsIDgsIDAsICJieXRlIik7CisgIGJ1 aWx0aW5fZF90eXBlLT5idWlsdGluX3VieXRlCisgICAgPSBhcmNoX2ludGVn ZXJfdHlwZSAoZ2RiYXJjaCwgOCwgMSwgInVieXRlIik7CisgIGJ1aWx0aW5f ZF90eXBlLT5idWlsdGluX3Nob3J0CisgICAgPSBhcmNoX2ludGVnZXJfdHlw ZSAoZ2RiYXJjaCwgMTYsIDAsICJzaG9ydCIpOworICBidWlsdGluX2RfdHlw ZS0+YnVpbHRpbl91c2hvcnQKKyAgICA9IGFyY2hfaW50ZWdlcl90eXBlIChn ZGJhcmNoLCAxNiwgMSwgInVzaG9ydCIpOworICBidWlsdGluX2RfdHlwZS0+ YnVpbHRpbl9pbnQKKyAgICA9IGFyY2hfaW50ZWdlcl90eXBlIChnZGJhcmNo LCAzMiwgMCwgImludCIpOworICBidWlsdGluX2RfdHlwZS0+YnVpbHRpbl91 aW50CisgICAgPSBhcmNoX2ludGVnZXJfdHlwZSAoZ2RiYXJjaCwgMzIsIDEs ICJ1aW50Iik7CisgIGJ1aWx0aW5fZF90eXBlLT5idWlsdGluX2xvbmcKKyAg ICA9IGFyY2hfaW50ZWdlcl90eXBlIChnZGJhcmNoLCA2NCwgMCwgImxvbmci KTsKKyAgYnVpbHRpbl9kX3R5cGUtPmJ1aWx0aW5fdWxvbmcKKyAgICA9IGFy Y2hfaW50ZWdlcl90eXBlIChnZGJhcmNoLCA2NCwgMSwgInVsb25nIik7Cisg IGJ1aWx0aW5fZF90eXBlLT5idWlsdGluX2NlbnQKKyAgICA9IGFyY2hfaW50 ZWdlcl90eXBlIChnZGJhcmNoLCAxMjgsIDAsICJjZW50Iik7CisgIGJ1aWx0 aW5fZF90eXBlLT5idWlsdGluX3VjZW50CisgICAgPSBhcmNoX2ludGVnZXJf dHlwZSAoZ2RiYXJjaCwgMTI4LCAxLCAidWNlbnQiKTsKKyAgYnVpbHRpbl9k X3R5cGUtPmJ1aWx0aW5fZmxvYXQKKyAgICA9IGFyY2hfZmxvYXRfdHlwZSAo Z2RiYXJjaCwgZ2RiYXJjaF9mbG9hdF9iaXQgKGdkYmFyY2gpLAorCQkgICAg ICAgImZsb2F0IiwgTlVMTCk7CisgIGJ1aWx0aW5fZF90eXBlLT5idWlsdGlu X2RvdWJsZQorICAgID0gYXJjaF9mbG9hdF90eXBlIChnZGJhcmNoLCBnZGJh cmNoX2RvdWJsZV9iaXQgKGdkYmFyY2gpLAorCQkgICAgICAgImRvdWJsZSIs IE5VTEwpOworICBidWlsdGluX2RfdHlwZS0+YnVpbHRpbl9yZWFsCisgICAg PSBhcmNoX2Zsb2F0X3R5cGUgKGdkYmFyY2gsIGdkYmFyY2hfbG9uZ19kb3Vi bGVfYml0IChnZGJhcmNoKSwKKwkJICAgICAgICJyZWFsIiwgTlVMTCk7CisK KyAgVFlQRV9JTlNUQU5DRV9GTEFHUyAoYnVpbHRpbl9kX3R5cGUtPmJ1aWx0 aW5fYnl0ZSkKKyAgICB8PSBUWVBFX0lOU1RBTkNFX0ZMQUdfTk9UVEVYVDsK KyAgVFlQRV9JTlNUQU5DRV9GTEFHUyAoYnVpbHRpbl9kX3R5cGUtPmJ1aWx0 aW5fdWJ5dGUpCisgICAgfD0gVFlQRV9JTlNUQU5DRV9GTEFHX05PVFRFWFQ7 CisKKyAgLyogSW1hZ2luYXJ5IGFuZCBjb21wbGV4IHR5cGVzLiAgKi8KKyAg YnVpbHRpbl9kX3R5cGUtPmJ1aWx0aW5faWZsb2F0CisgICAgPSBhcmNoX2Zs b2F0X3R5cGUgKGdkYmFyY2gsIGdkYmFyY2hfZmxvYXRfYml0IChnZGJhcmNo KSwKKwkJICAgICAgICJpZmxvYXQiLCBOVUxMKTsKKyAgYnVpbHRpbl9kX3R5 cGUtPmJ1aWx0aW5faWRvdWJsZQorICAgID0gYXJjaF9mbG9hdF90eXBlIChn ZGJhcmNoLCBnZGJhcmNoX2RvdWJsZV9iaXQgKGdkYmFyY2gpLAorCQkgICAg ICAgImlkb3VibGUiLCBOVUxMKTsKKyAgYnVpbHRpbl9kX3R5cGUtPmJ1aWx0 aW5faXJlYWwKKyAgICA9IGFyY2hfZmxvYXRfdHlwZSAoZ2RiYXJjaCwgZ2Ri YXJjaF9sb25nX2RvdWJsZV9iaXQgKGdkYmFyY2gpLAorCQkgICAgICAgImly ZWFsIiwgTlVMTCk7CisgIGJ1aWx0aW5fZF90eXBlLT5idWlsdGluX2NmbG9h dAorICAgID0gYXJjaF9jb21wbGV4X3R5cGUgKGdkYmFyY2gsICJjZmxvYXQi LAorCQkJIGJ1aWx0aW5fZF90eXBlLT5idWlsdGluX2Zsb2F0KTsKKyAgYnVp bHRpbl9kX3R5cGUtPmJ1aWx0aW5fY2RvdWJsZQorICAgID0gYXJjaF9jb21w bGV4X3R5cGUgKGdkYmFyY2gsICJjZG91YmxlIiwKKwkJCSBidWlsdGluX2Rf dHlwZS0+YnVpbHRpbl9kb3VibGUpOworICBidWlsdGluX2RfdHlwZS0+YnVp bHRpbl9jcmVhbAorICAgID0gYXJjaF9jb21wbGV4X3R5cGUgKGdkYmFyY2gs ICJjcmVhbCIsCisJCQkgYnVpbHRpbl9kX3R5cGUtPmJ1aWx0aW5fcmVhbCk7 CisKKyAgLyogQ2hhcmFjdGVyIHR5cGVzLiAgKi8KKyAgYnVpbHRpbl9kX3R5 cGUtPmJ1aWx0aW5fY2hhcgorICAgID0gYXJjaF9jaGFyYWN0ZXJfdHlwZSAo Z2RiYXJjaCwgOCwgMSwgImNoYXIiKTsKKyAgYnVpbHRpbl9kX3R5cGUtPmJ1 aWx0aW5fd2NoYXIKKyAgICA9IGFyY2hfY2hhcmFjdGVyX3R5cGUgKGdkYmFy Y2gsIDE2LCAxLCAid2NoYXIiKTsKKyAgYnVpbHRpbl9kX3R5cGUtPmJ1aWx0 aW5fZGNoYXIKKyAgICA9IGFyY2hfY2hhcmFjdGVyX3R5cGUgKGdkYmFyY2gs IDMyLCAxLCAiZGNoYXIiKTsKKworICByZXR1cm4gYnVpbHRpbl9kX3R5cGU7 Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZ2RiYXJjaF9kYXRhICpkX3R5cGVfZGF0 YTsKKworY29uc3Qgc3RydWN0IGJ1aWx0aW5fZF90eXBlICoKK2J1aWx0aW5f ZF90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKK3sKKyAgcmV0dXJu IGdkYmFyY2hfZGF0YSAoZ2RiYXJjaCwgZF90eXBlX2RhdGEpOworfQorCiAv KiBQcm92aWRlIGEgcHJvdG90eXBlIHRvIHNpbGVuY2UgLVdtaXNzaW5nLXBy b3RvdHlwZXMuICAqLwogZXh0ZXJuIGluaXRpYWxpemVfZmlsZV9mdHlwZSBf aW5pdGlhbGl6ZV9kX2xhbmd1YWdlOwogCiB2b2lkCiBfaW5pdGlhbGl6ZV9k X2xhbmd1YWdlICh2b2lkKQogeworICBkX3R5cGVfZGF0YSA9IGdkYmFyY2hf ZGF0YV9yZWdpc3Rlcl9wb3N0X2luaXQgKGJ1aWxkX2RfdHlwZXMpOworCiAg IGFkZF9sYW5ndWFnZSAoJmRfbGFuZ3VhZ2VfZGVmbik7CiB9CmRpZmYgLS1n aXQgYS9nZGIvZC1sYW5nLmggYi9nZGIvZC1sYW5nLmgKaW5kZXggOWVkZTMz OC4uN2E2YzYwOCAxMDA2NDQKLS0tIGEvZ2RiL2QtbGFuZy5oCisrKyBiL2dk Yi9kLWxhbmcuaApAQCAtMjIsMTIgKzIyLDQ0IEBACiAKICNpbmNsdWRlICJz eW10YWIuaCIKIAorc3RydWN0IGJ1aWx0aW5fZF90eXBlCit7CisgIHN0cnVj dCB0eXBlICpidWlsdGluX3ZvaWQ7CisgIHN0cnVjdCB0eXBlICpidWlsdGlu X2Jvb2w7CisgIHN0cnVjdCB0eXBlICpidWlsdGluX2J5dGU7CisgIHN0cnVj dCB0eXBlICpidWlsdGluX3VieXRlOworICBzdHJ1Y3QgdHlwZSAqYnVpbHRp bl9zaG9ydDsKKyAgc3RydWN0IHR5cGUgKmJ1aWx0aW5fdXNob3J0OworICBz dHJ1Y3QgdHlwZSAqYnVpbHRpbl9pbnQ7CisgIHN0cnVjdCB0eXBlICpidWls dGluX3VpbnQ7CisgIHN0cnVjdCB0eXBlICpidWlsdGluX2xvbmc7CisgIHN0 cnVjdCB0eXBlICpidWlsdGluX3Vsb25nOworICBzdHJ1Y3QgdHlwZSAqYnVp bHRpbl9jZW50OworICBzdHJ1Y3QgdHlwZSAqYnVpbHRpbl91Y2VudDsKKyAg c3RydWN0IHR5cGUgKmJ1aWx0aW5fZmxvYXQ7CisgIHN0cnVjdCB0eXBlICpi dWlsdGluX2RvdWJsZTsKKyAgc3RydWN0IHR5cGUgKmJ1aWx0aW5fcmVhbDsK KyAgc3RydWN0IHR5cGUgKmJ1aWx0aW5faWZsb2F0OworICBzdHJ1Y3QgdHlw ZSAqYnVpbHRpbl9pZG91YmxlOworICBzdHJ1Y3QgdHlwZSAqYnVpbHRpbl9p cmVhbDsKKyAgc3RydWN0IHR5cGUgKmJ1aWx0aW5fY2Zsb2F0OworICBzdHJ1 Y3QgdHlwZSAqYnVpbHRpbl9jZG91YmxlOworICBzdHJ1Y3QgdHlwZSAqYnVp bHRpbl9jcmVhbDsKKyAgc3RydWN0IHR5cGUgKmJ1aWx0aW5fY2hhcjsKKyAg c3RydWN0IHR5cGUgKmJ1aWx0aW5fd2NoYXI7CisgIHN0cnVjdCB0eXBlICpi dWlsdGluX2RjaGFyOworfTsKKwogLyogRGVmaW5lZCBpbiBkLWxhbmcuYyAg Ki8KIAogZXh0ZXJuIGNvbnN0IGNoYXIgKmRfbWFpbl9uYW1lICh2b2lkKTsK IAogZXh0ZXJuIGNoYXIgKmRfZGVtYW5nbGUgKGNvbnN0IGNoYXIgKm1hbmds ZWQsIGludCBvcHRpb25zKTsKIAorZXh0ZXJuIGNvbnN0IHN0cnVjdCBidWls dGluX2RfdHlwZSAqYnVpbHRpbl9kX3R5cGUgKHN0cnVjdCBnZGJhcmNoICop OworCisvKiBEZWZpbmVkIGluIGQtdmFscHJpbnQuYyAgKi8KKwogZXh0ZXJu IHZvaWQgZF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBn ZGJfYnl0ZSAqdmFsYWRkciwKIAkJCSBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBD T1JFX0FERFIgYWRkcmVzcywKIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmRsYW5nL3ByaW1pdGl2ZS10eXBlcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi5kbGFuZy9wcmltaXRpdmUtdHlwZXMuZXhwCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjJiZTQzNjgKLS0tIC9kZXYvbnVsbAorKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5kbGFuZy9wcmltaXRpdmUtdHlwZXMuZXhw CkBAIC0wLDAgKzEsNjEgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgor CisjIFRlc3QgYmFzaWMgYnVpbHRpbiB0eXBlcy4KKyMgTk9URTogVGhlIHRl c3RzIGhlcmUgaW50ZW50aW9uYWxseSBkbyBub3QgcmVxdWlyZSBhIGdvIGNv bXBpbGVyLgorCitsb2FkX2xpYiAiZC1zdXBwb3J0LmV4cCIKKworaWYgeyBb c2tpcF9kX3Rlc3RzXSB9IHsgY29udGludWUgfQorCitwcm9jIHRlc3RfYnVp bHRpbl9kX3R5cGVzX2FjY2VwdGVkIHt9IHsKKyAgICAjIFRlc3QgdHlwZXMg YXJlIHJlY29nbmlzZWQuCisKKyAgICBnZGJfdGVzdCAicHR5cGUgdm9pZCIg InR5cGUgPSB2b2lkIgorICAgIGdkYl90ZXN0ICJwdHlwZSBib29sIiAidHlw ZSA9IGJvb2wiCisgICAgZ2RiX3Rlc3QgInB0eXBlIGJ5dGUiICJ0eXBlID0g Ynl0ZSIKKyAgICBnZGJfdGVzdCAicHR5cGUgdWJ5dGUiICJ0eXBlID0gdWJ5 dGUiCisgICAgZ2RiX3Rlc3QgInB0eXBlIHNob3J0IiAidHlwZSA9IHNob3J0 IgorICAgIGdkYl90ZXN0ICJwdHlwZSB1c2hvcnQiICJ0eXBlID0gdXNob3J0 IgorICAgIGdkYl90ZXN0ICJwdHlwZSBpbnQiICJ0eXBlID0gaW50IgorICAg IGdkYl90ZXN0ICJwdHlwZSB1aW50IiAidHlwZSA9IHVpbnQiCisgICAgZ2Ri X3Rlc3QgInB0eXBlIGxvbmciICJ0eXBlID0gbG9uZyIKKyAgICBnZGJfdGVz dCAicHR5cGUgdWxvbmciICJ0eXBlID0gdWxvbmciCisgICAgZ2RiX3Rlc3Qg InB0eXBlIGNlbnQiICJ0eXBlID0gY2VudCIKKyAgICBnZGJfdGVzdCAicHR5 cGUgdWNlbnQiICJ0eXBlID0gdWNlbnQiCisgICAgZ2RiX3Rlc3QgInB0eXBl IGZsb2F0IiAidHlwZSA9IGZsb2F0IgorICAgIGdkYl90ZXN0ICJwdHlwZSBk b3VibGUiICJ0eXBlID0gZG91YmxlIgorICAgIGdkYl90ZXN0ICJwdHlwZSBy ZWFsIiAidHlwZSA9IHJlYWwiCisgICAgZ2RiX3Rlc3QgInB0eXBlIGlmbG9h dCIgInR5cGUgPSBpZmxvYXQiCisgICAgZ2RiX3Rlc3QgInB0eXBlIGlkb3Vi bGUiICJ0eXBlID0gaWRvdWJsZSIKKyAgICBnZGJfdGVzdCAicHR5cGUgaXJl YWwiICJ0eXBlID0gaXJlYWwiCisgICAgZ2RiX3Rlc3QgInB0eXBlIGNmbG9h dCIgInR5cGUgPSBjZmxvYXQiCisgICAgZ2RiX3Rlc3QgInB0eXBlIGNkb3Vi bGUiICJ0eXBlID0gY2RvdWJsZSIKKyAgICBnZGJfdGVzdCAicHR5cGUgY3Jl YWwiICJ0eXBlID0gY3JlYWwiCisgICAgZ2RiX3Rlc3QgInB0eXBlIGNoYXIi ICJ0eXBlID0gY2hhciIKKyAgICBnZGJfdGVzdCAicHR5cGUgd2NoYXIiICJ0 eXBlID0gd2NoYXIiCisgICAgZ2RiX3Rlc3QgInB0eXBlIGRjaGFyIiAidHlw ZSA9IGRjaGFyIgorfQorCisjIFN0YXJ0IHdpdGggYSBmcmVzaCBnZGIuCisK K2dkYl9leGl0CitnZGJfc3RhcnQKKworaWYgW3NldF9sYW5nX2RdIHsKKyAg ICB0ZXN0X2J1aWx0aW5fZF90eXBlc19hY2NlcHRlZAorfSBlbHNlIHsKKyAg ICB3YXJuaW5nICJEIHR5cGUgdGVzdHMgc3VwcHJlc3NlZC4iCit9Cg== --001a1133ba2c1fc09804ef895905--