From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 116DA385734B for ; Mon, 24 Oct 2022 16:26:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 116DA385734B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.95,209,1661846400"; d="scan'208";a="85427795" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 24 Oct 2022 08:26:48 -0800 IronPort-SDR: l7RTH5wmOn4dos2OdAk+V+xBS9VgO8lNZCTZQ9MovnhVtrpkToVhvdAL5BKf8ZTUg9NzCeXtq/ fKV/5A5Ci9Mzv1eYx1j67IbbJWeSkdmJOw73Ft+xXQf3/9cO+2x9b+XoUVMv3RgkAL3ejYJekW Pafidh5qAvUnjw15nvXx3oBMluF/tOCKwFayIVbxk3Pcv+kmC3bxypLjbPJQzHD5waxM7wHGJX mEPqwyX1GtBUcFOD64yz9z5d7GOoowOSLINBcE3ULcGvW+ArMxkAhI/lVO04z2wgoBqqg9U9b0 Rng= Content-Type: multipart/mixed; boundary="------------MjRDE8G3Iu8i3Y4pvoiiCnWp" Message-ID: <7bb722dc-0e73-dce2-d05f-d471663366a4@codesourcery.com> Date: Mon, 24 Oct 2022 17:26:44 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Content-Language: en-GB To: "gcc-patches@gcc.gnu.org" From: Andrew Stubbs Subject: [OG12 commit] amdgcn, libgomp: USM allocation update X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------MjRDE8G3Iu8i3Y4pvoiiCnWp Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit I've committed this patch to the devel/omp/gcc-12 branch. I will have to fold it into my previous OpenMP memory management patch series when I repost it. The patch changes the internal memory allocation method such that memory is allocated in the regular heap and then marked as "coarse-grained", as opposed to allocating coarse-grained memory in the first place. The difference is that this is CPU first, not GPU first, which is typically the right way around, especially when we are using this for all possible allocations. Andrew --------------MjRDE8G3Iu8i3Y4pvoiiCnWp Content-Type: text/plain; charset="UTF-8"; name="221024-usm-allocator-update.patch" Content-Disposition: attachment; filename="221024-usm-allocator-update.patch" Content-Transfer-Encoding: base64 YW1kZ2NuLCBsaWJnb21wOiBVU00gYWxsb2NhdGlvbiB1cGRhdGUKCkFsbG9jYXRlIFVuaWZp ZWQgU2hhcmVkIE1lbW9yeSB2aWEgbWFsbG9jIGFuZCBoc2FfYW1kX3N2bV9hdHRyaWJ1dGVz X3NldCwKaW5zdGVhZCBvZiBoc2FfYWxsb2NhdGVfbWVtb3J5LiAgVGhpcyBzY2hlbWUgc2hv dWxkIGJlIG1vcmUgZWZmaWNpZW50IGZvcgpmb3IgbWVtb3J5IHRoYXQgaXMgZmlyc3QgYWNj ZXNzZWQgYnkgdGhlIENQVS4KCmxpYmdvbXAvQ2hhbmdlTG9nOgoKCSogcGx1Z2luL3BsdWdp bi1nY24uYyAoSFNBX0FNRF9TWVNURU1fSU5GT19TVk1fU1VQUE9SVEVEKTogTmV3LgoJKEhT QV9TWVNURU1fSU5GT19TVk1fQUNDRVNTSUJMRV9CWV9ERUZBVUxUKTogTmV3LgoJKEhTQV9B TURfU1ZNX0FUVFJJQl9HTE9CQUxfRkxBRyk6IE5ldy4KCShIU0FfQU1EX1NWTV9HTE9CQUxf RkxBR19DT0FSU0VfR1JBSU5FRCk6IE5ldy4KCShoc2FfYW1kX3N2bV9hdHRyaWJ1dGVfcGFp cl90KTogTmV3LgoJKHN0cnVjdCBoc2FfcnVudGltZV9mbl9pbmZvKTogQWRkIGhzYV9hbWRf c3ZtX2F0dHJpYnV0ZXNfc2V0X2ZuLgoJKGR1bXBfaHNhX3N5c3RlbV9pbmZvKTogRHVtcCBI U0FfQU1EX1NZU1RFTV9JTkZPX1NWTV9TVVBQT1JURUQgYW5kCglIU0FfU1lTVEVNX0lORk9f U1ZNX0FDQ0VTU0lCTEVfQllfREVGQVVMVC4KCShETFNZTV9PUFRfRk4pOiBOZXcuCgkoaW5p dF9oc2FfcnVudGltZV9mdW5jdGlvbnMpOiBBZGQgaHNhX2FtZF9zdm1fYXR0cmlidXRlc19z ZXQuCgkoR09NUF9PRkZMT0FEX3VzbV9hbGxvYyk6IFVzZSBtYWxsb2MgYW5kIGhzYV9hbWRf c3ZtX2F0dHJpYnV0ZXNfc2V0LgoJKEdPTVBfT0ZGTE9BRF91c21fZnJlZSk6IFVzZSByZWd1 bGFyIGZyZWUuCgkqIHRlc3RzdWl0ZS9saWJnb21wLmMvdXNtLTEuYzogQWRkIC1teG5hY2s9 b24gZm9yIGFtZGdjbi4KCSogdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tMi5jOiBMaWtld2lz ZS4KCSogdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tMy5jOiBMaWtld2lzZS4KCSogdGVzdHN1 aXRlL2xpYmdvbXAuYy91c20tNC5jOiBMaWtld2lzZS4KCmRpZmYgLS1naXQgYS9saWJnb21w L3BsdWdpbi9wbHVnaW4tZ2NuLmMgYi9saWJnb21wL3BsdWdpbi9wbHVnaW4tZ2NuLmMKaW5k ZXggZGQ0OTNmNjM5MTIuLjQ4NzFhNmE3OTNiIDEwMDY0NAotLS0gYS9saWJnb21wL3BsdWdp bi9wbHVnaW4tZ2NuLmMKKysrIGIvbGliZ29tcC9wbHVnaW4vcGx1Z2luLWdjbi5jCkBAIC0x MTMsNiArMTEzLDE2IEBAIHN0cnVjdCBnY25fdGhyZWFkCiAgIGludCBhc3luYzsKIH07CiAK Ky8qIFRFTVBPUkFSWSBJTVBPUlQsIFVOVElMIGhzYV9leHRfYW1kLmggR0VUUyBVUERBVEVE LiAgKi8KK2NvbnN0IHN0YXRpYyBpbnQgSFNBX0FNRF9TWVNURU1fSU5GT19TVk1fU1VQUE9S VEVEID0gMHgyMDE7Citjb25zdCBzdGF0aWMgaW50IEhTQV9TWVNURU1fSU5GT19TVk1fQUND RVNTSUJMRV9CWV9ERUZBVUxUID0gMHgyMDI7Citjb25zdCBzdGF0aWMgaW50IEhTQV9BTURf U1ZNX0FUVFJJQl9HTE9CQUxfRkxBRyA9IDA7Citjb25zdCBzdGF0aWMgaW50IEhTQV9BTURf U1ZNX0dMT0JBTF9GTEFHX0NPQVJTRV9HUkFJTkVEID0gMTsKK3R5cGVkZWYgc3RydWN0IGhz YV9hbWRfc3ZtX2F0dHJpYnV0ZV9wYWlyX3MgeworICB1aW50NjRfdCBhdHRyaWJ1dGU7Cisg IHVpbnQ2NF90IHZhbHVlOworfSBoc2FfYW1kX3N2bV9hdHRyaWJ1dGVfcGFpcl90OworCiAv KiBBcyBhbiBIU0EgcnVudGltZSBpcyBkbG9wZW5lZCwgZm9sbG93aW5nIHN0cnVjdHVyZSBk ZWZpbmVzIGZ1bmN0aW9uCiAgICBwb2ludGVycyB1dGlsaXplZCBieSB0aGUgSFNBIHBsdWct aW4uICAqLwogCkBAIC0xOTUsNiArMjA1LDkgQEAgc3RydWN0IGhzYV9ydW50aW1lX2ZuX2lu Zm8KICAgaHNhX3N0YXR1c190ICgqaHNhX2NvZGVfb2JqZWN0X2Rlc2VyaWFsaXplX2ZuKQog ICAgICh2b2lkICpzZXJpYWxpemVkX2NvZGVfb2JqZWN0LCBzaXplX3Qgc2VyaWFsaXplZF9j b2RlX29iamVjdF9zaXplLAogICAgICBjb25zdCBjaGFyICpvcHRpb25zLCBoc2FfY29kZV9v YmplY3RfdCAqY29kZV9vYmplY3QpOworICBoc2Ffc3RhdHVzX3QgKCpoc2FfYW1kX3N2bV9h dHRyaWJ1dGVzX3NldF9mbikKKyAgICAodm9pZCogcHRyLCBzaXplX3Qgc2l6ZSwgaHNhX2Ft ZF9zdm1fYXR0cmlidXRlX3BhaXJfdCogYXR0cmlidXRlX2xpc3QsCisgICAgIHNpemVfdCBh dHRyaWJ1dGVfY291bnQpOwogfTsKIAogLyogU3RydWN0dXJlIGRlc2NyaWJpbmcgdGhlIHJ1 bi10aW1lIGFuZCBncmlkIHByb3BlcnRpZXMgb2YgYW4gSFNBIGtlcm5lbApAQCAtNzIwLDYg KzczMywyNCBAQCBkdW1wX2hzYV9zeXN0ZW1faW5mbyAodm9pZCkKICAgICB9CiAgIGVsc2UK ICAgICBHQ05fV0FSTklORyAoIkhTQV9TWVNURU1fSU5GT19FWFRFTlNJT05TOiBGQUlMRURc biIpOworCisgIGJvb2wgc3ZtX3N1cHBvcnRlZDsKKyAgc3RhdHVzID0gaHNhX2Zucy5oc2Ff c3lzdGVtX2dldF9pbmZvX2ZuCisgICAgKEhTQV9BTURfU1lTVEVNX0lORk9fU1ZNX1NVUFBP UlRFRCwgJnN2bV9zdXBwb3J0ZWQpOworICBpZiAoc3RhdHVzID09IEhTQV9TVEFUVVNfU1VD Q0VTUykKKyAgICBHQ05fREVCVUcgKCJIU0FfQU1EX1NZU1RFTV9JTkZPX1NWTV9TVVBQT1JU RUQ6ICVzXG4iLAorCSAgICAgICAoc3ZtX3N1cHBvcnRlZCA/ICJUUlVFIiA6ICJGQUxTRSIp KTsKKyAgZWxzZQorICAgIEdDTl9XQVJOSU5HICgiSFNBX0FNRF9TWVNURU1fSU5GT19TVk1f U1VQUE9SVEVEOiBGQUlMRURcbiIpOworCisgIGJvb2wgc3ZtX2FjY2Vzc2libGU7CisgIHN0 YXR1cyA9IGhzYV9mbnMuaHNhX3N5c3RlbV9nZXRfaW5mb19mbgorICAgIChIU0FfU1lTVEVN X0lORk9fU1ZNX0FDQ0VTU0lCTEVfQllfREVGQVVMVCwgJnN2bV9hY2Nlc3NpYmxlKTsKKyAg aWYgKHN0YXR1cyA9PSBIU0FfU1RBVFVTX1NVQ0NFU1MpCisgICAgR0NOX0RFQlVHICgiSFNB X1NZU1RFTV9JTkZPX1NWTV9BQ0NFU1NJQkxFX0JZX0RFRkFVTFQ6ICVzXG4iLAorCSAgICAg ICAoc3ZtX2FjY2Vzc2libGUgPyAiVFJVRSIgOiAiRkFMU0UiKSk7CisgIGVsc2UKKyAgICBH Q05fV0FSTklORyAoIkhTQV9TWVNURU1fSU5GT19TVk1fQUNDRVNTSUJMRV9CWV9ERUZBVUxU OiBGQUlMRURcbiIpOwogfQogCiAvKiBEdW1wIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhdmFp bGFibGUgaGFyZHdhcmUuICAqLwpAQCAtMTM2MSw2ICsxMzkyLDggQEAgaW5pdF9oc2FfcnVu dGltZV9mdW5jdGlvbnMgKHZvaWQpCiAgIGhzYV9mbnMuZnVuY3Rpb24jI19mbiA9IGRsc3lt IChoYW5kbGUsICNmdW5jdGlvbik7IFwKICAgaWYgKGhzYV9mbnMuZnVuY3Rpb24jI19mbiA9 PSBOVUxMKSBcCiAgICAgcmV0dXJuIGZhbHNlOworI2RlZmluZSBETFNZTV9PUFRfRk4oZnVu Y3Rpb24pIFwKKyAgaHNhX2Zucy5mdW5jdGlvbiMjX2ZuID0gZGxzeW0gKGhhbmRsZSwgI2Z1 bmN0aW9uKTsKICAgdm9pZCAqaGFuZGxlID0gZGxvcGVuIChoc2FfcnVudGltZV9saWIsIFJU TERfTEFaWSk7CiAgIGlmIChoYW5kbGUgPT0gTlVMTCkKICAgICByZXR1cm4gZmFsc2U7CkBA IC0xMzk1LDYgKzE0MjgsNyBAQCBpbml0X2hzYV9ydW50aW1lX2Z1bmN0aW9ucyAodm9pZCkK ICAgRExTWU1fRk4gKGhzYV9zaWduYWxfbG9hZF9hY3F1aXJlKQogICBETFNZTV9GTiAoaHNh X3F1ZXVlX2Rlc3Ryb3kpCiAgIERMU1lNX0ZOIChoc2FfY29kZV9vYmplY3RfZGVzZXJpYWxp emUpCisgIERMU1lNX09QVF9GTiAoaHNhX2FtZF9zdm1fYXR0cmlidXRlc19zZXQpCiAgIHJl dHVybiB0cnVlOwogI3VuZGVmIERMU1lNX0ZOCiB9CkBAIC0zODg2LDE1ICszOTIwLDM4IEBA IHN0YXRpYyBzdHJ1Y3QgdXNtX3NwbGF5X3RyZWVfcyB1c21fbWFwID0geyBOVUxMIH07CiAK IC8qIEFsbG9jYXRlIG1lbW9yeSBzdWl0YWJsZSBmb3IgVW5pZmllZCBTaGFyZWQgTWVtb3J5 LgogCi0gICBJbiBmYWN0LCBBTUQgbWVtb3J5IG5lZWQgb25seSBiZSAiY29hcnNlIGdyYWlu ZWQiLCB3aGljaCB0YXJnZXQKLSAgIGFsbG9jYXRpb25zIGFscmVhZHkgYXJlLiAgV2UgZG8g bmVlZCB0byB0cmFjayBhbGxvY2F0aW9ucyBzbyB0aGF0Ci0gICBHT01QX09GRkxPQURfaXNf dXNtX3B0ciBjYW4gbG9vayB0aGVtIHVwLiAgKi8KKyAgIE5vcm1hbCBoZWFwIG1lbW9yeSBp cyBhbHJlYWR5IGVuYWJsZWQgZm9yIFVTTSwgYnV0IGJ5IGRlZmF1bHQgaXQgaXMgImZpbmUt CisgICBncmFpbmVkIiBtZW1vcnksIG1lYW5pbmcgdGhhdCB0aGUgR1BVIG11c3QgYWNjZXNz IGl0IHZpYSB0aGUgc3lzdGVtIGJ1cywKKyAgIHNsb3dseS4gIENoYW5naW5nIHRoZSBwYWdl IHRvICJjb2Fyc2UtZ3JhaW5lZCIgbW9kZSBtZWFucyB0aGF0IHRoZSBwYWdlCisgICBpcyBt aWdyYXRlZCBvbi1kZW1hbmQgYW5kIGNhbiB0aGVyZWZvcmUgYmUgYWNjZXNzZWQgcXVpY2ts eSBieSBib3RoIENQVSBhbmQKKyAgIEdQVSAoYWx0aG91Z2ggY2FyZSBzaG91bGQgYmUgdGFr ZW4gdG8gcHJldmVudCB0aHJhc2hpbmcgdGhlIHBhZ2UgYmFjayBhbmQKKyAgIGZvcnRoKS4K KworICAgR09NUF9PRkZMT0FEX2FsbG9jIGFsc28gYWxsb2NhdGVzIGNvYXJzZS1ncmFpbmVk IG1lbW9yeSwgYnV0IGluIHRoYXQgY2FzZQorICAgdGhlIGluaXRpYWwgbG9jYXRpb24gaXMg R1BVIG1lbW9yeTsgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHN5c3RlbSBtZW1vcnkuCisKKyAg IFdlIHJlY29yZCBhbmQgdHJhY2sgYWxsb2NhdGlvbnMgc28gdGhhdCBHT01QX09GRkxPQURf aXNfdXNtX3B0ciBjYW4gbG9vaworICAgdGhlbSB1cC4gICovCiAKIHZvaWQgKgogR09NUF9P RkZMT0FEX3VzbV9hbGxvYyAoaW50IGRldmljZSwgc2l6ZV90IHNpemUpCiB7Ci0gIHZvaWQg KnB0ciA9IEdPTVBfT0ZGTE9BRF9hbGxvYyAoZGV2aWNlLCBzaXplKTsKKyAgdm9pZCAqcHRy ID0gbWFsbG9jIChzaXplKTsKKyAgaWYgKCFwdHIgfHwgIWhzYV9mbnMuaHNhX2FtZF9zdm1f YXR0cmlidXRlc19zZXRfZm4pCisgICAgcmV0dXJuIHB0cjsKKworICAvKiBSZWdpc3RlciB0 aGUgaGVhcCBhbGxvY2F0aW9uIGFzIGNvYXJzZSBncmFpbmVkLCB3aGljaCBpbXBsaWVzIFVT TS4gICovCisgIHN0cnVjdCBoc2FfYW1kX3N2bV9hdHRyaWJ1dGVfcGFpcl9zIGF0dHIgPSB7 CisgICAgSFNBX0FNRF9TVk1fQVRUUklCX0dMT0JBTF9GTEFHLAorICAgIEhTQV9BTURfU1ZN X0dMT0JBTF9GTEFHX0NPQVJTRV9HUkFJTkVECisgIH07CisgIGhzYV9zdGF0dXNfdCBzdGF0 dXMgPSBoc2FfZm5zLmhzYV9hbWRfc3ZtX2F0dHJpYnV0ZXNfc2V0X2ZuIChwdHIsIHNpemUs CisJCQkJCQkJICAgICAgICZhdHRyLCAxKTsKKyAgaWYgKHN0YXR1cyAhPSBIU0FfU1RBVFVT X1NVQ0NFU1MpCisgICAgR09NUF9QTFVHSU5fZmF0YWwgKCJGYWlsZWQgdG8gYWxsb2NhdGUg VW5pZmllZCBTaGFyZWQgTWVtb3J5OyIKKwkJICAgICAgICIgcGxlYXNlIHVwZGF0ZSB5b3Vy IGRyaXZlcnMgYW5kL29yIGtlcm5lbCIpOwogCisgIC8qIFJlY29yZCB0aGUgYWxsb2NhdGlv biBmb3IgR09NUF9PRkZMT0FEX2lzX3VzbV9wdHIuICAqLwogICB1c21fc3BsYXlfdHJlZV9u b2RlIG5vZGUgPSBtYWxsb2MgKHNpemVvZiAoc3RydWN0IHVzbV9zcGxheV90cmVlX25vZGVf cykpOwogICBub2RlLT5rZXkuYWRkciA9IHB0cjsKICAgbm9kZS0+a2V5LnNpemUgPSBzaXpl OwpAQCAtMzkxOCw3ICszOTc1LDggQEAgR09NUF9PRkZMT0FEX3VzbV9mcmVlIChpbnQgZGV2 aWNlLCB2b2lkICpwdHIpCiAgICAgICBmcmVlIChub2RlKTsKICAgICB9CiAKLSAgcmV0dXJu IEdPTVBfT0ZGTE9BRF9mcmVlIChkZXZpY2UsIHB0cik7CisgIGZyZWUgKHB0cik7CisgIHJl dHVybiB0cnVlOwogfQogCiAvKiBUcnVlIGlmIHRoZSBtZW1vcnkgd2FzIGFsbG9jYXRlZCB2 aWEgR09NUF9PRkZMT0FEX3VzbV9hbGxvYy4gICovCmRpZmYgLS1naXQgYS9saWJnb21wL3Rl c3RzdWl0ZS9saWJnb21wLmMvdXNtLTEuYyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAu Yy91c20tMS5jCmluZGV4IGU3M2YxODE2ZjlhLi5mN2JmODk3YjgzOSAxMDA2NDQKLS0tIGEv bGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0xLmMKKysrIGIvbGliZ29tcC90ZXN0 c3VpdGUvbGliZ29tcC5jL3VzbS0xLmMKQEAgLTEsNSArMSw2IEBACiAvKiB7IGRnLWRvIHJ1 biB9ICovCiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBvbXBfdXNtIH0gKi8K Ky8qIHsgZGctb3B0aW9ucyAiLWZvZmZsb2FkPWFtZGdjbi1hbWRoc2E9LW14bmFjaz1vbiIg eyB0YXJnZXQgb2ZmbG9hZF90YXJnZXRfYW1kZ2NuIH0gfSAqLwogCiAjaW5jbHVkZSA8b21w Lmg+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0 ZS9saWJnb21wLmMvdXNtLTIuYyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20t Mi5jCmluZGV4IDMxZjJiYWU3MTQ1Li4zZjUyYWRiZDdlMSAxMDA2NDQKLS0tIGEvbGliZ29t cC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0yLmMKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUv bGliZ29tcC5jL3VzbS0yLmMKQEAgLTEsNSArMSw2IEBACiAvKiB7IGRnLWRvIHJ1biB9ICov CiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBvbXBfdXNtIH0gKi8KKy8qIHsg ZGctb3B0aW9ucyAiLWZvZmZsb2FkPWFtZGdjbi1hbWRoc2E9LW14bmFjaz1vbiIgeyB0YXJn ZXQgb2ZmbG9hZF90YXJnZXRfYW1kZ2NuIH0gfSAqLwogCiAjaW5jbHVkZSA8b21wLmg+CiAj aW5jbHVkZSA8c3RkaW50Lmg+CmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJn b21wLmMvdXNtLTMuYyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tMy5jCmlu ZGV4IDJjNzhhMGQ4Y2VkLi4yMjVjYmE1ZmU1OCAxMDA2NDQKLS0tIGEvbGliZ29tcC90ZXN0 c3VpdGUvbGliZ29tcC5jL3VzbS0zLmMKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29t cC5jL3VzbS0zLmMKQEAgLTEsNSArMSw2IEBACiAvKiB7IGRnLWRvIHJ1biB9ICovCiAvKiB7 IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBvbXBfdXNtIH0gKi8KKy8qIHsgZGctb3B0 aW9ucyAiLWZvZmZsb2FkPWFtZGdjbi1hbWRoc2E9LW14bmFjaz1vbiIgeyB0YXJnZXQgb2Zm bG9hZF90YXJnZXRfYW1kZ2NuIH0gfSAqLwogCiAjaW5jbHVkZSA8b21wLmg+CiAjaW5jbHVk ZSA8c3RkaW50Lmg+CmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMv dXNtLTQuYyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tNC5jCmluZGV4IDFh YzU0OThmNzNmLi5kNGFkZGZjNTg3YSAxMDA2NDQKLS0tIGEvbGliZ29tcC90ZXN0c3VpdGUv bGliZ29tcC5jL3VzbS00LmMKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3Vz bS00LmMKQEAgLTEsNSArMSw2IEBACiAvKiB7IGRnLWRvIHJ1biB9ICovCiAvKiB7IGRnLXJl cXVpcmUtZWZmZWN0aXZlLXRhcmdldCBvbXBfdXNtIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAi LWZvZmZsb2FkPWFtZGdjbi1hbWRoc2E9LW14bmFjaz1vbiIgeyB0YXJnZXQgb2ZmbG9hZF90 YXJnZXRfYW1kZ2NuIH0gfSAqLwogCiAjaW5jbHVkZSA8b21wLmg+CiAjaW5jbHVkZSA8c3Rk aW50Lmg+Cg== --------------MjRDE8G3Iu8i3Y4pvoiiCnWp--