From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 35994 invoked by alias); 13 Jul 2018 20:49:41 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 35818 invoked by uid 89); 13 Jul 2018 20:49:39 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-oi0-f52.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=mvZoLIZO27qqFaNJ1GidFQhwx4RcuSOmf3yDf81xQFM=; b=I3855JSr7MXOCto1Mou/Oz2e7BmTH2bGCSG8fIPpGMlO7x6U3WufWQ4T7/hNNUlyLH MRRzRpgJJ9VARczt6GMaLRT5K2IjRZ8iytHWPacqw71UjYgEqzIlhXmf/k8IMq7wKDsL fVmplHBnL8ZK7hOs2dmayVozrRWFQLjUW9zY+E27hbw/oLQ7U8xBKS76+I32duusG1W3 0J2jwTfQkwrujCjGzl9Ui4ZfptKIJGpOagyL2WNQQZtkOybmiAj2rtt70FaULZMngycs xbCRZAUJgXjqKRjaESEJmqi0RFMphdjDqD6QlR0Vy4x84gHNDmRnZSe9UJV/xejN/v8F 03fw== MIME-Version: 1.0 From: "H.J. Lu" Date: Fri, 13 Jul 2018 20:49:00 -0000 Message-ID: Subject: V3: [PATCH 01/24] x86: Rename __glibc_reserved1 to feature_1 in tcbhead_t [BZ #22563] To: "Carlos O'Donell" Cc: GNU C Library Content-Type: multipart/mixed; boundary="000000000000062bf80570e79e20" X-SW-Source: 2018-07/txt/msg00402.txt.bz2 --000000000000062bf80570e79e20 Content-Type: text/plain; charset="UTF-8" Content-length: 3113 On Fri, Jul 13, 2018 at 11:51 AM, Carlos O'Donell wrote: > On 07/13/2018 09:19 AM, H.J. Lu wrote: >> On Wed, Jun 13, 2018 at 08:31:44AM -0700, H.J. Lu wrote: >>> This will be used by CET run-time control. >>> >>> [BZ #22563] >>> * nptl/pthread_create.c (__pthread_create_2_1): Use >>> THREAD_COPY_ADDITONAL_INFO to copy additonal info if defined. >>> * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. >>> * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): >>> Likewise. >>> * sysdeps/i386/nptl/tls.h (tcbhead_t): Rename __glibc_reserved1 >>> to feature_1. >>> * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise. >>> * sysdeps/unix/sysv/linux/x86/pthreaddef.h: New file. >> >> Here is the updated patch to add feature_1 to tcbhead_t and >> introduce macros for CET enabling. OK for master? > > Fix the typo-prone macro API and post a v3 please. > > Thank you. > >> >> H.J. >> ---- >> feature_1 has X86_FEATURE_1_IBT and X86_FEATURE_1_SHSTK bits for CET >> run-time control. >> >> CET_ENABLED, IBT_ENABLED and SHSTK_ENABLED are defined to 1 or 0 to >> indicate that if CET, IBT and SHSTK are enabled. > > OK. > >> >> [BZ #22563] >> * nptl/pthread_create.c (__pthread_create_2_1): Use >> THREAD_COPY_ADDITONAL_INFO to copy additonal info if defined. >> * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. >> * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): >> Likewise. >> * sysdeps/i386/nptl/tls.h (tcbhead_t): Rename __glibc_reserved1 >> to feature_1. >> * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise. >> * sysdeps/unix/sysv/linux/x86/pthreaddef.h: New file. >> * sysdeps/x86/sysdep.h (X86_FEATURE_1_IBT): New. >> (X86_FEATURE_1_SHSTK): Likewise. >> (CET_ENABLED): Likewise. >> (IBT_ENABLED): Likewise. >> (SHSTK_ENABLED): Likewise. >> --- >> nptl/pthread_create.c | 5 +++++ >> sysdeps/i386/nptl/tcb-offsets.sym | 1 + >> sysdeps/i386/nptl/tls.h | 5 ++++- >> sysdeps/unix/sysv/linux/x86/pthreaddef.h | 24 +++++++++++++++++++++ >> sysdeps/x86/sysdep.h | 27 ++++++++++++++++++++++++ >> sysdeps/x86_64/nptl/tcb-offsets.sym | 1 + >> sysdeps/x86_64/nptl/tls.h | 5 ++++- >> 7 files changed, 66 insertions(+), 2 deletions(-) >> create mode 100644 sysdeps/unix/sysv/linux/x86/pthreaddef.h >> >> diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c >> index 92c945b12b..16998f4bbd 100644 >> --- a/nptl/pthread_create.c >> +++ b/nptl/pthread_create.c >> @@ -712,6 +712,11 @@ __pthread_create_2_1 (pthread_t *newthread, const pthread_attr_t *attr, >> THREAD_COPY_POINTER_GUARD (pd); >> #endif >> >> + /* Copy additonal info. */ >> +#ifdef THREAD_COPY_ADDITONAL_INFO >> + THREAD_COPY_ADDITONAL_INFO (pd); >> +#endif > > This is a typo-prone macro API. > > Please find a way to define this unconditionally. > Here is the V3 patch. I added to set up thread-local data. OK for master? Thanks. -- H.J. --000000000000062bf80570e79e20 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-x86-Rename-__glibc_reserved1-to-feature_1-in-tcbhead.patch" Content-Disposition: attachment; filename="0001-x86-Rename-__glibc_reserved1-to-feature_1-in-tcbhead.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jjkgfr900 Content-length: 10537 RnJvbSA2MDBmYjMzMWZlZDVhZWZjNDBiZDNiOTVmNzUzYWI0NThiMWI3OTZi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IFRodSwgNyBEZWMgMjAxNyAwNTo0 NzoyMSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjRdIHg4NjogUmVuYW1l IF9fZ2xpYmNfcmVzZXJ2ZWQxIHRvIGZlYXR1cmVfMSBpbiB0Y2JoZWFkX3QK IFtCWiAjMjI1NjNdCgpmZWF0dXJlXzEgaGFzIFg4Nl9GRUFUVVJFXzFfSUJU IGFuZCBYODZfRkVBVFVSRV8xX1NIU1RLIGJpdHMgZm9yIENFVApydW4tdGlt ZSBjb250cm9sLgoKQ0VUX0VOQUJMRUQsIElCVF9FTkFCTEVEIGFuZCBTSFNU S19FTkFCTEVEIGFyZSBkZWZpbmVkIHRvIDEgb3IgMCB0bwppbmRpY2F0ZSB0 aGF0IGlmIENFVCwgSUJUIGFuZCBTSFNUSyBhcmUgZW5hYmxlZC4KCjx0bHMt c2V0dXAuaD4gaXMgYWRkZWQgdG8gc2V0IHVwIHRocmVhZC1sb2NhbCBkYXRh LgoKCVtCWiAjMjI1NjNdCgkqIG5wdGwvcHRocmVhZF9jcmVhdGUuYzogSW5j bHVkZSA8dGxzLXNldHVwLmg+LgoJKF9fcHRocmVhZF9jcmVhdGVfMl8xKTog Q2FsbCB0bHNfc2V0dXBfdGNiaGVhZC4KCSogc3lzZGVwcy9nZW5lcmljL3Rs cy1zZXR1cC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy94ODYvbnB0bC90bHMt c2V0dXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9ucHRsL3RjYi1v ZmZzZXRzLnN5bSAoRkVBVFVSRV8xX09GRlNFVCk6IE5ldy4KCSogc3lzZGVw cy94ODZfNjQvbnB0bC90Y2Itb2Zmc2V0cy5zeW0gKEZFQVRVUkVfMV9PRkZT RVQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9ucHRsL3Rscy5oICh0 Y2JoZWFkX3QpOiBSZW5hbWUgX19nbGliY19yZXNlcnZlZDEKCXRvIGZlYXR1 cmVfMS4KCSogc3lzZGVwcy94ODZfNjQvbnB0bC90bHMuaCAodGNiaGVhZF90 KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2L3N5c2RlcC5oIChYODZfRkVB VFVSRV8xX0lCVCk6IE5ldy4KCShYODZfRkVBVFVSRV8xX1NIU1RLKTogTGlr ZXdpc2UuCgkoQ0VUX0VOQUJMRUQpOiBMaWtld2lzZS4KCShJQlRfRU5BQkxF RCk6IExpa2V3aXNlLgoJKFNIU1RLX0VOQUJMRUQpOiBMaWtld2lzZS4KLS0t CiBucHRsL3B0aHJlYWRfY3JlYXRlLmMgICAgICAgICAgICAgICB8ICA0ICsr KysKIHN5c2RlcHMvZ2VuZXJpYy90bHMtc2V0dXAuaCAgICAgICAgIHwgMjIg KysrKysrKysrKysrKysrKysrKysrKwogc3lzZGVwcy9pMzg2L25wdGwvdGNi LW9mZnNldHMuc3ltICAgfCAgMSArCiBzeXNkZXBzL2kzODYvbnB0bC90bHMu aCAgICAgICAgICAgICB8ICA1ICsrKystCiBzeXNkZXBzL3g4Ni9ucHRsL3Rs cy1zZXR1cC5oICAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKysrKysr CiBzeXNkZXBzL3g4Ni9zeXNkZXAuaCAgICAgICAgICAgICAgICB8IDI3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKwogc3lzZGVwcy94ODZfNjQvbnB0 bC90Y2Itb2Zmc2V0cy5zeW0gfCAgMSArCiBzeXNkZXBzL3g4Nl82NC9ucHRs L3Rscy5oICAgICAgICAgICB8ICA1ICsrKystCiA4IGZpbGVzIGNoYW5nZWQs IDg2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3lzZGVwcy9nZW5lcmljL3Rscy1zZXR1cC5oCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3lzZGVwcy94ODYvbnB0bC90bHMtc2V0dXAuaAoKZGlm ZiAtLWdpdCBhL25wdGwvcHRocmVhZF9jcmVhdGUuYyBiL25wdGwvcHRocmVh ZF9jcmVhdGUuYwppbmRleCA5MmM5NDViMTJiLi41ZjVhMDA3YjdmIDEwMDY0 NAotLS0gYS9ucHRsL3B0aHJlYWRfY3JlYXRlLmMKKysrIGIvbnB0bC9wdGhy ZWFkX2NyZWF0ZS5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8ZXhp dC10aHJlYWQuaD4KICNpbmNsdWRlIDxkZWZhdWx0LXNjaGVkLmg+CiAjaW5j bHVkZSA8ZnV0ZXgtaW50ZXJuYWwuaD4KKyNpbmNsdWRlIDx0bHMtc2V0dXAu aD4KICNpbmNsdWRlICJsaWJpb1AuaCIKIAogI2luY2x1ZGUgPHNobGliLWNv bXBhdC5oPgpAQCAtNzEyLDYgKzcxMyw5IEBAIF9fcHRocmVhZF9jcmVhdGVf Ml8xIChwdGhyZWFkX3QgKm5ld3RocmVhZCwgY29uc3QgcHRocmVhZF9hdHRy X3QgKmF0dHIsCiAgIFRIUkVBRF9DT1BZX1BPSU5URVJfR1VBUkQgKHBkKTsK ICNlbmRpZgogCisgIC8qIFNldHVwIHRjYmhlYWQuICAqLworICB0bHNfc2V0 dXBfdGNiaGVhZCAocGQpOworCiAgIC8qIFZlcmlmeSB0aGUgc3lzaW5mbyBi aXRzIHdlcmUgY29waWVkIGluIGFsbG9jYXRlX3N0YWNrIGlmIG5lZWRlZC4g ICovCiAjaWZkZWYgTkVFRF9ETF9TWVNJTkZPCiAgIENIRUNLX1RIUkVBRF9T WVNJTkZPIChwZCk7CmRpZmYgLS1naXQgYS9zeXNkZXBzL2dlbmVyaWMvdGxz LXNldHVwLmggYi9zeXNkZXBzL2dlbmVyaWMvdGxzLXNldHVwLmgKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMzYzODliOWJjZQot LS0gL2Rldi9udWxsCisrKyBiL3N5c2RlcHMvZ2VuZXJpYy90bHMtc2V0dXAu aApAQCAtMCwwICsxLDIyIEBACisvKiBEZWZpbml0aW9ucyB0byBzZXQgdXAg dGhyZWFkLWxvY2FsIGRhdGEuICBHZW5lcmljIHZlcnNpb24uCisgICBDb3B5 cmlnaHQgKEMpIDIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4K KworICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj CisgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorCisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICBMZXNzZXIg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisg ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFsb25nIHdpdGgg dGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCisgICA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCitzdGF0aWMgaW5saW5lIHZv aWQgX19hdHRyaWJ1dGVfXyAoKGFsd2F5c19pbmxpbmUpKQordGxzX3NldHVw X3RjYmhlYWQgKHN0cnVjdCBwdGhyZWFkICpwZCk7Cit7Cit9CmRpZmYgLS1n aXQgYS9zeXNkZXBzL2kzODYvbnB0bC90Y2Itb2Zmc2V0cy5zeW0gYi9zeXNk ZXBzL2kzODYvbnB0bC90Y2Itb2Zmc2V0cy5zeW0KaW5kZXggN2Q3ZmU1ZTcx Yy4uZmJhYzI0MWM0NSAxMDA2NDQKLS0tIGEvc3lzZGVwcy9pMzg2L25wdGwv dGNiLW9mZnNldHMuc3ltCisrKyBiL3N5c2RlcHMvaTM4Ni9ucHRsL3RjYi1v ZmZzZXRzLnN5bQpAQCAtMTIsMyArMTIsNCBAQCBDTEVBTlVQCQkJb2Zmc2V0 b2YgKHN0cnVjdCBwdGhyZWFkLCBjbGVhbnVwKQogQ0xFQU5VUF9QUkVWCQlv ZmZzZXRvZiAoc3RydWN0IF9wdGhyZWFkX2NsZWFudXBfYnVmZmVyLCBfX3By ZXYpCiBNVVRFWF9GVVRFWAkJb2Zmc2V0b2YgKHB0aHJlYWRfbXV0ZXhfdCwg X19kYXRhLl9fbG9jaykKIFBPSU5URVJfR1VBUkQJCW9mZnNldG9mICh0Y2Jo ZWFkX3QsIHBvaW50ZXJfZ3VhcmQpCitGRUFUVVJFXzFfT0ZGU0VUCW9mZnNl dG9mICh0Y2JoZWFkX3QsIGZlYXR1cmVfMSkKZGlmZiAtLWdpdCBhL3N5c2Rl cHMvaTM4Ni9ucHRsL3Rscy5oIGIvc3lzZGVwcy9pMzg2L25wdGwvdGxzLmgK aW5kZXggYWZiNzFjZTQzMS4uMjFlMjNjZDgwOSAxMDA2NDQKLS0tIGEvc3lz ZGVwcy9pMzg2L25wdGwvdGxzLmgKKysrIGIvc3lzZGVwcy9pMzg2L25wdGwv dGxzLmgKQEAgLTQxLDcgKzQxLDEwIEBAIHR5cGVkZWYgc3RydWN0CiAgIHVp bnRwdHJfdCBzdGFja19ndWFyZDsKICAgdWludHB0cl90IHBvaW50ZXJfZ3Vh cmQ7CiAgIGludCBnc2NvcGVfZmxhZzsKLSAgaW50IF9fZ2xpYmNfcmVzZXJ2 ZWQxOworICAvKiBCaXQgMDogWDg2X0ZFQVRVUkVfMV9JQlQuCisgICAgIEJp dCAxOiBYODZfRkVBVFVSRV8xX1NIU1RLLgorICAgKi8KKyAgdW5zaWduZWQg aW50IGZlYXR1cmVfMTsKICAgLyogUmVzZXJ2YXRpb24gb2Ygc29tZSB2YWx1 ZXMgZm9yIHRoZSBUTSBBQkkuICAqLwogICB2b2lkICpfX3ByaXZhdGVfdG1b M107CiAgIC8qIEdDQyBzcGxpdCBzdGFjayBzdXBwb3J0LiAgKi8KZGlmZiAt LWdpdCBhL3N5c2RlcHMveDg2L25wdGwvdGxzLXNldHVwLmggYi9zeXNkZXBz L3g4Ni9ucHRsL3Rscy1zZXR1cC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLmVmNWE0ZGY3OGMKLS0tIC9kZXYvbnVsbAorKysg Yi9zeXNkZXBzL3g4Ni9ucHRsL3Rscy1zZXR1cC5oCkBAIC0wLDAgKzEsMjMg QEAKKy8qIERlZmluaXRpb25zIHRvIHNldCB1cCB0aHJlYWQtbG9jYWwgZGF0 YS4gIHg4NiB2ZXJzaW9uLgorICAgQ29weXJpZ2h0IChDKSAyMDE4IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgVGhpcyBmaWxlIGlzIHBh cnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCisKKyAgIFRoZSBHTlUgQyBMaWJy YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgorICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy CisgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhlIEdOVSBDIExp YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlIEdOVQorICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp YworICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBp ZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LiAgKi8KKworc3RhdGljIGlubGluZSB2b2lkIF9fYXR0cmlidXRlX18gKChh bHdheXNfaW5saW5lKSkKK3Rsc19zZXR1cF90Y2JoZWFkIChzdHJ1Y3QgcHRo cmVhZCAqcGQpCit7CisgIHBkLT5oZWFkZXIuZmVhdHVyZV8xID0gVEhSRUFE X0dFVE1FTSAoVEhSRUFEX1NFTEYsIGhlYWRlci5mZWF0dXJlXzEpOworfQpk aWZmIC0tZ2l0IGEvc3lzZGVwcy94ODYvc3lzZGVwLmggYi9zeXNkZXBzL3g4 Ni9zeXNkZXAuaAppbmRleCBhZmNiN2NmZDc2Li45NzY1NjZhYTM3IDEwMDY0 NAotLS0gYS9zeXNkZXBzL3g4Ni9zeXNkZXAuaAorKysgYi9zeXNkZXBzL3g4 Ni9zeXNkZXAuaApAQCAtMjEsNiArMjEsMzMgQEAKIAogI2luY2x1ZGUgPHN5 c2RlcHMvZ2VuZXJpYy9zeXNkZXAuaD4KIAorLyogX19DRVRfXyBpcyBkZWZp bmVkIGJ5IEdDQyB3aXRoIENvbnRyb2wtRmxvdyBQcm90ZWN0aW9uIHZhbHVl czoKKworZW51bSBjZl9wcm90ZWN0aW9uX2xldmVsCit7CisgIENGX05PTkUg PSAwLAorICBDRl9CUkFOQ0ggPSAxIDw8IDAsCisgIENGX1JFVFVSTiA9IDEg PDwgMSwKKyAgQ0ZfRlVMTCA9IENGX0JSQU5DSCB8IENGX1JFVFVSTiwKKyAg Q0ZfU0VUID0gMSA8PCAyCit9OworKi8KKworLyogU2V0IGlmIENGX0JSQU5D SCAoSUJUKSBpcyBlbmFibGVkLiAgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVf MV9JQlQJKDFVIDw8IDApCisvKiBTZXQgaWYgQ0ZfUkVUVVJOIChTSFNUSykg aXMgZW5hYmxlZC4gICovCisjZGVmaW5lIFg4Nl9GRUFUVVJFXzFfU0hTVEsJ KDFVIDw8IDEpCisKKyNpZmRlZiBfX0NFVF9fCisjIGRlZmluZSBDRVRfRU5B QkxFRAkxCisjIGRlZmluZSBJQlRfRU5BQkxFRAkoX19DRVRfXyAmIFg4Nl9G RUFUVVJFXzFfSUJUKQorIyBkZWZpbmUgU0hTVEtfRU5BQkxFRAkoX19DRVRf XyAmIFg4Nl9GRUFUVVJFXzFfU0hTVEspCisjZWxzZQorIyBkZWZpbmUgQ0VU X0VOQUJMRUQJMAorIyBkZWZpbmUgSUJUX0VOQUJMRUQJMAorIyBkZWZpbmUg U0hTVEtfRU5BQkxFRAkwCisjZW5kaWYKKwogI2lmZGVmCV9fQVNTRU1CTEVS X18KIAogLyogU3ludGFjdGljIGRldGFpbHMgb2YgYXNzZW1ibGVyLiAgKi8K ZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L25wdGwvdGNiLW9mZnNldHMu c3ltIGIvc3lzZGVwcy94ODZfNjQvbnB0bC90Y2Itb2Zmc2V0cy5zeW0KaW5k ZXggYmU2MzQwNGExNi4uMzg3NjIxZTg4YyAxMDA2NDQKLS0tIGEvc3lzZGVw cy94ODZfNjQvbnB0bC90Y2Itb2Zmc2V0cy5zeW0KKysrIGIvc3lzZGVwcy94 ODZfNjQvbnB0bC90Y2Itb2Zmc2V0cy5zeW0KQEAgLTEyLDYgKzEyLDcgQEAg TVVURVhfRlVURVgJCW9mZnNldG9mIChwdGhyZWFkX211dGV4X3QsIF9fZGF0 YS5fX2xvY2spCiBNVUxUSVBMRV9USFJFQURTX09GRlNFVAlvZmZzZXRvZiAo dGNiaGVhZF90LCBtdWx0aXBsZV90aHJlYWRzKQogUE9JTlRFUl9HVUFSRAkJ b2Zmc2V0b2YgKHRjYmhlYWRfdCwgcG9pbnRlcl9ndWFyZCkKIFZHRVRDUFVf Q0FDSEVfT0ZGU0VUCW9mZnNldG9mICh0Y2JoZWFkX3QsIHZnZXRjcHVfY2Fj aGUpCitGRUFUVVJFXzFfT0ZGU0VUCW9mZnNldG9mICh0Y2JoZWFkX3QsIGZl YXR1cmVfMSkKIAogLS0gTm90IHN0cmljdGx5IG9mZnNldHMsIGJ1dCB0aGVz ZSB2YWx1ZXMgYXJlIGFsc28gdXNlZCBpbiB0aGUgVENCLgogVENCX0NBTkNF TFNUQVRFX0JJVE1BU0sJIENBTkNFTFNUQVRFX0JJVE1BU0sKZGlmZiAtLWdp dCBhL3N5c2RlcHMveDg2XzY0L25wdGwvdGxzLmggYi9zeXNkZXBzL3g4Nl82 NC9ucHRsL3Rscy5oCmluZGV4IDY1YzAwNTFkY2YuLmYwNDJhMDI1MGEgMTAw NjQ0Ci0tLSBhL3N5c2RlcHMveDg2XzY0L25wdGwvdGxzLmgKKysrIGIvc3lz ZGVwcy94ODZfNjQvbnB0bC90bHMuaApAQCAtNTEsNyArNTEsMTAgQEAgdHlw ZWRlZiBzdHJ1Y3QKICAgdWludHB0cl90IHN0YWNrX2d1YXJkOwogICB1aW50 cHRyX3QgcG9pbnRlcl9ndWFyZDsKICAgdW5zaWduZWQgbG9uZyBpbnQgdmdl dGNwdV9jYWNoZVsyXTsKLSAgaW50IF9fZ2xpYmNfcmVzZXJ2ZWQxOworICAv KiBCaXQgMDogWDg2X0ZFQVRVUkVfMV9JQlQuCisgICAgIEJpdCAxOiBYODZf RkVBVFVSRV8xX1NIU1RLLgorICAgKi8KKyAgdW5zaWduZWQgaW50IGZlYXR1 cmVfMTsKICAgaW50IF9fZ2xpYmNfdW51c2VkMTsKICAgLyogUmVzZXJ2YXRp b24gb2Ygc29tZSB2YWx1ZXMgZm9yIHRoZSBUTSBBQkkuICAqLwogICB2b2lk ICpfX3ByaXZhdGVfdG1bNF07Ci0tIAoyLjE3LjEKCg== --000000000000062bf80570e79e20--