From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2063.outbound.protection.outlook.com [40.107.94.63]) by sourceware.org (Postfix) with ESMTPS id 350513858C2C for ; Thu, 28 Apr 2022 10:14:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 350513858C2C ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EZVgeYGTOtQR9tuIBlJC8mIOsLUNkVG0pP2eOnvM2nwYFLh7q+1XWBIRrSr+WawawkLyQhs/XqTepCeoTTAijrzXqUzNuf89uwkJf2I2XbHYu9ghKrya1a8s7wfOtNGamtytvqW8xIRRZD4k+lii/X0gv8tQ0VdI1lmP6pWPgReQtDh/Rg6/f4GtZOKLABiUySKuxCGOJPdPKPXDlNo5STclHCS/FUZS1HCiZ/xkDUt6oIbOLTPiq8BtDUJY6UFhBz/YQQ34heznRyrlixKrYVaLMEdxU393g/lvXrxw4M4IzZMKFGVvu/6KGjb836CTNRvRn4nEwwovQi4h9fLmrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YXVPr7qhrBBf2il2oM9deGLjCdlxR1EkrxdojOYHv/0=; b=QJYB1pSDgmO33ZTY6bollCiVOfP6XMX2Jf0CBF0rdnwJFUgdRYQ06TJEy1nkDOODxyRcUiwfd65Axlo5oJR20R/zezexceIg+Zq3Qjb+mh1A8mRh6rUGWQXcJAohwmI7fooyBmXZtmCDvyGohua5tChMzHo+Hz/YaVsLLIJG4iwOeGmLj9OTyPRbTLZqgN11exMy1bZ5SPvD+Hupl5GEzWfPz/itUaEsuQ/lPq82eJVaD8xq+P8xhNRO4eAbWapc3YSkTLuiXMobQRQeFQJ4ZZ1KPrDZXRkURYCfNO5B29a2wM0I/pqBBWN6fxlgtV8B0YecW1cYGnN0rD2WRkCJag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from DM4PR12MB5796.namprd12.prod.outlook.com (2603:10b6:8:63::16) by DM5PR1201MB0122.namprd12.prod.outlook.com (2603:10b6:4:57::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Thu, 28 Apr 2022 10:14:33 +0000 Received: from DM4PR12MB5796.namprd12.prod.outlook.com ([fe80::a1e2:fb43:9044:e0e2]) by DM4PR12MB5796.namprd12.prod.outlook.com ([fe80::a1e2:fb43:9044:e0e2%5]) with mapi id 15.20.5206.013; Thu, 28 Apr 2022 10:14:33 +0000 From: "Natarajan, Kavitha" To: "binutils@sourceware.org" CC: "George, Jini Susan" Subject: [PATCH] Binutils support for DWARF-5 DW_OP_addrx Thread-Topic: [PATCH] Binutils support for DWARF-5 DW_OP_addrx Thread-Index: Adha59PnrA+AQXEVQqeLEosQcqSdXg== Date: Thu, 28 Apr 2022 10:14:33 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ActionId=9bd508a2-a38a-462d-807b-ade59afd6925; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ContentBits=0; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Enabled=true; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Method=Privileged; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Name=Public-AIP 2.0; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SetDate=2022-04-28T10:06:11Z; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e13fc320-f840-4de0-66c6-08da28ffe3ef x-ms-traffictypediagnostic: DM5PR1201MB0122:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HXd8GYYIqFesWo4e6nCsd8D0pW394Qc+lk5KrG84s2flEJvabJEhb8eqfhvZB5i3FBGxiUP+ZS1KbOBqVyw6C8llLdH3hKUv0JPopZAlrG0NXGaWOwIqZhg+O4ZwyXHYQ4ETWVimx0GwJ0LHI/ZRQMi+uHqHQid0bAamzDsoh3yrhq5CL9w2z2xHbUFHCfPrwifqTztLGh6TZPlauubEtqqdt06cvXKS+zWyKxYeh6ieRTmPTTdK9+wc3oZLy/64O7YW+MjEpwetUxAv/014j5CaDe6+tYwbuzv4gCRdYZEk1Xls7Qdlhp7Wkk2Td2x09lyMKvDEWhj/MPY4MxnIo65IwyPvIPR0KyWY/l3dP0ndtpEwDMzdc9/KZl9wSCO14eeV21FPtvKEpnscYYBGiPhCSWMkwOQ0dCOY79mGyf/e0VEu7hyrulhQJmJhyeGBxMmE/rPrVKvmoawYtLGdWiRzWFNLwKX5BA/9i3jkm7+O7p9Z9aUQDhDOoKhckCL8LxX2p7H/MzXpSR03/oM1MotQtTaTTcVJfKfrwMGeY2URgW8AGOzCoQyOc1d7fGaaWv8hTsNXR+++PlHfM4hCUbxuI3vx3Tq4CZ0zPNy4KUyOiGP2FPDSgpYcdyK5KPmmo599jvUZOufzvyeeEhx0nlskHeHM+sae95zxyoGzEBppYekW2GL1YACi2Tr/6JtnIa2NMIuR4D8p47FNUi0iBA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5796.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(7696005)(2906002)(5660300002)(6506007)(8936002)(186003)(30864003)(83380400001)(9686003)(26005)(33656002)(55016003)(508600001)(4326008)(316002)(122000001)(6916009)(52536014)(38070700005)(38100700002)(66946007)(71200400001)(8676002)(66556008)(66476007)(66446008)(76116006)(86362001)(64756008)(99936003)(559001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?WJ0E2hdGeopajV8nofYh00P/KoxzTwWPO0K9mifFMun3k+J38vLEhMLXB+15?= =?us-ascii?Q?5qIstBuP95KOxY3kaGQVisd6RxtasjVRLoiCHG/sBbRrHpZye+9aRUWxkrn8?= =?us-ascii?Q?CizCGE0eAOMkh0hSdJL1OXN9d63iHHb7E7afe4a63go3TRixxNPKlgUqEimf?= =?us-ascii?Q?QeB8tC6HPjfmod16Rk2NvFGImP6TIULMzRMaftv/qGCgRfyAOmZtD75SiTmL?= =?us-ascii?Q?pwG1xIREr09PyN3W//la46qPCYtv0BRQHcoBizRKGKqXV7166wIjzF1vFp0e?= =?us-ascii?Q?P4vTlEQ4PdBXzlz1C+FcRVnRIn+kIxvEcHNVVOu9/huweP70okTJh6WWfTJ8?= =?us-ascii?Q?JFVAaSFtLRCs3071Ghp/k3rQWtNVLg0FZ+cIR+mDT9btx9ol+8k0Ijkhp3B2?= =?us-ascii?Q?3nf5hkTKqCx/WWpY6vwsVfiQSlKumBjrSGff1jLvuZJccoEpC7R3pDOIJYDa?= =?us-ascii?Q?8LNb4AstTWB7oDIGhTN65jfNrIReW4TOJVrrJCEaY88moG/Bv3dLv0LRvXzC?= =?us-ascii?Q?ixknZGo7trk8u71lORROSkf27/k6AUOtvhnH1JR3dZEn4ZuWj0FTkjFZwEud?= =?us-ascii?Q?rXfwwxARQmhp4D3iCvsXPROlkZG+d6WyQV9qvxCsUKPQnczC82gTWLK0c8xW?= =?us-ascii?Q?mDD6KSk/G+bUZKvbCrPS39hQgm7Be1OYilEuF3Y7N/e44vOWYK3Sazaz6k1G?= =?us-ascii?Q?OS+Qls2otkm/la16Q7WDShkcgPmobAyMZhD0/B1GFdwTRdul72Q7P92vL+9t?= =?us-ascii?Q?0gHZZXVdNeY1dNJPvrXNJrD43zDmL2AaVUelBCWkLv2d9aAP2WiCPZ9hq31Q?= =?us-ascii?Q?LrcFQPLXWi4GRseDdPg1+a7eZmjuItkQVrBf0Nwi5RunxEBOQTBquHrjsmP5?= =?us-ascii?Q?szhQ0G7KcZLJY2Jo9EzRxV6wtQuW+So1kbNYExtRAA5Oe7853aMcpXyBwGBK?= =?us-ascii?Q?K1MurLnmp7EVwIgwMydsrmv5tR9yKLnBjHbNmk3dapMZIDxggD0rQ0p0KmJn?= =?us-ascii?Q?Tvc1vS4qESa5KhO8sUPoEldi0/x49afRVf0fgJTEugMLu2re7WTtpgMztOwu?= =?us-ascii?Q?JOGZ3nSsnvzjfM93scnVNTWAfVJw6EucMW1QY8aG2heZn/iNDeFgUeFT71dn?= =?us-ascii?Q?DtFbqiBrDzz3YWZ53Ibr5EqBlFsTM+BZucdw/StwllN712f6f+hx6qN5UBL2?= =?us-ascii?Q?42/Ot4FK5YL+BC7wt5wg8z1qFgwlPASrk0SrkKtGZhYShDJgzm+dmhhrAo2R?= =?us-ascii?Q?4w1o9HQeh9LrZghlEJXC/S/dz2Y0G9mkrnC4SIxyLe0ubMl0Yk+caL34AkvT?= =?us-ascii?Q?fFD7EN6a6oSywW2YStSyKXPoA0TfuKoZQlP7tG/iBEnM+lcqtZdlZ3ywtNGu?= =?us-ascii?Q?hcT8AikIbVgUKVaoSkskTUffgDGJvzemoQaBO4YjJWcpS72n8oo6Cef1c64b?= =?us-ascii?Q?qvMZ34mL4r36EFb0jpLfsa2BgHEUy7BfbbegRZtvWjBgc4EcGieOUdty3orI?= =?us-ascii?Q?ArGPxYogpO6m13/vDQ8A5hhUFeaRWOkN0SUKSqJL2mpqrDX2c+BBAmoZJ4lh?= =?us-ascii?Q?+1opFFQDsez0i48r+FhWlDyF8KYYfN7mk8hfDsKofBNFJ0vOF1XiUadleZuE?= =?us-ascii?Q?Gtw/snf+zVdNHV08h5hJrhtf/k+mG+Mjq6HZqZBjWxe5qB1wEW7Bv4zyGx4t?= =?us-ascii?Q?Ud4e0NYyYjxtWRzP/PnT4/foBid5utNX5MnlDYfaZoujk0VKUCl48GPxqgPB?= =?us-ascii?Q?vtRuVEAkLA=3D=3D?= Content-Type: multipart/mixed; boundary="_004_DM4PR12MB57967946925D3DEC0E9D6437F7FD9DM4PR12MB5796namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5796.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e13fc320-f840-4de0-66c6-08da28ffe3ef X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2022 10:14:33.1766 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kxMD8uPO5ZJjKfpVn8T3tuNfmF9OFJJh9vUGGUBXfJBIN+eEDE8ETxCGLTX3wqAJF/3ESvXxp3MkyHdAKMtmhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0122 X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Apr 2022 10:14:46 -0000 --_004_DM4PR12MB57967946925D3DEC0E9D6437F7FD9DM4PR12MB5796namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [Public] Hi, When an executable is compiled with -gdwarf-5 option, bintools such as objd= ump, readelf do not recognize some of the new DWARF-5 tags. The below binutils patch is = to support one of the new DWARF-5 operation encoding tag DW_OP_addrx. Before patch: <1><86>: Abbrev Number: 3 (DW_TAG_variable) <87> DW_AT_name : (indexed string: 0xc): uni_lang_p <88> DW_AT_type : <0x4a> <8c> DW_AT_external : 1 <8c> DW_AT_decl_file : 0 <8d> DW_AT_decl_line : 64 <8e> DW_AT_location : 2 byte block: a1 4 ((Unknown location = op 0xa1)) After patch: <1><86>: Abbrev Number: 3 (DW_TAG_variable) <87> DW_AT_name : (indexed string: 0xc): uni_lang_p <88> DW_AT_type : <0x4a> <8c> DW_AT_external : 1 <8c> DW_AT_decl_file : 0 <8d> DW_AT_decl_line : 64 <8e> DW_AT_location : (DW_OP_addrx <0x4>) Generated .s file with clang to test this feature as gcc does not emit this= tag. Please review. Regards, Kavitha =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Binutils tools objdump and readelf to support new dwarf-5 operation encoding, such as, DW_OP_addrx. Added test points in objdump.exp and readlef.exp. --- binutils/dwarf.c | 11 +- binutils/testsuite/binutils-all/objdump.exp | 48 ++- binutils/testsuite/binutils-all/readelf.exp | 62 +++ binutils/testsuite/binutils-all/testprog.s | 426 ++++++++++++++++++++ 4 files changed, 543 insertions(+), 4 deletions(-) create mode 100644 binutils/testsuite/binutils-all/testprog.s diff --git a/binutils/dwarf.c b/binutils/dwarf.c index bc862f77c04..fc754f4f73d 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -1721,6 +1721,10 @@ decode_location_expression (unsigned char * data, printf ("DW_OP_GNU_parameter_ref: <0x%s>", dwarf_vmatoa ("x", cu_offset + uvalue)); break; + case DW_OP_addrx: + READ_ULEB (uvalue, data, end); + printf ("DW_OP_addrx <0x%s>", dwarf_vmatoa ("x", uvalue)); + break; case DW_OP_GNU_addr_index: READ_ULEB (uvalue, data, end); printf ("DW_OP_GNU_addr_index <0x%s>", dwarf_vmatoa ("x", uvalue)); @@ -2661,9 +2665,10 @@ read_and_display_attr_value (unsigned long = attribute, uvalue =3D check_uvalue (block_start, uvalue, end); - if (do_loc) - data =3D block_start + uvalue; - else + data =3D block_start + uvalue; + + /* DW_OP_addrx has only the index and not address. */ + if (!do_loc && ((unsigned)(*block_start) !=3D DW_OP_addrx)) data =3D display_block (block_start, uvalue, end, delimiter); break; diff --git a/binutils/testsuite/binutils-all/objdump.exp b/binutils/testsui= te/binutils-all/objdump.exp index 0f160ae5a06..f0a4611dd1f 100644 --- a/binutils/testsuite/binutils-all/objdump.exp +++ b/binutils/testsuite/binutils-all/objdump.exp @@ -513,6 +513,52 @@ if { ![is_elf_format] } then { } } +# Test objdump -Wi on a file containing dwarf-5 encodings information. + +if { ![is_elf_format] } then { + unsupported "objdump DW_OP_addrx test" +} elseif { ![binutils_assemble $srcdir/$subdir/testprog.s tmpdir/testprog.= ${obj}] } then { + fail "objdump DW_OP_addrx test" +} else { + if [is_remote host] { + set op_testfile [remote_download host tmpdir/testprog.${obj}] + } else { + set op_testfile tmpdir/testprog.${obj} + } + + set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -Wi $op_testfile" ""= "/dev/null" "objdump.out"] + + if { [lindex $got 0] !=3D 0 || ![string match "" [lindex $got 1]] } th= en { + fail "objdump -Wi (reason: unexpected output)" + send_log $got + send_log "\n" + } + + set output [remote_upload host objdump.out] + + if ![file size $output] then { + # If the output file is empty, then this target does not + # generate dwarf2 output. This is not a failure. + verbose "No output from 'objdump -wi'" + untested "objdump -wi" + return + } + + # Search for strings that should be in the output. + set sought ".*\(DW_OP_addrx <0\).*" + + set lines [grep $output $sought] + if ![llength $lines] then { + fail "objdump -Wi: missing: $sought" + send_log objdump.out + return + } else { + pass "objdump -Wi for DW_OP_addrx" + } + + file_on_host delete $output +} + proc test_build_id_debuglink {} { global srcdir global subdir @@ -522,7 +568,7 @@ proc test_build_id_debuglink {} { global OBJDUMP global CFLAGS_FOR_TARGET global exe - + set test "build-id-debuglink" # Use a fixed build-id. diff --git a/binutils/testsuite/binutils-all/readelf.exp b/binutils/testsui= te/binutils-all/readelf.exp index 8ff756e506f..db0fe88cef7 100644 --- a/binutils/testsuite/binutils-all/readelf.exp +++ b/binutils/testsuite/binutils-all/readelf.exp @@ -214,6 +214,67 @@ proc readelf_wi_test {} { pass "readelf -wi" } +# Testing the "readelf -wi" option for dwarf-5 specific information. +# readelf_wi_test_5{} can be merged to readelf_wi_test{} once gcc +# supports dwarf-5 encodings. + +proc readelf_wi_test_5 {} { + global READELF + global READELFFLAGS + global srcdir + global subdir + + # Compile the second test file. + if {![binutils_assemble $srcdir/$subdir/testprog.s tmpdir/testprog.o]}= { + verbose "Unable to assemble test file." + untested "readelf -wi (dwarf-5)" + return + } + + # Download it. + set tempfile [remote_download host tmpdir/testprog.o] + + # Run "readelf -wi" on it. + set got [remote_exec host "$READELF $READELFFLAGS -wi $tempfile" "" "/= dev/null" "readelf.out"] + + # Upload the results. + set output [remote_upload host readelf.out] + + file_on_host delete $tempfile + + # Strip any superflous warnings. + set got [prune_readelf_wi_warnings [lindex $got 1]] + + if ![string match "" $got] then { + fail "readelf $READELFFLAGS -wi (dwarf-5) (reason: unexpected output)" + send_log $got + send_log "\n" + return + } + + if ![file size $output] then { + # If the output file is empty, then this target does not + # generate dwarf2 output. This is not a failure. + verbose "No output from 'readelf -wi (dwarf-5)'" + untested "readelf -wi (dwarf-5)" + return + } + + # Search for strings that should be in the output. + set sought ".*\(DW_OP_addrx <0\).*" + + set lines [grep $output $sought] + if ![llength $lines] then { + fail "readelf -wi (dwarf-5): missing: $sought" + send_log readelf.out + return + } else { + pass "readelf -wi (dwarf-5)" + } + + file_on_host delete $output +} + # This tests "readelf -wa", but on a file with a compressed # .debug_abbrev section. @@ -390,6 +451,7 @@ if {![binutils_assemble $srcdir/$subdir/mangled.s tmpdi= r/mangled.o]} then { } readelf_wi_test +readelf_wi_test_5 readelf_compressed_wa_test readelf_dump_test diff --git a/binutils/testsuite/binutils-all/testprog.s b/binutils/testsuit= e/binutils-all/testprog.s new file mode 100644 index 00000000000..9db95e24ac2 --- /dev/null +++ b/binutils/testsuite/binutils-all/testprog.s @@ -0,0 +1,426 @@ +# Generated from testprog.c +# clang -gdwarf-5 -S testprog.c -fno-addrsig + + .text + .file "testprog.c" + .file 0 "/home/kavitha/workarea/binutils-gdb-amd/binutils/testsuite/bi= nutils-all" "testprog.c" md5 0x1a2591dc3647301324c8184161bb46ff + .globl fn # -- Begin function fn + .p2align 4, 0x90 + .type fn,@function +fn: # @fn +.Lfunc_begin0: + .loc 0 13 0 # testprog.c:13:0 + .cfi_startproc +# %bb.0: + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset %rbp, -16 + movq %rsp, %rbp + .cfi_def_cfa_register %rbp +.Ltmp0: + .loc 0 14 3 prologue_end # testprog.c:14:3 + movl $3, %eax + popq %rbp + .cfi_def_cfa %rsp, 8 + retq +.Ltmp1: +.Lfunc_end0: + .size fn, .Lfunc_end0-fn + .cfi_endproc + # -- End function + .globl main # -- Begin function main + .p2align 4, 0x90 + .type main,@function +main: # @main +.Lfunc_begin1: + .loc 0 19 0 # testprog.c:19:0 + .cfi_startproc +# %bb.0: + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset %rbp, -16 + movq %rsp, %rbp + .cfi_def_cfa_register %rbp + subq $16, %rsp + movl $0, -4(%rbp) +.Ltmp2: + .loc 0 20 14 prologue_end # testprog.c:20:14 + cmpl $0, common + .loc 0 21 7 # testprog.c:21:7 + jne .LBB1_4 +# %bb.1: + .loc 0 21 17 is_stmt 0 # testprog.c:21:17 + cmpl $1, global + .loc 0 22 7 is_stmt 1 # testprog.c:22:7 + jne .LBB1_4 +# %bb.2: + .loc 0 22 16 is_stmt 0 # testprog.c:22:16 + cmpl $2, local + .loc 0 23 7 is_stmt 1 # testprog.c:23:7 + jne .LBB1_4 +# %bb.3: + .loc 0 23 10 is_stmt 0 # testprog.c:23:10 + movl $string, %edi + movl $.L.str, %esi + callq strcmp + .loc 0 23 36 # testprog.c:23:36 + cmpl $0, %eax +.Ltmp3: + .loc 0 20 7 is_stmt 1 # testprog.c:20:7 + je .LBB1_5 +.LBB1_4: +.Ltmp4: + .loc 0 25 7 # testprog.c:25:7 + movabsq $.L.str.1, %rdi + movb $0, %al + callq printf + .loc 0 26 7 # testprog.c:26:7 + movl $1, -4(%rbp) + jmp .LBB1_6 +.Ltmp5: +.LBB1_5: + .loc 0 29 3 # testprog.c:29:3 + movabsq $.L.str.2, %rdi + movb $0, %al + callq printf + .loc 0 30 3 # testprog.c:30:3 + movl $0, -4(%rbp) +.LBB1_6: + .loc 0 31 1 # testprog.c:31:1 + movl -4(%rbp), %eax + addq $16, %rsp + popq %rbp + .cfi_def_cfa %rsp, 8 + retq +.Ltmp6: +.Lfunc_end1: + .size main, .Lfunc_end1-main + .cfi_endproc + # -- End function + .type global,@object # @global + .data + .globl global + .p2align 2 +global: + .long 1 # 0x1 + .size global, 4 + + .type common,@object # @common + .bss + .globl common + .p2align 2 +common: + .long 0 # 0x0 + .size common, 4 + + .type local,@object # @local + .data + .p2align 2 +local: + .long 2 # 0x2 + .size local, 4 + + .type string,@object # @string + .section .rodata,"a",@progbits +string: + .asciz "string" + .size string, 7 + + .type .L.str,@object # @.str + .section .rodata.str1.1,"aMS",@progbits,1 +.L.str: + .asciz "string" + .size .L.str, 7 + + .type .L.str.1,@object # @.str.1 +.L.str.1: + .asciz "failed\n" + .size .L.str.1, 8 + + .type .L.str.2,@object # @.str.2 +.L.str.2: + .asciz "ok\n" + .size .L.str.2, 4 + + .section .debug_abbrev,"",@progbits + .byte 1 # Abbreviation Code + .byte 17 # DW_TAG_compile_unit + .byte 1 # DW_CHILDREN_yes + .byte 37 # DW_AT_producer + .byte 37 # DW_FORM_strx1 + .byte 19 # DW_AT_language + .byte 5 # DW_FORM_data2 + .byte 3 # DW_AT_name + .byte 37 # DW_FORM_strx1 + .byte 114 # DW_AT_str_offsets_base + .byte 23 # DW_FORM_sec_offset + .byte 16 # DW_AT_stmt_list + .byte 23 # DW_FORM_sec_offset + .byte 27 # DW_AT_comp_dir + .byte 37 # DW_FORM_strx1 + .byte 17 # DW_AT_low_pc + .byte 27 # DW_FORM_addrx + .byte 18 # DW_AT_high_pc + .byte 6 # DW_FORM_data4 + .byte 115 # DW_AT_addr_base + .byte 23 # DW_FORM_sec_offset + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 2 # Abbreviation Code + .byte 52 # DW_TAG_variable + .byte 0 # DW_CHILDREN_no + .byte 3 # DW_AT_name + .byte 37 # DW_FORM_strx1 + .byte 73 # DW_AT_type + .byte 19 # DW_FORM_ref4 + .byte 63 # DW_AT_external + .byte 25 # DW_FORM_flag_present + .byte 58 # DW_AT_decl_file + .byte 11 # DW_FORM_data1 + .byte 59 # DW_AT_decl_line + .byte 11 # DW_FORM_data1 + .byte 2 # DW_AT_location + .byte 24 # DW_FORM_exprloc + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 3 # Abbreviation Code + .byte 36 # DW_TAG_base_type + .byte 0 # DW_CHILDREN_no + .byte 3 # DW_AT_name + .byte 37 # DW_FORM_strx1 + .byte 62 # DW_AT_encoding + .byte 11 # DW_FORM_data1 + .byte 11 # DW_AT_byte_size + .byte 11 # DW_FORM_data1 + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 4 # Abbreviation Code + .byte 52 # DW_TAG_variable + .byte 0 # DW_CHILDREN_no + .byte 3 # DW_AT_name + .byte 37 # DW_FORM_strx1 + .byte 73 # DW_AT_type + .byte 19 # DW_FORM_ref4 + .byte 58 # DW_AT_decl_file + .byte 11 # DW_FORM_data1 + .byte 59 # DW_AT_decl_line + .byte 11 # DW_FORM_data1 + .byte 2 # DW_AT_location + .byte 24 # DW_FORM_exprloc + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 5 # Abbreviation Code + .byte 1 # DW_TAG_array_type + .byte 1 # DW_CHILDREN_yes + .byte 73 # DW_AT_type + .byte 19 # DW_FORM_ref4 + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 6 # Abbreviation Code + .byte 33 # DW_TAG_subrange_type + .byte 0 # DW_CHILDREN_no + .byte 73 # DW_AT_type + .byte 19 # DW_FORM_ref4 + .byte 55 # DW_AT_count + .byte 11 # DW_FORM_data1 + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 7 # Abbreviation Code + .byte 38 # DW_TAG_const_type + .byte 0 # DW_CHILDREN_no + .byte 73 # DW_AT_type + .byte 19 # DW_FORM_ref4 + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 8 # Abbreviation Code + .byte 36 # DW_TAG_base_type + .byte 0 # DW_CHILDREN_no + .byte 3 # DW_AT_name + .byte 37 # DW_FORM_strx1 + .byte 11 # DW_AT_byte_size + .byte 11 # DW_FORM_data1 + .byte 62 # DW_AT_encoding + .byte 11 # DW_FORM_data1 + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 9 # Abbreviation Code + .byte 46 # DW_TAG_subprogram + .byte 0 # DW_CHILDREN_no + .byte 17 # DW_AT_low_pc + .byte 27 # DW_FORM_addrx + .byte 18 # DW_AT_high_pc + .byte 6 # DW_FORM_data4 + .byte 64 # DW_AT_frame_base + .byte 24 # DW_FORM_exprloc + .byte 3 # DW_AT_name + .byte 37 # DW_FORM_strx1 + .byte 58 # DW_AT_decl_file + .byte 11 # DW_FORM_data1 + .byte 59 # DW_AT_decl_line + .byte 11 # DW_FORM_data1 + .byte 39 # DW_AT_prototyped + .byte 25 # DW_FORM_flag_present + .byte 73 # DW_AT_type + .byte 19 # DW_FORM_ref4 + .byte 63 # DW_AT_external + .byte 25 # DW_FORM_flag_present + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 0 # EOM(3) + .section .debug_info,"",@progbits +.Lcu_begin0: + .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit +.Ldebug_info_start0: + .short 5 # DWARF version number + .byte 1 # DWARF Unit Type + .byte 8 # Address Size (in bytes) + .long .debug_abbrev # Offset Into Abbrev. Section + .byte 1 # Abbrev [1] 0xc:0x7f DW_TAG_com= pile_unit + .byte 0 # DW_AT_producer + .short 12 # DW_AT_language + .byte 1 # DW_AT_name + .long .Lstr_offsets_base0 # DW_AT_str_offsets_base + .long .Lline_table_start0 # DW_AT_stmt_list + .byte 2 # DW_AT_comp_dir + .byte 4 # DW_AT_low_pc + .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc + .long .Laddr_table_base0 # DW_AT_addr_base + .byte 2 # Abbrev [2] 0x23:0xb DW_TAG_var= iable + .byte 3 # DW_AT_name + .long 46 # DW_AT_type + # DW_AT_external + .byte 0 # DW_AT_decl_file + .byte 7 # DW_AT_decl_line + .byte 2 # DW_AT_location + .byte 161 + .byte 0 + .byte 3 # Abbrev [3] 0x2e:0x4 DW_TAG_bas= e_type + .byte 4 # DW_AT_name + .byte 5 # DW_AT_encoding + .byte 4 # DW_AT_byte_size + .byte 2 # Abbrev [2] 0x32:0xb DW_TAG_var= iable + .byte 5 # DW_AT_name + .long 46 # DW_AT_type + # DW_AT_external + .byte 0 # DW_AT_decl_file + .byte 6 # DW_AT_decl_line + .byte 2 # DW_AT_location + .byte 161 + .byte 1 + .byte 4 # Abbrev [4] 0x3d:0xb DW_TAG_var= iable + .byte 6 # DW_AT_name + .long 46 # DW_AT_type + .byte 0 # DW_AT_decl_file + .byte 8 # DW_AT_decl_line + .byte 2 # DW_AT_location + .byte 161 + .byte 2 + .byte 4 # Abbrev [4] 0x48:0xb DW_TAG_var= iable + .byte 7 # DW_AT_name + .long 83 # DW_AT_type + .byte 0 # DW_AT_decl_file + .byte 9 # DW_AT_decl_line + .byte 2 # DW_AT_location + .byte 161 + .byte 3 + .byte 5 # Abbrev [5] 0x53:0xc DW_TAG_arr= ay_type + .long 95 # DW_AT_type + .byte 6 # Abbrev [6] 0x58:0x6 DW_TAG_sub= range_type + .long 104 # DW_AT_type + .byte 7 # DW_AT_count + .byte 0 # End Of Children Mark + .byte 7 # Abbrev [7] 0x5f:0x5 DW_TAG_con= st_type + .long 100 # DW_AT_type + .byte 3 # Abbrev [3] 0x64:0x4 DW_TAG_bas= e_type + .byte 8 # DW_AT_name + .byte 6 # DW_AT_encoding + .byte 1 # DW_AT_byte_size + .byte 8 # Abbrev [8] 0x68:0x4 DW_TAG_bas= e_type + .byte 9 # DW_AT_name + .byte 8 # DW_AT_byte_size + .byte 7 # DW_AT_encoding + .byte 9 # Abbrev [9] 0x6c:0xf DW_TAG_sub= program + .byte 4 # DW_AT_low_pc + .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc + .byte 1 # DW_AT_frame_base + .byte 86 + .byte 10 # DW_AT_name + .byte 0 # DW_AT_decl_file + .byte 12 # DW_AT_decl_line + # DW_AT_prototyped + .long 46 # DW_AT_type + # DW_AT_external + .byte 9 # Abbrev [9] 0x7b:0xf DW_TAG_sub= program + .byte 5 # DW_AT_low_pc + .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc + .byte 1 # DW_AT_frame_base + .byte 86 + .byte 11 # DW_AT_name + .byte 0 # DW_AT_decl_file + .byte 18 # DW_AT_decl_line + # DW_AT_prototyped + .long 46 # DW_AT_type + # DW_AT_external + .byte 0 # End Of Children Mark +.Ldebug_info_end0: + .section .debug_str_offsets,"",@progbits + .long 52 # Length of String Offsets Set + .short 5 + .short 0 +.Lstr_offsets_base0: + .section .debug_str,"MS",@progbits,1 +.Linfo_string0: + .asciz "Ubuntu clang version 12.0.0-3ubuntu1~20.04.5" # string off= set=3D0 +.Linfo_string1: + .asciz "testprog.c" # string offset=3D45 +.Linfo_string2: + .asciz "/home/kavitha/workarea/binutils-gdb-amd/binutils/testsuite= /binutils-all" # string offset=3D56 +.Linfo_string3: + .asciz "global" # string offset=3D128 +.Linfo_string4: + .asciz "int" # string offset=3D135 +.Linfo_string5: + .asciz "common" # string offset=3D139 +.Linfo_string6: + .asciz "local" # string offset=3D146 +.Linfo_string7: + .asciz "string" # string offset=3D152 +.Linfo_string8: + .asciz "char" # string offset=3D159 +.Linfo_string9: + .asciz "__ARRAY_SIZE_TYPE__" # string offset=3D164 +.Linfo_string10: + .asciz "fn" # string offset=3D184 +.Linfo_string11: + .asciz "main" # string offset=3D187 + .section .debug_str_offsets,"",@progbits + .long .Linfo_string0 + .long .Linfo_string1 + .long .Linfo_string2 + .long .Linfo_string3 + .long .Linfo_string4 + .long .Linfo_string5 + .long .Linfo_string6 + .long .Linfo_string7 + .long .Linfo_string8 + .long .Linfo_string9 + .long .Linfo_string10 + .long .Linfo_string11 + .section .debug_addr,"",@progbits + .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution +.Ldebug_addr_start0: + .short 5 # DWARF version number + .byte 8 # Address size + .byte 0 # Segment selector size +.Laddr_table_base0: + .quad global + .quad common + .quad local + .quad string + .quad .Lfunc_begin0 + .quad .Lfunc_begin1 +.Ldebug_addr_end0: + .ident "Ubuntu clang version 12.0.0-3ubuntu1~20.04.5" + .section ".note.GNU-stack","",@progbits + .section .debug_line,"",@progbits +.Lline_table_start0: -- --_004_DM4PR12MB57967946925D3DEC0E9D6437F7FD9DM4PR12MB5796namp_ Content-Type: application/octet-stream; name="0001-Binutils support for DWARF-5 DW_OP_addrx.patch" Content-Description: 0001-Binutils support for DWARF-5 DW_OP_addrx.patch Content-Disposition: attachment; filename="0001-Binutils support for DWARF-5 DW_OP_addrx.patch"; size=24490; creation-date="Wed, 27 Apr 2022 09:45:46 GMT"; modification-date="Thu, 28 Apr 2022 10:14:31 GMT" Content-Transfer-Encoding: base64 QmludXRpbHMgdG9vbHMgb2JqZHVtcCBhbmQgcmVhZGVsZiB0byBzdXBwb3J0IG5ldyBkd2FyZi01 DQpvcGVyYXRpb24gZW5jb2RpbmcsIHN1Y2ggYXMsIERXX09QX2FkZHJ4Lg0KDQpBZGRlZCB0ZXN0 IHBvaW50cyBpbiBvYmpkdW1wLmV4cCBhbmQgcmVhZGxlZi5leHAuDQoNCi0tLQ0KIGJpbnV0aWxz L2R3YXJmLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKy0NCiBiaW51dGlscy90 ZXN0c3VpdGUvYmludXRpbHMtYWxsL29iamR1bXAuZXhwIHwgIDQ4ICsrLQ0KIGJpbnV0aWxzL3Rl c3RzdWl0ZS9iaW51dGlscy1hbGwvcmVhZGVsZi5leHAgfCAgNjIgKysrDQogYmludXRpbHMvdGVz dHN1aXRlL2JpbnV0aWxzLWFsbC90ZXN0cHJvZy5zICB8IDQyNiArKysrKysrKysrKysrKysrKysr Kw0KIDQgZmlsZXMgY2hhbmdlZCwgNTQzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGJpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvdGVzdHBy b2cucw0KDQpkaWZmIC0tZ2l0IGEvYmludXRpbHMvZHdhcmYuYyBiL2JpbnV0aWxzL2R3YXJmLmMN CmluZGV4IGJjODYyZjc3YzA0Li5mYzc1NGY0ZjczZCAxMDA2NDQNCi0tLSBhL2JpbnV0aWxzL2R3 YXJmLmMNCisrKyBiL2JpbnV0aWxzL2R3YXJmLmMNCkBAIC0xNzIxLDYgKzE3MjEsMTAgQEAgZGVj b2RlX2xvY2F0aW9uX2V4cHJlc3Npb24gKHVuc2lnbmVkIGNoYXIgKiBkYXRhLA0KIAkgIHByaW50 ZiAoIkRXX09QX0dOVV9wYXJhbWV0ZXJfcmVmOiA8MHglcz4iLA0KIAkJICBkd2FyZl92bWF0b2Eg KCJ4IiwgY3Vfb2Zmc2V0ICsgdXZhbHVlKSk7DQogCSAgYnJlYWs7DQorCWNhc2UgRFdfT1BfYWRk cng6DQorCSAgUkVBRF9VTEVCICh1dmFsdWUsIGRhdGEsIGVuZCk7DQorCSAgcHJpbnRmICgiRFdf T1BfYWRkcnggPDB4JXM+IiwgZHdhcmZfdm1hdG9hICgieCIsIHV2YWx1ZSkpOw0KKwkgIGJyZWFr Ow0KIAljYXNlIERXX09QX0dOVV9hZGRyX2luZGV4Og0KIAkgIFJFQURfVUxFQiAodXZhbHVlLCBk YXRhLCBlbmQpOw0KIAkgIHByaW50ZiAoIkRXX09QX0dOVV9hZGRyX2luZGV4IDwweCVzPiIsIGR3 YXJmX3ZtYXRvYSAoIngiLCB1dmFsdWUpKTsNCkBAIC0yNjYxLDkgKzI2NjUsMTAgQEAgcmVhZF9h bmRfZGlzcGxheV9hdHRyX3ZhbHVlICh1bnNpZ25lZCBsb25nICAgICAgICAgICBhdHRyaWJ1dGUs DQogDQogICAgICAgdXZhbHVlID0gY2hlY2tfdXZhbHVlIChibG9ja19zdGFydCwgdXZhbHVlLCBl bmQpOw0KIA0KLSAgICAgIGlmIChkb19sb2MpDQotCWRhdGEgPSBibG9ja19zdGFydCArIHV2YWx1 ZTsNCi0gICAgICBlbHNlDQorICAgICAgZGF0YSA9IGJsb2NrX3N0YXJ0ICsgdXZhbHVlOw0KKw0K KyAgICAgIC8qIERXX09QX2FkZHJ4IGhhcyBvbmx5IHRoZSBpbmRleCBhbmQgbm90IGFkZHJlc3Mu ICAqLw0KKyAgICAgIGlmICghZG9fbG9jICYmICgodW5zaWduZWQpKCpibG9ja19zdGFydCkgIT0g RFdfT1BfYWRkcngpKQ0KIAlkYXRhID0gZGlzcGxheV9ibG9jayAoYmxvY2tfc3RhcnQsIHV2YWx1 ZSwgZW5kLCBkZWxpbWl0ZXIpOw0KICAgICAgIGJyZWFrOw0KIA0KZGlmZiAtLWdpdCBhL2JpbnV0 aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvb2JqZHVtcC5leHAgYi9iaW51dGlscy90ZXN0c3Vp dGUvYmludXRpbHMtYWxsL29iamR1bXAuZXhwDQppbmRleCAwZjE2MGFlNWEwNi4uZjBhNDYxMWRk MWYgMTAwNjQ0DQotLS0gYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL29iamR1bXAu ZXhwDQorKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL29iamR1bXAuZXhwDQpA QCAtNTEzLDYgKzUxMyw1MiBAQCBpZiB7ICFbaXNfZWxmX2Zvcm1hdF0gfSB0aGVuIHsNCiAgICAg fQ0KIH0NCiANCisjIFRlc3Qgb2JqZHVtcCAtV2kgb24gYSBmaWxlIGNvbnRhaW5pbmcgZHdhcmYt NSBlbmNvZGluZ3MgaW5mb3JtYXRpb24uDQorDQoraWYgeyAhW2lzX2VsZl9mb3JtYXRdIH0gdGhl biB7DQorICAgIHVuc3VwcG9ydGVkICJvYmpkdW1wIERXX09QX2FkZHJ4IHRlc3QiDQorfSBlbHNl aWYgeyAhW2JpbnV0aWxzX2Fzc2VtYmxlICRzcmNkaXIvJHN1YmRpci90ZXN0cHJvZy5zIHRtcGRp ci90ZXN0cHJvZy4ke29ian1dIH0gdGhlbiB7DQorICAgIGZhaWwgIm9iamR1bXAgRFdfT1BfYWRk cnggdGVzdCINCit9IGVsc2Ugew0KKyAgICBpZiBbaXNfcmVtb3RlIGhvc3RdIHsNCisJc2V0IG9w X3Rlc3RmaWxlIFtyZW1vdGVfZG93bmxvYWQgaG9zdCB0bXBkaXIvdGVzdHByb2cuJHtvYmp9XQ0K KyAgICB9IGVsc2Ugew0KKwlzZXQgb3BfdGVzdGZpbGUgdG1wZGlyL3Rlc3Rwcm9nLiR7b2JqfQ0K KyAgICB9DQorDQorICAgIHNldCBnb3QgW3JlbW90ZV9leGVjIGhvc3QgIiRPQkpEVU1QICRPQkpE VU1QRkxBR1MgLVdpICRvcF90ZXN0ZmlsZSIgIiIgIi9kZXYvbnVsbCIgIm9iamR1bXAub3V0Il0N CisNCisgICAgaWYgeyBbbGluZGV4ICRnb3QgMF0gIT0gMCB8fCAhW3N0cmluZyBtYXRjaCAiIiBb bGluZGV4ICRnb3QgMV1dIH0gdGhlbiB7DQorCWZhaWwgIm9iamR1bXAgLVdpIChyZWFzb246IHVu ZXhwZWN0ZWQgb3V0cHV0KSINCisJc2VuZF9sb2cgJGdvdA0KKwlzZW5kX2xvZyAiXG4iDQorICAg IH0NCisNCisgICAgc2V0IG91dHB1dCBbcmVtb3RlX3VwbG9hZCBob3N0IG9iamR1bXAub3V0XQ0K Kw0KKyAgICBpZiAhW2ZpbGUgc2l6ZSAkb3V0cHV0XSB0aGVuIHsNCisJIyBJZiB0aGUgb3V0cHV0 IGZpbGUgaXMgZW1wdHksIHRoZW4gdGhpcyB0YXJnZXQgZG9lcyBub3QNCisJIyBnZW5lcmF0ZSBk d2FyZjIgb3V0cHV0LiAgVGhpcyBpcyBub3QgYSBmYWlsdXJlLg0KKwl2ZXJib3NlICJObyBvdXRw dXQgZnJvbSAnb2JqZHVtcCAtd2knIg0KKwl1bnRlc3RlZCAib2JqZHVtcCAtd2kiDQorCXJldHVy bg0KKyAgICB9DQorDQorICAgICMgU2VhcmNoIGZvciBzdHJpbmdzIHRoYXQgc2hvdWxkIGJlIGlu IHRoZSBvdXRwdXQuDQorICAgIHNldCBzb3VnaHQgIi4qXChEV19PUF9hZGRyeCA8MFwpLioiDQor DQorICAgIHNldCBsaW5lcyBbZ3JlcCAkb3V0cHV0ICRzb3VnaHRdDQorICAgIGlmICFbbGxlbmd0 aCAkbGluZXNdIHRoZW4gew0KKwlmYWlsICJvYmpkdW1wIC1XaTogbWlzc2luZzogJHNvdWdodCIN CisJc2VuZF9sb2cgb2JqZHVtcC5vdXQNCisJcmV0dXJuDQorICAgIH0gZWxzZSB7DQorCXBhc3Mg Im9iamR1bXAgLVdpIGZvciBEV19PUF9hZGRyeCINCisgICAgfQ0KKw0KKyAgICBmaWxlX29uX2hv c3QgZGVsZXRlICRvdXRwdXQNCit9DQorDQogcHJvYyB0ZXN0X2J1aWxkX2lkX2RlYnVnbGluayB7 fSB7DQogICAgIGdsb2JhbCBzcmNkaXINCiAgICAgZ2xvYmFsIHN1YmRpcg0KQEAgLTUyMiw3ICs1 NjgsNyBAQCBwcm9jIHRlc3RfYnVpbGRfaWRfZGVidWdsaW5rIHt9IHsNCiAgICAgZ2xvYmFsIE9C SkRVTVANCiAgICAgZ2xvYmFsIENGTEFHU19GT1JfVEFSR0VUDQogICAgIGdsb2JhbCBleGUNCi0g ICAgDQorDQogICAgIHNldCB0ZXN0ICJidWlsZC1pZC1kZWJ1Z2xpbmsiDQogDQogICAgICMgVXNl IGEgZml4ZWQgYnVpbGQtaWQuDQpkaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0 aWxzLWFsbC9yZWFkZWxmLmV4cCBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvcmVh ZGVsZi5leHANCmluZGV4IDhmZjc1NmU1MDZmLi5kYjBmZTg4Y2VmNyAxMDA2NDQNCi0tLSBhL2Jp bnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvcmVhZGVsZi5leHANCisrKyBiL2JpbnV0aWxz L3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvcmVhZGVsZi5leHANCkBAIC0yMTQsNiArMjE0LDY3IEBA IHByb2MgcmVhZGVsZl93aV90ZXN0IHt9IHsNCiAgICAgcGFzcyAicmVhZGVsZiAtd2kiDQogfQ0K IA0KKyMgVGVzdGluZyB0aGUgInJlYWRlbGYgLXdpIiBvcHRpb24gZm9yIGR3YXJmLTUgc3BlY2lm aWMgaW5mb3JtYXRpb24uDQorIyByZWFkZWxmX3dpX3Rlc3RfNXt9IGNhbiBiZSBtZXJnZWQgdG8g cmVhZGVsZl93aV90ZXN0e30gb25jZSBnY2MNCisjIHN1cHBvcnRzIGR3YXJmLTUgZW5jb2Rpbmdz Lg0KKw0KK3Byb2MgcmVhZGVsZl93aV90ZXN0XzUge30gew0KKyAgICBnbG9iYWwgUkVBREVMRg0K KyAgICBnbG9iYWwgUkVBREVMRkZMQUdTDQorICAgIGdsb2JhbCBzcmNkaXINCisgICAgZ2xvYmFs IHN1YmRpcg0KKw0KKyAgICAjIENvbXBpbGUgdGhlIHNlY29uZCB0ZXN0IGZpbGUuDQorICAgIGlm IHshW2JpbnV0aWxzX2Fzc2VtYmxlICRzcmNkaXIvJHN1YmRpci90ZXN0cHJvZy5zIHRtcGRpci90 ZXN0cHJvZy5vXX0gew0KKwl2ZXJib3NlICJVbmFibGUgdG8gYXNzZW1ibGUgdGVzdCBmaWxlLiIN CisJdW50ZXN0ZWQgInJlYWRlbGYgLXdpIChkd2FyZi01KSINCisJcmV0dXJuDQorICAgIH0NCisN CisgICAgIyBEb3dubG9hZCBpdC4NCisgICAgc2V0IHRlbXBmaWxlIFtyZW1vdGVfZG93bmxvYWQg aG9zdCB0bXBkaXIvdGVzdHByb2cub10NCisNCisgICAgIyBSdW4gInJlYWRlbGYgLXdpIiBvbiBp dC4NCisgICAgc2V0IGdvdCBbcmVtb3RlX2V4ZWMgaG9zdCAiJFJFQURFTEYgJFJFQURFTEZGTEFH UyAtd2kgJHRlbXBmaWxlIiAiIiAiL2Rldi9udWxsIiAicmVhZGVsZi5vdXQiXQ0KKw0KKyAgICAj IFVwbG9hZCB0aGUgcmVzdWx0cy4NCisgICAgc2V0IG91dHB1dCBbcmVtb3RlX3VwbG9hZCBob3N0 IHJlYWRlbGYub3V0XQ0KKw0KKyAgICBmaWxlX29uX2hvc3QgZGVsZXRlICR0ZW1wZmlsZQ0KKw0K KyAgICAjIFN0cmlwIGFueSBzdXBlcmZsb3VzIHdhcm5pbmdzLg0KKyAgICBzZXQgZ290IFtwcnVu ZV9yZWFkZWxmX3dpX3dhcm5pbmdzIFtsaW5kZXggJGdvdCAxXV0NCisNCisgICAgaWYgIVtzdHJp bmcgbWF0Y2ggIiIgJGdvdF0gdGhlbiB7DQorCWZhaWwgInJlYWRlbGYgJFJFQURFTEZGTEFHUyAt d2kgKGR3YXJmLTUpIChyZWFzb246IHVuZXhwZWN0ZWQgb3V0cHV0KSINCisJc2VuZF9sb2cgJGdv dA0KKwlzZW5kX2xvZyAiXG4iDQorCXJldHVybg0KKyAgICB9DQorDQorICAgIGlmICFbZmlsZSBz aXplICRvdXRwdXRdIHRoZW4gew0KKwkjIElmIHRoZSBvdXRwdXQgZmlsZSBpcyBlbXB0eSwgdGhl biB0aGlzIHRhcmdldCBkb2VzIG5vdA0KKwkjIGdlbmVyYXRlIGR3YXJmMiBvdXRwdXQuICBUaGlz IGlzIG5vdCBhIGZhaWx1cmUuDQorCXZlcmJvc2UgIk5vIG91dHB1dCBmcm9tICdyZWFkZWxmIC13 aSAoZHdhcmYtNSknIg0KKwl1bnRlc3RlZCAicmVhZGVsZiAtd2kgKGR3YXJmLTUpIg0KKwlyZXR1 cm4NCisgICAgfQ0KKw0KKyAgICAjIFNlYXJjaCBmb3Igc3RyaW5ncyB0aGF0IHNob3VsZCBiZSBp biB0aGUgb3V0cHV0Lg0KKyAgICBzZXQgc291Z2h0ICIuKlwoRFdfT1BfYWRkcnggPDBcKS4qIg0K Kw0KKyAgICBzZXQgbGluZXMgW2dyZXAgJG91dHB1dCAkc291Z2h0XQ0KKyAgICBpZiAhW2xsZW5n dGggJGxpbmVzXSB0aGVuIHsNCisJZmFpbCAicmVhZGVsZiAtd2kgKGR3YXJmLTUpOiBtaXNzaW5n OiAkc291Z2h0Ig0KKwlzZW5kX2xvZyByZWFkZWxmLm91dA0KKwlyZXR1cm4NCisgICAgfSBlbHNl IHsNCisJcGFzcyAicmVhZGVsZiAtd2kgKGR3YXJmLTUpIg0KKyAgICB9DQorDQorICAgIGZpbGVf b25faG9zdCBkZWxldGUgJG91dHB1dA0KK30NCisNCiAjIFRoaXMgdGVzdHMgInJlYWRlbGYgLXdh IiwgYnV0IG9uIGEgZmlsZSB3aXRoIGEgY29tcHJlc3NlZA0KICMgLmRlYnVnX2FiYnJldiBzZWN0 aW9uLg0KIA0KQEAgLTM5MCw2ICs0NTEsNyBAQCBpZiB7IVtiaW51dGlsc19hc3NlbWJsZSAkc3Jj ZGlyLyRzdWJkaXIvbWFuZ2xlZC5zIHRtcGRpci9tYW5nbGVkLm9dfSB0aGVuIHsNCiB9DQogDQog cmVhZGVsZl93aV90ZXN0DQorcmVhZGVsZl93aV90ZXN0XzUNCiByZWFkZWxmX2NvbXByZXNzZWRf d2FfdGVzdA0KIA0KIHJlYWRlbGZfZHVtcF90ZXN0DQpkaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVz dHN1aXRlL2JpbnV0aWxzLWFsbC90ZXN0cHJvZy5zIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0 aWxzLWFsbC90ZXN0cHJvZy5zDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAw MDAuLjlkYjk1ZTI0YWMyDQotLS0gL2Rldi9udWxsDQorKysgYi9iaW51dGlscy90ZXN0c3VpdGUv YmludXRpbHMtYWxsL3Rlc3Rwcm9nLnMNCkBAIC0wLDAgKzEsNDI2IEBADQorIyBHZW5lcmF0ZWQg ZnJvbSB0ZXN0cHJvZy5jDQorIyBjbGFuZyAtZ2R3YXJmLTUgLVMgdGVzdHByb2cuYyAtZm5vLWFk ZHJzaWcNCisNCisJLnRleHQNCisJLmZpbGUJInRlc3Rwcm9nLmMiDQorCS5maWxlCTAgIi9ob21l L2thdml0aGEvd29ya2FyZWEvYmludXRpbHMtZ2RiLWFtZC9iaW51dGlscy90ZXN0c3VpdGUvYmlu dXRpbHMtYWxsIiAidGVzdHByb2cuYyIgbWQ1IDB4MWEyNTkxZGMzNjQ3MzAxMzI0YzgxODQxNjFi YjQ2ZmYNCisJLmdsb2JsCWZuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAtLSBCZWdp biBmdW5jdGlvbiBmbg0KKwkucDJhbGlnbgk0LCAweDkwDQorCS50eXBlCWZuLEBmdW5jdGlvbg0K K2ZuOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEBmbg0KKy5MZnVuY19i ZWdpbjA6DQorCS5sb2MJMCAxMyAwICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRlc3Rwcm9n LmM6MTM6MA0KKwkuY2ZpX3N0YXJ0cHJvYw0KKyMgJWJiLjA6DQorCXB1c2hxCSVyYnANCisJLmNm aV9kZWZfY2ZhX29mZnNldCAxNg0KKwkuY2ZpX29mZnNldCAlcmJwLCAtMTYNCisJbW92cQklcnNw LCAlcmJwDQorCS5jZmlfZGVmX2NmYV9yZWdpc3RlciAlcmJwDQorLkx0bXAwOg0KKwkubG9jCTAg MTQgMyBwcm9sb2d1ZV9lbmQgICAgICAgICAgICAgIyB0ZXN0cHJvZy5jOjE0OjMNCisJbW92bAkk MywgJWVheA0KKwlwb3BxCSVyYnANCisJLmNmaV9kZWZfY2ZhICVyc3AsIDgNCisJcmV0cQ0KKy5M dG1wMToNCisuTGZ1bmNfZW5kMDoNCisJLnNpemUJZm4sIC5MZnVuY19lbmQwLWZuDQorCS5jZmlf ZW5kcHJvYw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIC0tIEVu ZCBmdW5jdGlvbg0KKwkuZ2xvYmwJbWFpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIC0t IEJlZ2luIGZ1bmN0aW9uIG1haW4NCisJLnAyYWxpZ24JNCwgMHg5MA0KKwkudHlwZQltYWluLEBm dW5jdGlvbg0KK21haW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEBtYWlu DQorLkxmdW5jX2JlZ2luMToNCisJLmxvYwkwIDE5IDAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgdGVzdHByb2cuYzoxOTowDQorCS5jZmlfc3RhcnRwcm9jDQorIyAlYmIuMDoNCisJcHVzaHEJ JXJicA0KKwkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2DQorCS5jZmlfb2Zmc2V0ICVyYnAsIC0xNg0K Kwltb3ZxCSVyc3AsICVyYnANCisJLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyICVyYnANCisJc3VicQkk MTYsICVyc3ANCisJbW92bAkkMCwgLTQoJXJicCkNCisuTHRtcDI6DQorCS5sb2MJMCAyMCAxNCBw cm9sb2d1ZV9lbmQgICAgICAgICAgICAjIHRlc3Rwcm9nLmM6MjA6MTQNCisJY21wbAkkMCwgY29t bW9uDQorCS5sb2MJMCAyMSA3ICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRlc3Rwcm9nLmM6 MjE6Nw0KKwlqbmUJLkxCQjFfNA0KKyMgJWJiLjE6DQorCS5sb2MJMCAyMSAxNyBpc19zdG10IDAg ICAgICAgICAgICAgICAjIHRlc3Rwcm9nLmM6MjE6MTcNCisJY21wbAkkMSwgZ2xvYmFsDQorCS5s b2MJMCAyMiA3IGlzX3N0bXQgMSAgICAgICAgICAgICAgICAjIHRlc3Rwcm9nLmM6MjI6Nw0KKwlq bmUJLkxCQjFfNA0KKyMgJWJiLjI6DQorCS5sb2MJMCAyMiAxNiBpc19zdG10IDAgICAgICAgICAg ICAgICAjIHRlc3Rwcm9nLmM6MjI6MTYNCisJY21wbAkkMiwgbG9jYWwNCisJLmxvYwkwIDIzIDcg aXNfc3RtdCAxICAgICAgICAgICAgICAgICMgdGVzdHByb2cuYzoyMzo3DQorCWpuZQkuTEJCMV80 DQorIyAlYmIuMzoNCisJLmxvYwkwIDIzIDEwIGlzX3N0bXQgMCAgICAgICAgICAgICAgICMgdGVz dHByb2cuYzoyMzoxMA0KKwltb3ZsCSRzdHJpbmcsICVlZGkNCisJbW92bAkkLkwuc3RyLCAlZXNp DQorCWNhbGxxCXN0cmNtcA0KKwkubG9jCTAgMjMgMzYgICAgICAgICAgICAgICAgICAgICAgICAg IyB0ZXN0cHJvZy5jOjIzOjM2DQorCWNtcGwJJDAsICVlYXgNCisuTHRtcDM6DQorCS5sb2MJMCAy MCA3IGlzX3N0bXQgMSAgICAgICAgICAgICAgICAjIHRlc3Rwcm9nLmM6MjA6Nw0KKwlqZQkuTEJC MV81DQorLkxCQjFfNDoNCisuTHRtcDQ6DQorCS5sb2MJMCAyNSA3ICAgICAgICAgICAgICAgICAg ICAgICAgICAjIHRlc3Rwcm9nLmM6MjU6Nw0KKwltb3ZhYnNxCSQuTC5zdHIuMSwgJXJkaQ0KKwlt b3ZiCSQwLCAlYWwNCisJY2FsbHEJcHJpbnRmDQorCS5sb2MJMCAyNiA3ICAgICAgICAgICAgICAg ICAgICAgICAgICAjIHRlc3Rwcm9nLmM6MjY6Nw0KKwltb3ZsCSQxLCAtNCglcmJwKQ0KKwlqbXAJ LkxCQjFfNg0KKy5MdG1wNToNCisuTEJCMV81Og0KKwkubG9jCTAgMjkgMyAgICAgICAgICAgICAg ICAgICAgICAgICAgIyB0ZXN0cHJvZy5jOjI5OjMNCisJbW92YWJzcQkkLkwuc3RyLjIsICVyZGkN CisJbW92YgkkMCwgJWFsDQorCWNhbGxxCXByaW50Zg0KKwkubG9jCTAgMzAgMyAgICAgICAgICAg ICAgICAgICAgICAgICAgIyB0ZXN0cHJvZy5jOjMwOjMNCisJbW92bAkkMCwgLTQoJXJicCkNCisu TEJCMV82Og0KKwkubG9jCTAgMzEgMSAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0ZXN0cHJv Zy5jOjMxOjENCisJbW92bAktNCglcmJwKSwgJWVheA0KKwlhZGRxCSQxNiwgJXJzcA0KKwlwb3Bx CSVyYnANCisJLmNmaV9kZWZfY2ZhICVyc3AsIDgNCisJcmV0cQ0KKy5MdG1wNjoNCisuTGZ1bmNf ZW5kMToNCisJLnNpemUJbWFpbiwgLkxmdW5jX2VuZDEtbWFpbg0KKwkuY2ZpX2VuZHByb2MNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAtLSBFbmQgZnVuY3Rpb24N CisJLnR5cGUJZ2xvYmFsLEBvYmplY3QgICAgICAgICAgICAgICAgICAjIEBnbG9iYWwNCisJLmRh dGENCisJLmdsb2JsCWdsb2JhbA0KKwkucDJhbGlnbgkyDQorZ2xvYmFsOg0KKwkubG9uZwkxICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgMHgxDQorCS5zaXplCWdsb2JhbCwgNA0KKw0K KwkudHlwZQljb21tb24sQG9iamVjdCAgICAgICAgICAgICAgICAgICMgQGNvbW1vbg0KKwkuYnNz DQorCS5nbG9ibAljb21tb24NCisJLnAyYWxpZ24JMg0KK2NvbW1vbjoNCisJLmxvbmcJMCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIDB4MA0KKwkuc2l6ZQljb21tb24sIDQNCisNCisJ LnR5cGUJbG9jYWwsQG9iamVjdCAgICAgICAgICAgICAgICAgICAjIEBsb2NhbA0KKwkuZGF0YQ0K KwkucDJhbGlnbgkyDQorbG9jYWw6DQorCS5sb25nCTIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIyAweDINCisJLnNpemUJbG9jYWwsIDQNCisNCisJLnR5cGUJc3RyaW5nLEBvYmplY3Qg ICAgICAgICAgICAgICAgICAjIEBzdHJpbmcNCisJLnNlY3Rpb24JLnJvZGF0YSwiYSIsQHByb2di aXRzDQorc3RyaW5nOg0KKwkuYXNjaXoJInN0cmluZyINCisJLnNpemUJc3RyaW5nLCA3DQorDQor CS50eXBlCS5MLnN0cixAb2JqZWN0ICAgICAgICAgICAgICAgICAgIyBALnN0cg0KKwkuc2VjdGlv bgkucm9kYXRhLnN0cjEuMSwiYU1TIixAcHJvZ2JpdHMsMQ0KKy5MLnN0cjoNCisJLmFzY2l6CSJz dHJpbmciDQorCS5zaXplCS5MLnN0ciwgNw0KKw0KKwkudHlwZQkuTC5zdHIuMSxAb2JqZWN0ICAg ICAgICAgICAgICAgICMgQC5zdHIuMQ0KKy5MLnN0ci4xOg0KKwkuYXNjaXoJImZhaWxlZFxuIg0K Kwkuc2l6ZQkuTC5zdHIuMSwgOA0KKw0KKwkudHlwZQkuTC5zdHIuMixAb2JqZWN0ICAgICAgICAg ICAgICAgICMgQC5zdHIuMg0KKy5MLnN0ci4yOg0KKwkuYXNjaXoJIm9rXG4iDQorCS5zaXplCS5M LnN0ci4yLCA0DQorDQorCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzDQorCS5i eXRlCTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBYmJyZXZpYXRpb24gQ29kZQ0K KwkuYnl0ZQkxNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfVEFHX2NvbXBpbGVf dW5pdA0KKwkuYnl0ZQkxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQ0hJTERS RU5feWVzDQorCS5ieXRlCTM3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9w cm9kdWNlcg0KKwkuYnl0ZQkzNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfRk9S TV9zdHJ4MQ0KKwkuYnl0ZQkxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRf bGFuZ3VhZ2UNCisJLmJ5dGUJNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZP Uk1fZGF0YTINCisJLmJ5dGUJMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FU X25hbWUNCisJLmJ5dGUJMzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1f c3RyeDENCisJLmJ5dGUJMTE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX3N0 cl9vZmZzZXRzX2Jhc2UNCisJLmJ5dGUJMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IERXX0ZPUk1fc2VjX29mZnNldA0KKwkuYnl0ZQkxNiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMgRFdfQVRfc3RtdF9saXN0DQorCS5ieXRlCTIzICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIyBEV19GT1JNX3NlY19vZmZzZXQNCisJLmJ5dGUJMjcgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0FUX2NvbXBfZGlyDQorCS5ieXRlCTM3ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBEV19GT1JNX3N0cngxDQorCS5ieXRlCTE3ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBEV19BVF9sb3dfcGMNCisJLmJ5dGUJMjcgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0ZPUk1fYWRkcngNCisJLmJ5dGUJMTggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0FUX2hpZ2hfcGMNCisJLmJ5dGUJNiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0ZPUk1fZGF0YTQNCisJLmJ5dGUJMTE1ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0FUX2FkZHJfYmFzZQ0KKwkuYnl0ZQkyMyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMgRFdfRk9STV9zZWNfb2Zmc2V0DQorCS5ieXRlCTAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyBFT00oMSkNCisJLmJ5dGUJMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIEVPTSgyKQ0KKwkuYnl0ZQkyICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMgQWJicmV2aWF0aW9uIENvZGUNCisJLmJ5dGUJNTIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjIERXX1RBR192YXJpYWJsZQ0KKwkuYnl0ZQkwICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMgRFdfQ0hJTERSRU5fbm8NCisJLmJ5dGUJMyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0FUX25hbWUNCisJLmJ5dGUJMzcgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjIERXX0ZPUk1fc3RyeDENCisJLmJ5dGUJNzMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjIERXX0FUX3R5cGUNCisJLmJ5dGUJMTkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIERXX0ZPUk1fcmVmNA0KKwkuYnl0ZQk2MyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMgRFdfQVRfZXh0ZXJuYWwNCisJLmJ5dGUJMjUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIERXX0ZPUk1fZmxhZ19wcmVzZW50DQorCS5ieXRlCTU4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBEV19BVF9kZWNsX2ZpbGUNCisJLmJ5dGUJMTEgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIERXX0ZPUk1fZGF0YTENCisJLmJ5dGUJNTkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIERXX0FUX2RlY2xfbGluZQ0KKwkuYnl0ZQkxMSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICMgRFdfRk9STV9kYXRhMQ0KKwkuYnl0ZQkyICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICMgRFdfQVRfbG9jYXRpb24NCisJLmJ5dGUJMjQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fZXhwcmxvYw0KKwkuYnl0ZQkwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMgRU9NKDEpDQorCS5ieXRlCTAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBFT00oMikNCisJLmJ5dGUJMyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIEFiYnJldmlhdGlvbiBDb2RlDQorCS5ieXRlCTM2ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIyBEV19UQUdfYmFzZV90eXBlDQorCS5ieXRlCTAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBEV19DSElMRFJFTl9ubw0KKwkuYnl0ZQkzICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMgRFdfQVRfbmFtZQ0KKwkuYnl0ZQkzNyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMgRFdfRk9STV9zdHJ4MQ0KKwkuYnl0ZQk2MiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMgRFdfQVRfZW5jb2RpbmcNCisJLmJ5dGUJMTEgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0ZPUk1fZGF0YTENCisJLmJ5dGUJMTEgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0FUX2J5dGVfc2l6ZQ0KKwkuYnl0ZQkxMSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMgRFdfRk9STV9kYXRhMQ0KKwkuYnl0ZQkwICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMgRU9NKDEpDQorCS5ieXRlCTAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIyBFT00oMikNCisJLmJ5dGUJNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IEFiYnJldmlhdGlvbiBDb2RlDQorCS5ieXRlCTUyICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBEV19UQUdfdmFyaWFibGUNCisJLmJ5dGUJMCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIERXX0NISUxEUkVOX25vDQorCS5ieXRlCTMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIyBEV19BVF9uYW1lDQorCS5ieXRlCTM3ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBEV19GT1JNX3N0cngxDQorCS5ieXRlCTczICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBEV19BVF90eXBlDQorCS5ieXRlCTE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IyBEV19GT1JNX3JlZjQNCisJLmJ5dGUJNTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IERXX0FUX2RlY2xfZmlsZQ0KKwkuYnl0ZQkxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgRFdfRk9STV9kYXRhMQ0KKwkuYnl0ZQk1OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgRFdfQVRfZGVjbF9saW5lDQorCS5ieXRlCTExICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBEV19GT1JNX2RhdGExDQorCS5ieXRlCTIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBEV19BVF9sb2NhdGlvbg0KKwkuYnl0ZQkyNCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMgRFdfRk9STV9leHBybG9jDQorCS5ieXRlCTAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIyBFT00oMSkNCisJLmJ5dGUJMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IEVPTSgyKQ0KKwkuYnl0ZQk1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWJicmV2 aWF0aW9uIENvZGUNCisJLmJ5dGUJMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERX X1RBR19hcnJheV90eXBlDQorCS5ieXRlCTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IyBEV19DSElMRFJFTl95ZXMNCisJLmJ5dGUJNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjIERXX0FUX3R5cGUNCisJLmJ5dGUJMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IERXX0ZPUk1fcmVmNA0KKwkuYnl0ZQkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg RU9NKDEpDQorCS5ieXRlCTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBFT00oMikN CisJLmJ5dGUJNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFiYnJldmlhdGlvbiBD b2RlDQorCS5ieXRlCTMzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19UQUdfc3Vi cmFuZ2VfdHlwZQ0KKwkuYnl0ZQkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdf Q0hJTERSRU5fbm8NCisJLmJ5dGUJNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERX X0FUX3R5cGUNCisJLmJ5dGUJMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZP Uk1fcmVmNA0KKwkuYnl0ZQk1NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRf Y291bnQNCisJLmJ5dGUJMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1f ZGF0YTENCisJLmJ5dGUJMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEVPTSgxKQ0K KwkuYnl0ZQkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRU9NKDIpDQorCS5ieXRl CTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBYmJyZXZpYXRpb24gQ29kZQ0KKwku Ynl0ZQkzOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfVEFHX2NvbnN0X3R5cGUN CisJLmJ5dGUJMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0NISUxEUkVOX25v DQorCS5ieXRlCTczICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF90eXBlDQor CS5ieXRlCTE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19GT1JNX3JlZjQNCisJ LmJ5dGUJMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEVPTSgxKQ0KKwkuYnl0ZQkw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRU9NKDIpDQorCS5ieXRlCTggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIyBBYmJyZXZpYXRpb24gQ29kZQ0KKwkuYnl0ZQkzNiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfVEFHX2Jhc2VfdHlwZQ0KKwkuYnl0ZQkw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQ0hJTERSRU5fbm8NCisJLmJ5dGUJ MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX25hbWUNCisJLmJ5dGUJMzcg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fc3RyeDENCisJLmJ5dGUJMTEg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2J5dGVfc2l6ZQ0KKwkuYnl0ZQkx MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfRk9STV9kYXRhMQ0KKwkuYnl0ZQk2 MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfZW5jb2RpbmcNCisJLmJ5dGUJ MTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fZGF0YTENCisJLmJ5dGUJ MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEVPTSgxKQ0KKwkuYnl0ZQkwICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMgRU9NKDIpDQorCS5ieXRlCTkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyBBYmJyZXZpYXRpb24gQ29kZQ0KKwkuYnl0ZQk0NiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMgRFdfVEFHX3N1YnByb2dyYW0NCisJLmJ5dGUJMCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0NISUxEUkVOX25vDQorCS5ieXRlCTE3ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9sb3dfcGMNCisJLmJ5dGUJMjcgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fYWRkcngNCisJLmJ5dGUJMTggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2hpZ2hfcGMNCisJLmJ5dGUJNiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fZGF0YTQNCisJLmJ5dGUJNjQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2ZyYW1lX2Jhc2UNCisJLmJ5dGUJMjQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fZXhwcmxvYw0KKwkuYnl0ZQkz ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfbmFtZQ0KKwkuYnl0ZQkzNyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfRk9STV9zdHJ4MQ0KKwkuYnl0ZQk1OCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfZGVjbF9maWxlDQorCS5ieXRlCTEx ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19GT1JNX2RhdGExDQorCS5ieXRlCTU5 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9kZWNsX2xpbmUNCisJLmJ5dGUJ MTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fZGF0YTENCisJLmJ5dGUJ MzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX3Byb3RvdHlwZWQNCisJLmJ5 dGUJMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0ZPUk1fZmxhZ19wcmVzZW50 DQorCS5ieXRlCTczICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF90eXBlDQor CS5ieXRlCTE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19GT1JNX3JlZjQNCisJ LmJ5dGUJNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2V4dGVybmFsDQor CS5ieXRlCTI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19GT1JNX2ZsYWdfcHJl c2VudA0KKwkuYnl0ZQkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRU9NKDEpDQor CS5ieXRlCTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBFT00oMikNCisJLmJ5dGUJ MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEVPTSgzKQ0KKwkuc2VjdGlvbgkuZGVi dWdfaW5mbywiIixAcHJvZ2JpdHMNCisuTGN1X2JlZ2luMDoNCisJLmxvbmcJLkxkZWJ1Z19pbmZv X2VuZDAtLkxkZWJ1Z19pbmZvX3N0YXJ0MCAjIExlbmd0aCBvZiBVbml0DQorLkxkZWJ1Z19pbmZv X3N0YXJ0MDoNCisJLnNob3J0CTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV0FS RiB2ZXJzaW9uIG51bWJlcg0KKwkuYnl0ZQkxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgRFdBUkYgVW5pdCBUeXBlDQorCS5ieXRlCTggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBBZGRyZXNzIFNpemUgKGluIGJ5dGVzKQ0KKwkubG9uZwkuZGVidWdfYWJicmV2ICAgICAg ICAgICAgICAgICAgICMgT2Zmc2V0IEludG8gQWJicmV2LiBTZWN0aW9uDQorCS5ieXRlCTEgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBYmJyZXYgWzFdIDB4YzoweDdmIERXX1RBR19j b21waWxlX3VuaXQNCisJLmJ5dGUJMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERX X0FUX3Byb2R1Y2VyDQorCS5zaG9ydAkxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg RFdfQVRfbGFuZ3VhZ2UNCisJLmJ5dGUJMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IERXX0FUX25hbWUNCisJLmxvbmcJLkxzdHJfb2Zmc2V0c19iYXNlMCAgICAgICAgICAgICAjIERX X0FUX3N0cl9vZmZzZXRzX2Jhc2UNCisJLmxvbmcJLkxsaW5lX3RhYmxlX3N0YXJ0MCAgICAgICAg ICAgICAjIERXX0FUX3N0bXRfbGlzdA0KKwkuYnl0ZQkyICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICMgRFdfQVRfY29tcF9kaXINCisJLmJ5dGUJNCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjIERXX0FUX2xvd19wYw0KKwkubG9uZwkuTGZ1bmNfZW5kMS0uTGZ1bmNfYmVnaW4w ICAgICAgICMgRFdfQVRfaGlnaF9wYw0KKwkubG9uZwkuTGFkZHJfdGFibGVfYmFzZTAgICAgICAg ICAgICAgICMgRFdfQVRfYWRkcl9iYXNlDQorCS5ieXRlCTIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIyBBYmJyZXYgWzJdIDB4MjM6MHhiIERXX1RBR192YXJpYWJsZQ0KKwkuYnl0ZQkz ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfbmFtZQ0KKwkubG9uZwk0NiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfdHlwZQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2V4dGVybmFsDQorCS5ieXRlCTAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9kZWNsX2ZpbGUNCisJLmJ5dGUJNyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2RlY2xfbGluZQ0KKwkuYnl0ZQky ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfbG9jYXRpb24NCisJLmJ5dGUJ MTYxDQorCS5ieXRlCTANCisJLmJ5dGUJMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IEFiYnJldiBbM10gMHgyZToweDQgRFdfVEFHX2Jhc2VfdHlwZQ0KKwkuYnl0ZQk0ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfbmFtZQ0KKwkuYnl0ZQk1ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMgRFdfQVRfZW5jb2RpbmcNCisJLmJ5dGUJNCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2J5dGVfc2l6ZQ0KKwkuYnl0ZQkyICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMgQWJicmV2IFsyXSAweDMyOjB4YiBEV19UQUdfdmFyaWFi bGUNCisJLmJ5dGUJNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX25hbWUN CisJLmxvbmcJNDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX3R5cGUNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9leHRlcm5hbA0K KwkuYnl0ZQkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfZGVjbF9maWxl DQorCS5ieXRlCTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9kZWNsX2xp bmUNCisJLmJ5dGUJMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2xvY2F0 aW9uDQorCS5ieXRlCTE2MQ0KKwkuYnl0ZQkxDQorCS5ieXRlCTQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBBYmJyZXYgWzRdIDB4M2Q6MHhiIERXX1RBR192YXJpYWJsZQ0KKwkuYnl0 ZQk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfbmFtZQ0KKwkubG9uZwk0 NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfdHlwZQ0KKwkuYnl0ZQkwICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfZGVjbF9maWxlDQorCS5ieXRlCTgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9kZWNsX2xpbmUNCisJLmJ5dGUJ MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2xvY2F0aW9uDQorCS5ieXRl CTE2MQ0KKwkuYnl0ZQkyDQorCS5ieXRlCTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IyBBYmJyZXYgWzRdIDB4NDg6MHhiIERXX1RBR192YXJpYWJsZQ0KKwkuYnl0ZQk3ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfbmFtZQ0KKwkubG9uZwk4MyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMgRFdfQVRfdHlwZQ0KKwkuYnl0ZQkwICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICMgRFdfQVRfZGVjbF9maWxlDQorCS5ieXRlCTkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyBEV19BVF9kZWNsX2xpbmUNCisJLmJ5dGUJMiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2xvY2F0aW9uDQorCS5ieXRlCTE2MQ0KKwkuYnl0 ZQkzDQorCS5ieXRlCTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBYmJyZXYgWzVd IDB4NTM6MHhjIERXX1RBR19hcnJheV90eXBlDQorCS5sb25nCTk1ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBEV19BVF90eXBlDQorCS5ieXRlCTYgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIyBBYmJyZXYgWzZdIDB4NTg6MHg2IERXX1RBR19zdWJyYW5nZV90eXBlDQorCS5s b25nCTEwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF90eXBlDQorCS5ieXRl CTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9jb3VudA0KKwkuYnl0ZQkw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRW5kIE9mIENoaWxkcmVuIE1hcmsNCisJ LmJ5dGUJNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFiYnJldiBbN10gMHg1Zjow eDUgRFdfVEFHX2NvbnN0X3R5cGUNCisJLmxvbmcJMTAwICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIERXX0FUX3R5cGUNCisJLmJ5dGUJMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjIEFiYnJldiBbM10gMHg2NDoweDQgRFdfVEFHX2Jhc2VfdHlwZQ0KKwkuYnl0ZQk4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfbmFtZQ0KKwkuYnl0ZQk2ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfZW5jb2RpbmcNCisJLmJ5dGUJMSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2J5dGVfc2l6ZQ0KKwkuYnl0ZQk4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMgQWJicmV2IFs4XSAweDY4OjB4NCBEV19UQUdfYmFz ZV90eXBlDQorCS5ieXRlCTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9u YW1lDQorCS5ieXRlCTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEV19BVF9ieXRl X3NpemUNCisJLmJ5dGUJNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2Vu Y29kaW5nDQorCS5ieXRlCTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBYmJyZXYg WzldIDB4NmM6MHhmIERXX1RBR19zdWJwcm9ncmFtDQorCS5ieXRlCTQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIyBEV19BVF9sb3dfcGMNCisJLmxvbmcJLkxmdW5jX2VuZDAtLkxmdW5j X2JlZ2luMCAgICAgICAjIERXX0FUX2hpZ2hfcGMNCisJLmJ5dGUJMSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIERXX0FUX2ZyYW1lX2Jhc2UNCisJLmJ5dGUJODYNCisJLmJ5dGUJMTAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX25hbWUNCisJLmJ5dGUJMCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2RlY2xfZmlsZQ0KKwkuYnl0ZQkxMiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfZGVjbF9saW5lDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfcHJvdG90eXBlZA0KKwkubG9u Zwk0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRFdfQVRfdHlwZQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIERXX0FUX2V4dGVybmFsDQorCS5ieXRl CTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBYmJyZXYgWzldIDB4N2I6MHhmIERX X1RBR19zdWJwcm9ncmFtDQorCS5ieXRlCTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IyBEV19BVF9sb3dfcGMNCisJLmxvbmcJLkxmdW5jX2VuZDEtLkxmdW5jX2JlZ2luMSAgICAgICAj IERXX0FUX2hpZ2hfcGMNCisJLmJ5dGUJMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IERXX0FUX2ZyYW1lX2Jhc2UNCisJLmJ5dGUJODYNCisJLmJ5dGUJMTEgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIERXX0FUX25hbWUNCisJLmJ5dGUJMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIERXX0FUX2RlY2xfZmlsZQ0KKwkuYnl0ZQkxOCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMgRFdfQVRfZGVjbF9saW5lDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICMgRFdfQVRfcHJvdG90eXBlZA0KKwkubG9uZwk0NiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMgRFdfQVRfdHlwZQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjIERXX0FUX2V4dGVybmFsDQorCS5ieXRlCTAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyBFbmQgT2YgQ2hpbGRyZW4gTWFyaw0KKy5MZGVidWdfaW5mb19l bmQwOg0KKwkuc2VjdGlvbgkuZGVidWdfc3RyX29mZnNldHMsIiIsQHByb2diaXRzDQorCS5sb25n CTUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMZW5ndGggb2YgU3RyaW5nIE9mZnNl dHMgU2V0DQorCS5zaG9ydAk1DQorCS5zaG9ydAkwDQorLkxzdHJfb2Zmc2V0c19iYXNlMDoNCisJ LnNlY3Rpb24JLmRlYnVnX3N0ciwiTVMiLEBwcm9nYml0cywxDQorLkxpbmZvX3N0cmluZzA6DQor CS5hc2NpegkiVWJ1bnR1IGNsYW5nIHZlcnNpb24gMTIuMC4wLTN1YnVudHUxfjIwLjA0LjUiICMg c3RyaW5nIG9mZnNldD0wDQorLkxpbmZvX3N0cmluZzE6DQorCS5hc2NpegkidGVzdHByb2cuYyIg ICAgICAgICAgICAgICAgICAgICMgc3RyaW5nIG9mZnNldD00NQ0KKy5MaW5mb19zdHJpbmcyOg0K KwkuYXNjaXoJIi9ob21lL2thdml0aGEvd29ya2FyZWEvYmludXRpbHMtZ2RiLWFtZC9iaW51dGls cy90ZXN0c3VpdGUvYmludXRpbHMtYWxsIiAjIHN0cmluZyBvZmZzZXQ9NTYNCisuTGluZm9fc3Ry aW5nMzoNCisJLmFzY2l6CSJnbG9iYWwiICAgICAgICAgICAgICAgICAgICAgICAgIyBzdHJpbmcg b2Zmc2V0PTEyOA0KKy5MaW5mb19zdHJpbmc0Og0KKwkuYXNjaXoJImludCIgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIHN0cmluZyBvZmZzZXQ9MTM1DQorLkxpbmZvX3N0cmluZzU6DQorCS5h c2NpegkiY29tbW9uIiAgICAgICAgICAgICAgICAgICAgICAgICMgc3RyaW5nIG9mZnNldD0xMzkN CisuTGluZm9fc3RyaW5nNjoNCisJLmFzY2l6CSJsb2NhbCIgICAgICAgICAgICAgICAgICAgICAg ICAgIyBzdHJpbmcgb2Zmc2V0PTE0Ng0KKy5MaW5mb19zdHJpbmc3Og0KKwkuYXNjaXoJInN0cmlu ZyIgICAgICAgICAgICAgICAgICAgICAgICAjIHN0cmluZyBvZmZzZXQ9MTUyDQorLkxpbmZvX3N0 cmluZzg6DQorCS5hc2NpegkiY2hhciIgICAgICAgICAgICAgICAgICAgICAgICAgICMgc3RyaW5n IG9mZnNldD0xNTkNCisuTGluZm9fc3RyaW5nOToNCisJLmFzY2l6CSJfX0FSUkFZX1NJWkVfVFlQ RV9fIiAgICAgICAgICAgIyBzdHJpbmcgb2Zmc2V0PTE2NA0KKy5MaW5mb19zdHJpbmcxMDoNCisJ LmFzY2l6CSJmbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzdHJpbmcgb2Zmc2V0PTE4 NA0KKy5MaW5mb19zdHJpbmcxMToNCisJLmFzY2l6CSJtYWluIiAgICAgICAgICAgICAgICAgICAg ICAgICAgIyBzdHJpbmcgb2Zmc2V0PTE4Nw0KKwkuc2VjdGlvbgkuZGVidWdfc3RyX29mZnNldHMs IiIsQHByb2diaXRzDQorCS5sb25nCS5MaW5mb19zdHJpbmcwDQorCS5sb25nCS5MaW5mb19zdHJp bmcxDQorCS5sb25nCS5MaW5mb19zdHJpbmcyDQorCS5sb25nCS5MaW5mb19zdHJpbmczDQorCS5s b25nCS5MaW5mb19zdHJpbmc0DQorCS5sb25nCS5MaW5mb19zdHJpbmc1DQorCS5sb25nCS5MaW5m b19zdHJpbmc2DQorCS5sb25nCS5MaW5mb19zdHJpbmc3DQorCS5sb25nCS5MaW5mb19zdHJpbmc4 DQorCS5sb25nCS5MaW5mb19zdHJpbmc5DQorCS5sb25nCS5MaW5mb19zdHJpbmcxMA0KKwkubG9u ZwkuTGluZm9fc3RyaW5nMTENCisJLnNlY3Rpb24JLmRlYnVnX2FkZHIsIiIsQHByb2diaXRzDQor CS5sb25nCS5MZGVidWdfYWRkcl9lbmQwLS5MZGVidWdfYWRkcl9zdGFydDAgIyBMZW5ndGggb2Yg Y29udHJpYnV0aW9uDQorLkxkZWJ1Z19hZGRyX3N0YXJ0MDoNCisJLnNob3J0CTUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIyBEV0FSRiB2ZXJzaW9uIG51bWJlcg0KKwkuYnl0ZQk4ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWRkcmVzcyBzaXplDQorCS5ieXRlCTAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTZWdtZW50IHNlbGVjdG9yIHNpemUNCisuTGFk ZHJfdGFibGVfYmFzZTA6DQorCS5xdWFkCWdsb2JhbA0KKwkucXVhZAljb21tb24NCisJLnF1YWQJ bG9jYWwNCisJLnF1YWQJc3RyaW5nDQorCS5xdWFkCS5MZnVuY19iZWdpbjANCisJLnF1YWQJLkxm dW5jX2JlZ2luMQ0KKy5MZGVidWdfYWRkcl9lbmQwOg0KKwkuaWRlbnQJIlVidW50dSBjbGFuZyB2 ZXJzaW9uIDEyLjAuMC0zdWJ1bnR1MX4yMC4wNC41Ig0KKwkuc2VjdGlvbgkiLm5vdGUuR05VLXN0 YWNrIiwiIixAcHJvZ2JpdHMNCisJLnNlY3Rpb24JLmRlYnVnX2xpbmUsIiIsQHByb2diaXRzDQor LkxsaW5lX3RhYmxlX3N0YXJ0MDoNCi0tIA0KMi4yNS4xDQoNCg== --_004_DM4PR12MB57967946925D3DEC0E9D6437F7FD9DM4PR12MB5796namp_--