From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id KF37Gl5trmWFFgQAWB0awg (envelope-from ) for ; Mon, 22 Jan 2024 08:27:58 -0500 Received: by simark.ca (Postfix, from userid 112) id 6B7ED1E0C3; Mon, 22 Jan 2024 08:27:58 -0500 (EST) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 4DF1C1E092 for ; Mon, 22 Jan 2024 08:27:56 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D0121385842D for ; Mon, 22 Jan 2024 13:27:55 +0000 (GMT) Received: from gnu.wildebeest.org (gnu.wildebeest.org [45.83.234.184]) by sourceware.org (Postfix) with ESMTPS id B1DE13858412 for ; Mon, 22 Jan 2024 13:27:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B1DE13858412 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=klomp.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B1DE13858412 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=45.83.234.184 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705930041; cv=none; b=dyy9uJ0n3/1C80Ib84XXqkJSSTDMMdPeyvAtkSIggpIHUvPtmjoB8o3Qzqedlcw5KPXiBKlvp3U57xcPOmlKNRJHO9nsu0xHGjp/Ofm/K63tT+3b/xFCF93+fMisUgwU1weNF0AthwMBImX7kt29ESigPJ+P8AAQ6H6z4OehfUM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705930041; c=relaxed/simple; bh=e94laArqnm5lA4mqFZTPcxc9ikmJRtnPEAzW6ReLxAc=; h=Message-ID:Subject:From:To:Date:MIME-Version; b=dg3WyQaISaP5CMXkrB5Ga0HZMJJ5Iakvx9druUxPe7x83761M/QWk0QQvVzUPVW4cK/b4KGYKc69z8EYHkJRVUVjh8i6fyHimhweaGBpvIFMgP2LF7796MGywjKgE0//mxOzhOXpKGl4cTO++2DEduZVjkLeP9MkHB7HsVKT5t8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from r6.localdomain (82-217-174-174.cable.dynamic.v4.ziggo.nl [82.217.174.174]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 0ECF9302BBEA; Mon, 22 Jan 2024 14:27:15 +0100 (CET) Received: by r6.localdomain (Postfix, from userid 1000) id CD18134041E; Mon, 22 Jan 2024 14:27:14 +0100 (CET) Message-ID: Subject: Re: [PATCH] sim: Fix -Werror=shadow=local by changing mem to addr in sim_{read,write} From: Mark Wielaard To: Mike Frysinger Cc: gdb-patches@sourceware.org Date: Mon, 22 Jan 2024 14:27:14 +0100 In-Reply-To: References: <20240122120534.232865-1-mark@klomp.org> Autocrypt: addr=mark@klomp.org; prefer-encrypt=mutual; keydata=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 QifSU1tvZxQ== Content-Type: multipart/mixed; boundary="=-lDFUVv4YfAuYoR4orF7Y" User-Agent: Evolution 3.50.3 (3.50.3-1.fc39) MIME-Version: 1.0 X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org --=-lDFUVv4YfAuYoR4orF7Y Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Mike, On Mon, 2024-01-22 at 08:14 -0500, Mike Frysinger wrote: > On 22 Jan 2024 13:05, Mark Wielaard wrote: > > m32c/cpu.h defines mem as enum value, which causes GCC 14 to emit > >=20 > > sim/m32c/gdb-if.c: In function =E2=80=98sim_read=E2=80=99: > > sim/m32c/gdb-if.c:162:33: error: declaration of =E2=80=98mem=E2=80=99 s= hadows a previous local [-Werror=3Dshadow=3Dlocal] > > 162 | sim_read (SIM_DESC sd, uint64_t mem, void *buf, uint64_t length= ) > > | ~~~~~~~~~^~~ > > In file included from ../../binutils-gdb/sim/m32c/gdb-if.c:38: > > sim/m32c/cpu.h:83:3: note: shadowed declaration is here > > 83 | mem, > > | ^~~ > >=20 > > Fix this by renaming mem to addr in all sim_read and sim_write function= s. > > Most already used addr instead of mem. In one file, sim/rx/gdb-if.c, th= is > > also meant renaming the local addr variable to vma. >=20 > lgtm, although missing include/sim/sim.h update Urgh, I dunno how I missed that. Pushed with include/sim/sim.h also updated, as attached (after checking against gcc13/gcc14 it still builds and resolves the issue). Thanks, Mark --=-lDFUVv4YfAuYoR4orF7Y Content-Disposition: attachment; filename*0=0001-sim-Fix-Werror-shadow-local-by-changing-mem-to-addr-.pat; filename*1=ch Content-Type: text/x-patch; name="0001-sim-Fix-Werror-shadow-local-by-changing-mem-to-addr-.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjYmJjZDdmZDEwNzViN2ZiMTU4NTg2NTA3Y2NlM2JlMTkwNTFiMjZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz4KRGF0ZTog TW9uLCAyMiBKYW4gMjAyNCAxMjo1ODoxMSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIHNpbTogRml4 IC1XZXJyb3I9c2hhZG93PWxvY2FsIGJ5IGNoYW5naW5nIG1lbSB0byBhZGRyIGluCiBzaW1fe3Jl YWQsd3JpdGV9Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgptMzJjL2NwdS5oIGRl ZmluZXMgbWVtIGFzIGVudW0gdmFsdWUsIHdoaWNoIGNhdXNlcyBHQ0MgMTQgdG8gZW1pdAoKc2lt L20zMmMvZ2RiLWlmLmM6IEluIGZ1bmN0aW9uIOKAmHNpbV9yZWFk4oCZOgpzaW0vbTMyYy9nZGIt aWYuYzoxNjI6MzM6IGVycm9yOiBkZWNsYXJhdGlvbiBvZiDigJhtZW3igJkgc2hhZG93cyBhIHBy ZXZpb3VzIGxvY2FsIFstV2Vycm9yPXNoYWRvdz1sb2NhbF0KICAxNjIgfCBzaW1fcmVhZCAoU0lN X0RFU0Mgc2QsIHVpbnQ2NF90IG1lbSwgdm9pZCAqYnVmLCB1aW50NjRfdCBsZW5ndGgpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5efn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uLy4uL2JpbnV0aWxzLWdkYi9zaW0vbTMyYy9nZGItaWYuYzozODoKc2ltL20zMmMvY3B1 Lmg6ODM6Mzogbm90ZTogc2hhZG93ZWQgZGVjbGFyYXRpb24gaXMgaGVyZQogICA4MyB8ICAgbWVt LAogICAgICB8ICAgXn5+CgpGaXggdGhpcyBieSByZW5hbWluZyBtZW0gdG8gYWRkciBpbiBhbGwg c2ltX3JlYWQgYW5kIHNpbV93cml0ZSBmdW5jdGlvbnMuCk1vc3QgYWxyZWFkeSB1c2VkIGFkZHIg aW5zdGVhZCBvZiBtZW0uIEluIG9uZSBmaWxlLCBzaW0vcngvZ2RiLWlmLmMsIHRoaXMKYWxzbyBt ZWFudCByZW5hbWluZyB0aGUgbG9jYWwgYWRkciB2YXJpYWJsZSB0byB2bWEuCi0tLQogaW5jbHVk ZS9zaW0vc2ltLmggICAgfCAgNCArKy0tCiBzaW0vY29tbW9uL3NpbS1ocncuYyB8ICA4ICsrKyst LS0tCiBzaW0vZXJjMzIvaW50ZXJmLmMgICB8ICA4ICsrKystLS0tCiBzaW0vbTMyYy9nZGItaWYu YyAgICB8IDEwICsrKysrLS0tLS0KIHNpbS9wcGMvc2ltX2NhbGxzLmMgIHwgMTYgKysrKysrKyst LS0tLS0tLQogc2ltL3JsNzgvZ2RiLWlmLmMgICAgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQog c2ltL3J4L2dkYi1pZi5jICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KIDcgZmlsZXMgY2hh bmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9zaW0vc2ltLmggYi9pbmNsdWRlL3NpbS9zaW0uaAppbmRleCAyNTFhMWQ0NjMxMC4uNWRm YjI4YjY3ODUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc2ltL3NpbS5oCisrKyBiL2luY2x1ZGUvc2lt L3NpbS5oCkBAIC0xNjAsMTQgKzE2MCwxNCBAQCBTSU1fUkMgc2ltX2NyZWF0ZV9pbmZlcmlvciAo U0lNX0RFU0Mgc2QsIHN0cnVjdCBiZmQgKmFiZmQsCiAgICBhdCB2aXJ0dWFsIGFkZHJlc3MgTUVN IGFuZCBzdG9yZSBpbiBCVUYuICBSZXN1bHQgaXMgbnVtYmVyIG9mIGJ5dGVzCiAgICByZWFkLCBv ciB6ZXJvIGlmIGVycm9yLiAgKi8KIAotdWludDY0X3Qgc2ltX3JlYWQgKFNJTV9ERVNDIHNkLCB1 aW50NjRfdCBtZW0sIHZvaWQgKmJ1ZiwgdWludDY0X3QgbGVuZ3RoKTsKK3VpbnQ2NF90IHNpbV9y ZWFkIChTSU1fREVTQyBzZCwgdWludDY0X3QgYWRkciwgdm9pZCAqYnVmLCB1aW50NjRfdCBsZW5n dGgpOwogCiAKIC8qIFN0b3JlIExFTkdUSCBieXRlcyBmcm9tIEJVRiBpbnRvIHRoZSBzaW11bGF0 ZWQgcHJvZ3JhbSdzCiAgICBtZW1vcnkuIFN0b3JlIGJ5dGVzIHN0YXJ0aW5nIGF0IHZpcnR1YWwg YWRkcmVzcyBNRU0uIFJlc3VsdCBpcwogICAgbnVtYmVyIG9mIGJ5dGVzIHdyaXRlLCBvciB6ZXJv IGlmIGVycm9yLiAgKi8KIAotdWludDY0X3Qgc2ltX3dyaXRlIChTSU1fREVTQyBzZCwgdWludDY0 X3QgbWVtLCBjb25zdCB2b2lkICpidWYsIHVpbnQ2NF90IGxlbmd0aCk7Cit1aW50NjRfdCBzaW1f d3JpdGUgKFNJTV9ERVNDIHNkLCB1aW50NjRfdCBhZGRyLCBjb25zdCB2b2lkICpidWYsIHVpbnQ2 NF90IGxlbmd0aCk7CiAKIAogLyogRmV0Y2ggcmVnaXN0ZXIgUkVHTk8gc3RvcmluZyBpdHMgcmF3 ICh0YXJnZXQgZW5kaWFuKSB2YWx1ZSBpbiB0aGUKZGlmZiAtLWdpdCBhL3NpbS9jb21tb24vc2lt LWhydy5jIGIvc2ltL2NvbW1vbi9zaW0taHJ3LmMKaW5kZXggNzU3YjgyNmNjNjMuLjU4MmQzOTFh ZTFhIDEwMDY0NAotLS0gYS9zaW0vY29tbW9uL3NpbS1ocncuYworKysgYi9zaW0vY29tbW9uL3Np bS1ocncuYwpAQCAtMjcsMTcgKzI3LDE3IEBAIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KICAgIG1vZGVsaW5n IHJlYWwgaGFyZHdhcmUgKi8KIAogdWludDY0X3QKLXNpbV9yZWFkIChTSU1fREVTQyBzZCwgdWlu dDY0X3QgbWVtLCB2b2lkICpidWZmZXIsIHVpbnQ2NF90IGxlbmd0aCkKK3NpbV9yZWFkIChTSU1f REVTQyBzZCwgdWludDY0X3QgYWRkciwgdm9pZCAqYnVmZmVyLCB1aW50NjRfdCBsZW5ndGgpCiB7 CiAgIFNJTV9BU1NFUlQgKFNUQVRFX01BR0lDIChzZCkgPT0gU0lNX01BR0lDX05VTUJFUik7CiAg IHJldHVybiBzaW1fY29yZV9yZWFkX2J1ZmZlciAoc2QsIE5VTEwsIHJlYWRfbWFwLAotCQkJICAg ICAgIGJ1ZmZlciwgbWVtLCBsZW5ndGgpOworCQkJICAgICAgIGJ1ZmZlciwgYWRkciwgbGVuZ3Ro KTsKIH0KIAogdWludDY0X3QKLXNpbV93cml0ZSAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IG1lbSwg Y29uc3Qgdm9pZCAqYnVmZmVyLCB1aW50NjRfdCBsZW5ndGgpCitzaW1fd3JpdGUgKFNJTV9ERVND IHNkLCB1aW50NjRfdCBhZGRyLCBjb25zdCB2b2lkICpidWZmZXIsIHVpbnQ2NF90IGxlbmd0aCkK IHsKICAgU0lNX0FTU0VSVCAoU1RBVEVfTUFHSUMgKHNkKSA9PSBTSU1fTUFHSUNfTlVNQkVSKTsK ICAgcmV0dXJuIHNpbV9jb3JlX3dyaXRlX2J1ZmZlciAoc2QsIE5VTEwsIHdyaXRlX21hcCwKLQkJ CQlidWZmZXIsIG1lbSwgbGVuZ3RoKTsKKwkJCQlidWZmZXIsIGFkZHIsIGxlbmd0aCk7CiB9CmRp ZmYgLS1naXQgYS9zaW0vZXJjMzIvaW50ZXJmLmMgYi9zaW0vZXJjMzIvaW50ZXJmLmMKaW5kZXgg MWYyNjYwNzcxZjguLjk4YjhhNjViOTQ0IDEwMDY0NAotLS0gYS9zaW0vZXJjMzIvaW50ZXJmLmMK KysrIGIvc2ltL2VyYzMyL2ludGVyZi5jCkBAIC0zMzAsMjUgKzMzMCwyNSBAQCBzaW1fZmV0Y2hf cmVnaXN0ZXIoU0lNX0RFU0Mgc2QsIGludCByZWdubywgdm9pZCAqYnVmLCBpbnQgbGVuZ3RoKQog fQogCiB1aW50NjRfdAotc2ltX3dyaXRlIChTSU1fREVTQyBzZCwgdWludDY0X3QgbWVtLCBjb25z dCB2b2lkICpidWZmZXIsIHVpbnQ2NF90IGxlbmd0aCkKK3NpbV93cml0ZSAoU0lNX0RFU0Mgc2Qs IHVpbnQ2NF90IGFkZHIsIGNvbnN0IHZvaWQgKmJ1ZmZlciwgdWludDY0X3QgbGVuZ3RoKQogewog ICAgIGludCBpOwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBidWZmZXI7CiAKICAg ICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKLQlzaXNfbWVtb3J5X3dyaXRlICgobWVt ICsgaSkgXiBFQlQsICZkYXRhW2ldLCAxKTsKKwlzaXNfbWVtb3J5X3dyaXRlICgoYWRkciArIGkp IF4gRUJULCAmZGF0YVtpXSwgMSk7CiAgICAgfQogICAgIHJldHVybiBsZW5ndGg7CiB9CiAKIHVp bnQ2NF90Ci1zaW1fcmVhZCAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IG1lbSwgdm9pZCAqYnVmZmVy LCB1aW50NjRfdCBsZW5ndGgpCitzaW1fcmVhZCAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IGFkZHIs IHZvaWQgKmJ1ZmZlciwgdWludDY0X3QgbGVuZ3RoKQogewogICAgIGludCBpOwogICAgIHVuc2ln bmVkIGNoYXIgKmRhdGEgPSBidWZmZXI7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBp KyspIHsKLQlzaXNfbWVtb3J5X3JlYWQgKChtZW0gKyBpKSBeIEVCVCwgJmRhdGFbaV0sIDEpOwor CXNpc19tZW1vcnlfcmVhZCAoKGFkZHIgKyBpKSBeIEVCVCwgJmRhdGFbaV0sIDEpOwogICAgIH0K ICAgICByZXR1cm4gbGVuZ3RoOwogfQpkaWZmIC0tZ2l0IGEvc2ltL20zMmMvZ2RiLWlmLmMgYi9z aW0vbTMyYy9nZGItaWYuYwppbmRleCBhMWE5NmI0NTBmMy4uYmY4NDI0ZTY1ZGYgMTAwNjQ0Ci0t LSBhL3NpbS9tMzJjL2dkYi1pZi5jCisrKyBiL3NpbS9tMzJjL2dkYi1pZi5jCkBAIC0xNTksMjQg KzE1OSwyNCBAQCBzaW1fY3JlYXRlX2luZmVyaW9yIChTSU1fREVTQyBzZCwgc3RydWN0IGJmZCAq IGFiZmQsCiB9CiAKIHVpbnQ2NF90Ci1zaW1fcmVhZCAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IG1l bSwgdm9pZCAqYnVmLCB1aW50NjRfdCBsZW5ndGgpCitzaW1fcmVhZCAoU0lNX0RFU0Mgc2QsIHVp bnQ2NF90IGFkZHIsIHZvaWQgKmJ1ZiwgdWludDY0X3QgbGVuZ3RoKQogewogICBjaGVja19kZXNj IChzZCk7CiAKLSAgaWYgKG1lbSA9PSAwKQorICBpZiAoYWRkciA9PSAwKQogICAgIHJldHVybiAw OwogCi0gIG1lbV9nZXRfYmxrICgoaW50KSBtZW0sIGJ1ZiwgbGVuZ3RoKTsKKyAgbWVtX2dldF9i bGsgKChpbnQpIGFkZHIsIGJ1ZiwgbGVuZ3RoKTsKIAogICByZXR1cm4gbGVuZ3RoOwogfQogCiB1 aW50NjRfdAotc2ltX3dyaXRlIChTSU1fREVTQyBzZCwgdWludDY0X3QgbWVtLCBjb25zdCB2b2lk ICpidWYsIHVpbnQ2NF90IGxlbmd0aCkKK3NpbV93cml0ZSAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90 IGFkZHIsIGNvbnN0IHZvaWQgKmJ1ZiwgdWludDY0X3QgbGVuZ3RoKQogewogICBjaGVja19kZXNj IChzZCk7CiAKLSAgbWVtX3B1dF9ibGsgKChpbnQpIG1lbSwgYnVmLCBsZW5ndGgpOworICBtZW1f cHV0X2JsayAoKGludCkgYWRkciwgYnVmLCBsZW5ndGgpOwogCiAgIHJldHVybiBsZW5ndGg7CiB9 CmRpZmYgLS1naXQgYS9zaW0vcHBjL3NpbV9jYWxscy5jIGIvc2ltL3BwYy9zaW1fY2FsbHMuYwpp bmRleCAxM2UzOWE2ZTA3Yi4uZGMxNzdlNDVjN2EgMTAwNjQ0Ci0tLSBhL3NpbS9wcGMvc2ltX2Nh bGxzLmMKKysrIGIvc2ltL3BwYy9zaW1fY2FsbHMuYwpAQCAtMTI1LDI2ICsxMjUsMjYgQEAgc2lt X2xvYWQgKFNJTV9ERVNDIHNkLCBjb25zdCBjaGFyICpwcm9nLCBiZmQgKmFiZmQsIGludCBmcm9t X3R0eSkKIAogCiB1aW50NjRfdAotc2ltX3JlYWQgKFNJTV9ERVNDIHNkLCB1aW50NjRfdCBtZW0s IHZvaWQgKmJ1ZiwgdWludDY0X3QgbGVuZ3RoKQorc2ltX3JlYWQgKFNJTV9ERVNDIHNkLCB1aW50 NjRfdCBhZGRyLCB2b2lkICpidWYsIHVpbnQ2NF90IGxlbmd0aCkKIHsKICAgaW50IHJlc3VsdCA9 IHBzaW1fcmVhZF9tZW1vcnkoc2ltdWxhdG9yLCBNQVhfTlJfUFJPQ0VTU09SUywKLQkJCQlidWYs IG1lbSwgbGVuZ3RoKTsKKwkJCQlidWYsIGFkZHIsIGxlbmd0aCk7CiAgIFRSQUNFKHRyYWNlX2dk YiwKLQkoInNpbV9yZWFkKG1lbT0weCUiIFBSSXg2NCAiLCBidWY9JXAsIGxlbmd0aD0lIiBQUkl4 NjQgIikgPSAlZFxuIiwKLQkgbWVtLCBidWYsIGxlbmd0aCwgcmVzdWx0KSk7CisJKCJzaW1fcmVh ZChhZGRyPTB4JSIgUFJJeDY0ICIsIGJ1Zj0lcCwgbGVuZ3RoPSUiIFBSSXg2NCAiKSA9ICVkXG4i LAorCSBhZGRyLCBidWYsIGxlbmd0aCwgcmVzdWx0KSk7CiAgIHJldHVybiByZXN1bHQ7CiB9CiAK IAogdWludDY0X3QKLXNpbV93cml0ZSAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IG1lbSwgY29uc3Qg dm9pZCAqYnVmLCB1aW50NjRfdCBsZW5ndGgpCitzaW1fd3JpdGUgKFNJTV9ERVNDIHNkLCB1aW50 NjRfdCBhZGRyLCBjb25zdCB2b2lkICpidWYsIHVpbnQ2NF90IGxlbmd0aCkKIHsKICAgaW50IHJl c3VsdCA9IHBzaW1fd3JpdGVfbWVtb3J5KHNpbXVsYXRvciwgTUFYX05SX1BST0NFU1NPUlMsCi0J CQkJIGJ1ZiwgbWVtLCBsZW5ndGgsCisJCQkJIGJ1ZiwgYWRkciwgbGVuZ3RoLAogCQkJCSAxLyp2 aW9sYXRlX3JvKi8pOwogICBUUkFDRSh0cmFjZV9nZGIsCi0JKCJzaW1fd3JpdGUobWVtPTB4JSIg UFJJeDY0ICIsIGJ1Zj0lcCwgbGVuZ3RoPSUiIFBSSXg2NCAiKSA9ICVkXG4iLAotCSBtZW0sIGJ1 ZiwgbGVuZ3RoLCByZXN1bHQpKTsKKwkoInNpbV93cml0ZShhZGRyPTB4JSIgUFJJeDY0ICIsIGJ1 Zj0lcCwgbGVuZ3RoPSUiIFBSSXg2NCAiKSA9ICVkXG4iLAorCSBhZGRyLCBidWYsIGxlbmd0aCwg cmVzdWx0KSk7CiAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL3NpbS9ybDc4L2dk Yi1pZi5jIGIvc2ltL3JsNzgvZ2RiLWlmLmMKaW5kZXggYjg1MzAyYjQwYTAuLjZjMGE3MGJlYjE5 IDEwMDY0NAotLS0gYS9zaW0vcmw3OC9nZGItaWYuYworKysgYi9zaW0vcmw3OC9nZGItaWYuYwpA QCAtMjA1LDMyICsyMDUsMzIgQEAgc2ltX2NyZWF0ZV9pbmZlcmlvciAoU0lNX0RFU0Mgc2QsIHN0 cnVjdCBiZmQgKmFiZmQsCiAvKiBSZWFkIG1lbW9yeS4gICovCiAKIHVpbnQ2NF90Ci1zaW1fcmVh ZCAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IG1lbSwgdm9pZCAqYnVmLCB1aW50NjRfdCBsZW5ndGgp CitzaW1fcmVhZCAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IGFkZHIsIHZvaWQgKmJ1ZiwgdWludDY0 X3QgbGVuZ3RoKQogewogICBjaGVja19kZXNjIChzZCk7CiAKLSAgaWYgKG1lbSA+PSBNRU1fU0la RSkKKyAgaWYgKGFkZHIgPj0gTUVNX1NJWkUpCiAgICAgcmV0dXJuIDA7Ci0gIGVsc2UgaWYgKG1l bSArIGxlbmd0aCA+IE1FTV9TSVpFKQotICAgIGxlbmd0aCA9IE1FTV9TSVpFIC0gbWVtOworICBl bHNlIGlmIChhZGRyICsgbGVuZ3RoID4gTUVNX1NJWkUpCisgICAgbGVuZ3RoID0gTUVNX1NJWkUg LSBhZGRyOwogCi0gIG1lbV9nZXRfYmxrIChtZW0sIGJ1ZiwgbGVuZ3RoKTsKKyAgbWVtX2dldF9i bGsgKGFkZHIsIGJ1ZiwgbGVuZ3RoKTsKICAgcmV0dXJuIGxlbmd0aDsKIH0KIAogLyogV3JpdGUg bWVtb3J5LiAgKi8KIAogdWludDY0X3QKLXNpbV93cml0ZSAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90 IG1lbSwgY29uc3Qgdm9pZCAqYnVmLCB1aW50NjRfdCBsZW5ndGgpCitzaW1fd3JpdGUgKFNJTV9E RVNDIHNkLCB1aW50NjRfdCBhZGRyLCBjb25zdCB2b2lkICpidWYsIHVpbnQ2NF90IGxlbmd0aCkK IHsKICAgY2hlY2tfZGVzYyAoc2QpOwogCi0gIGlmIChtZW0gPj0gTUVNX1NJWkUpCisgIGlmIChh ZGRyID49IE1FTV9TSVpFKQogICAgIHJldHVybiAwOwotICBlbHNlIGlmIChtZW0gKyBsZW5ndGgg PiBNRU1fU0laRSkKLSAgICBsZW5ndGggPSBNRU1fU0laRSAtIG1lbTsKKyAgZWxzZSBpZiAoYWRk ciArIGxlbmd0aCA+IE1FTV9TSVpFKQorICAgIGxlbmd0aCA9IE1FTV9TSVpFIC0gYWRkcjsKIAot ICBtZW1fcHV0X2JsayAobWVtLCBidWYsIGxlbmd0aCk7CisgIG1lbV9wdXRfYmxrIChhZGRyLCBi dWYsIGxlbmd0aCk7CiAgIHJldHVybiBsZW5ndGg7CiB9CiAKZGlmZiAtLWdpdCBhL3NpbS9yeC9n ZGItaWYuYyBiL3NpbS9yeC9nZGItaWYuYwppbmRleCA2YjYxNmI3NjEyYS4uMGZjNjI2ZDllOWMg MTAwNjQ0Ci0tLSBhL3NpbS9yeC9nZGItaWYuYworKysgYi9zaW0vcngvZ2RiLWlmLmMKQEAgLTIy NywyMyArMjI3LDIzIEBAIHNpbV9jcmVhdGVfaW5mZXJpb3IgKFNJTV9ERVNDIHNkLCBzdHJ1Y3Qg YmZkICphYmZkLAogfQogCiB1aW50NjRfdAotc2ltX3JlYWQgKFNJTV9ERVNDIHNkLCB1aW50NjRf dCBtZW0sIHZvaWQgKmJ1ZmZlciwgdWludDY0X3QgbGVuZ3RoKQorc2ltX3JlYWQgKFNJTV9ERVND IHNkLCB1aW50NjRfdCBhZGRyLCB2b2lkICpidWZmZXIsIHVpbnQ2NF90IGxlbmd0aCkKIHsKICAg aW50IGk7CiAgIHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBidWZmZXI7CiAKICAgY2hlY2tfZGVzYyAo c2QpOwogCi0gIGlmIChtZW0gPT0gMCkKKyAgaWYgKGFkZHIgPT0gMCkKICAgICByZXR1cm4gMDsK IAogICBleGVjdXRpb25fZXJyb3JfY2xlYXJfbGFzdF9lcnJvciAoKTsKIAogICBmb3IgKGkgPSAw OyBpIDwgbGVuZ3RoOyBpKyspCiAgICAgewotICAgICAgYmZkX3ZtYSBhZGRyID0gbWVtICsgaTsK LSAgICAgIGludCBkb19zd2FwID0gYWRkcl9pbl9zd2FwX2xpc3QgKGFkZHIpOwotICAgICAgZGF0 YVtpXSA9IG1lbV9nZXRfcWkgKGFkZHIgXiAoZG9fc3dhcCA/IDMgOiAwKSk7CisgICAgICBiZmRf dm1hIHZtYSA9IGFkZHIgKyBpOworICAgICAgaW50IGRvX3N3YXAgPSBhZGRyX2luX3N3YXBfbGlz dCAodm1hKTsKKyAgICAgIGRhdGFbaV0gPSBtZW1fZ2V0X3FpICh2bWEgXiAoZG9fc3dhcCA/IDMg OiAwKSk7CiAKICAgICAgIGlmIChleGVjdXRpb25fZXJyb3JfZ2V0X2xhc3RfZXJyb3IgKCkgIT0g U0lNX0VSUl9OT05FKQogCXJldHVybiBpOwpAQCAtMjUzLDcgKzI1Myw3IEBAIHNpbV9yZWFkIChT SU1fREVTQyBzZCwgdWludDY0X3QgbWVtLCB2b2lkICpidWZmZXIsIHVpbnQ2NF90IGxlbmd0aCkK IH0KIAogdWludDY0X3QKLXNpbV93cml0ZSAoU0lNX0RFU0Mgc2QsIHVpbnQ2NF90IG1lbSwgY29u c3Qgdm9pZCAqYnVmZmVyLCB1aW50NjRfdCBsZW5ndGgpCitzaW1fd3JpdGUgKFNJTV9ERVNDIHNk LCB1aW50NjRfdCBhZGRyLCBjb25zdCB2b2lkICpidWZmZXIsIHVpbnQ2NF90IGxlbmd0aCkKIHsK ICAgaW50IGk7CiAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBidWZmZXI7CkBAIC0yNjQs OSArMjY0LDkgQEAgc2ltX3dyaXRlIChTSU1fREVTQyBzZCwgdWludDY0X3QgbWVtLCBjb25zdCB2 b2lkICpidWZmZXIsIHVpbnQ2NF90IGxlbmd0aCkKIAogICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3Ro OyBpKyspCiAgICAgewotICAgICAgYmZkX3ZtYSBhZGRyID0gbWVtICsgaTsKLSAgICAgIGludCBk b19zd2FwID0gYWRkcl9pbl9zd2FwX2xpc3QgKGFkZHIpOwotICAgICAgbWVtX3B1dF9xaSAoYWRk ciBeIChkb19zd2FwID8gMyA6IDApLCBkYXRhW2ldKTsKKyAgICAgIGJmZF92bWEgdm1hID0gYWRk ciArIGk7CisgICAgICBpbnQgZG9fc3dhcCA9IGFkZHJfaW5fc3dhcF9saXN0ICh2bWEpOworICAg ICAgbWVtX3B1dF9xaSAodm1hIF4gKGRvX3N3YXAgPyAzIDogMCksIGRhdGFbaV0pOwogCiAgICAg ICBpZiAoZXhlY3V0aW9uX2Vycm9yX2dldF9sYXN0X2Vycm9yICgpICE9IFNJTV9FUlJfTk9ORSkK IAlyZXR1cm4gaTsKLS0gCjIuNDMuMAoK --=-lDFUVv4YfAuYoR4orF7Y--