From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20875 invoked by alias); 23 Jun 2017 13:58:51 -0000 Mailing-List: contact newlib-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-owner@sourceware.org Received: (qmail 20862 invoked by uid 89); 23 Jun 2017 13:58:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=incidental, INC, EVENT, liable X-HELO: mail-oi0-f47.google.com Received: from mail-oi0-f47.google.com (HELO mail-oi0-f47.google.com) (209.85.218.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 23 Jun 2017 13:58:47 +0000 Received: by mail-oi0-f47.google.com with SMTP id c189so25860795oia.2 for ; Fri, 23 Jun 2017 06:58:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=EX8IUGmhRcddJ5nktANaYGieEIWENQga9TElFXie2X8=; b=R88whAhohqJedOG80zdqsVTY/RkmYJe5GVxK7ueFV16BAIWdcl3HJnPpOMBLb7Pkdt 1v5qfygqwrVYxmd4Otnq59pP0MPDVAPqT0chNnHgc8acU+UuSqza+kvazoKdD5oC8jZV 3et+ERx0if0XhlE8I34NFikqkPQ7Z8Mv9Keb6dCcQPccJwcYuF8N7Kq4pqCK1IAzblfD N6Wou6Cf1BGvcticyAvMgXhfrbMd3VSKfRHYL2Is6/cfxpWsz7sfx3v+WDsiW+cStLZP Xd2BEkqiL72R51xV/fogXW2/wod/vWw1Ny75HWEac2mRo941QO9cCCk7jW9az7yEee8k UZXQ== X-Gm-Message-State: AKS2vOxMU4585GXbjHz2kga15ox7aw2zC06BDd8hEnX5TUf/m2YzGNBB 76V5b7Gg3kWKaqXHoI20m6UU+OfwZw== X-Received: by 10.202.229.141 with SMTP id c135mr4308071oih.74.1498226326008; Fri, 23 Jun 2017 06:58:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.4.118 with HTTP; Fri, 23 Jun 2017 06:58:45 -0700 (PDT) From: Aditya Upadhyay Date: Fri, 23 Jun 2017 13:58:00 -0000 Message-ID: Subject: Importing cacoshl.c and its dependent methods from NetBSD To: newlib@sourceware.org Content-Type: multipart/mixed; boundary="001a11407440f49b3e0552a0ff85" X-IsSubscribed: yes X-SW-Source: 2017/txt/msg00456.txt.bz2 --001a11407440f49b3e0552a0ff85 Content-Type: text/plain; charset="UTF-8" Content-length: 205 Hello Developers, I have modified the csqrtl.c and including stdbool.h. I am requesting you to please review the patch for cacoshl.c and suggest me needed modification. Thanks & Regards, Aditya Upadhyay --001a11407440f49b3e0552a0ff85 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Import-cacoshl.c-and-its-dependent-methods-from-NetB.patch" Content-Disposition: attachment; filename="0001-Import-cacoshl.c-and-its-dependent-methods-from-NetB.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j49x9m0x0 Content-length: 17194 RnJvbSBkNTBmMjNiMDk0ZjZjZDJmNjRkOTIzYzkyNjdkZWUwN2Q4ZTE3NTI3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVXBhZGh5 YXkgPGFhZGl0MDQwMkBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjMgSnVuIDIw MTcgMTk6MjU6NDMgKzA1MzAKU3ViamVjdDogW1BBVENIXSBJbXBvcnQgY2Fj b3NobC5jIGFuZCBpdHMgZGVwZW5kZW50IG1ldGhvZHMgZnJvbSBOZXRCU0Qu CgotLS0KIG5ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0gfCAgIDIg Ky0KIG5ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuaW4gfCAgMjYgKysr KysrKystLQogbmV3bGliL2xpYm0vY29tcGxleC9jYWNvc2hsLmMgICB8ICA0 NSArKysrKysrKysrKysrKysrCiBuZXdsaWIvbGlibS9jb21wbGV4L2Nsb2ds LmMgICAgIHwgIDQ2ICsrKysrKysrKysrKysrKysrCiBuZXdsaWIvbGlibS9j b21wbGV4L2NzcXJ0bC5jICAgIHwgMTEyICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMjI3IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbmV3bGliL2xpYm0vY29tcGxleC9jYWNvc2hsLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBuZXdsaWIvbGlibS9jb21wbGV4L2Nsb2dsLmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBuZXdsaWIvbGlibS9jb21wbGV4L2NzcXJ0bC5jCgpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9NYWtlZmlsZS5hbSBiL25l d2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0KaW5kZXggNDAyMDUzZi4u OWQwNGE1YyAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYm0vY29tcGxleC9NYWtl ZmlsZS5hbQorKysgYi9uZXdsaWIvbGlibS9jb21wbGV4L01ha2VmaWxlLmFt CkBAIC0xMCw3ICsxMCw3IEBAIHNyYyA9IGNhYnMuYyBjYWNvcy5jIGNhY29z aC5jIGNhcmcuYyBjYXNpbi5jIGNhc2luaC5jIFwKICAgICAgIGNwb3cuYyBj cHJvai5jICBjcmVhbC5jICBcCiAgICAgICBjc2luLmMgY3NpbmguYyBjc3Fy dC5jIGN0YW4uYyBjdGFuaC5jCiAKLWxzcmMgPSBjYWJzbC5jIGNyZWFsbC5j IGNpbWFnbC5jIGNjb3NobC5jCitsc3JjID0gY2Fic2wuYyBjcmVhbGwuYyBj aW1hZ2wuYyBjY29zaGwuYyBjYWNvc2hsLmMgY3NxcnRsLmMgY2xvZ2wuYwog CiBmc3JjID0JY2Fic2YuYyBjYXNpbmYuYyBjY29zZi5jIGNpbWFnZi5jIGNw cm9qZi5jICBcCiAgICAgICAgIGNzcXJ0Zi5jIGNhY29zZi5jIGNhc2luaGYu YyBjY29zaGYuYyBjbG9nZi5jIGNsb2cxMGYuYyBcCmRpZmYgLS1naXQgYS9u ZXdsaWIvbGlibS9jb21wbGV4L01ha2VmaWxlLmluIGIvbmV3bGliL2xpYm0v Y29tcGxleC9NYWtlZmlsZS5pbgppbmRleCA1NWM3NGExLi41ODE0MTlmIDEw MDY0NAotLS0gYS9uZXdsaWIvbGlibS9jb21wbGV4L01ha2VmaWxlLmluCisr KyBiL25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuaW4KQEAgLTk3LDcg Kzk3LDggQEAgYW1fX29iamVjdHNfMiA9IGxpYl9hLWNhYnNmLiQoT0JKRVhU KSBsaWJfYS1jYXNpbmYuJChPQkpFWFQpIFwKIAlsaWJfYS1jYXRhbmhmLiQo T0JKRVhUKSBsaWJfYS1jZXhwZi4kKE9CSkVYVCkgXAogCWxpYl9hLWNwb3dm LiQoT0JKRVhUKSBsaWJfYS1jc2luaGYuJChPQkpFWFQpCiBhbV9fb2JqZWN0 c18zID0gbGliX2EtY2Fic2wuJChPQkpFWFQpIGxpYl9hLWNyZWFsbC4kKE9C SkVYVCkgXAotCWxpYl9hLWNpbWFnbC4kKE9CSkVYVCkgbGliX2EtY2Nvc2hs LiQoT0JKRVhUKQorCWxpYl9hLWNpbWFnbC4kKE9CSkVYVCkgbGliX2EtY2Nv c2hsLiQoT0JKRVhUKSBsaWJfYS1jYWNvc2hsLiQoT0JKRVhUKSBcCisgICAg ICAgIGxpYl9hLWNsb2dsLiQoT0JKRVhUKSBsaWJfYS1jc3FydGwuJChPQkpF WFQpCiBAVVNFX0xJQlRPT0xfRkFMU0VAYW1fbGliX2FfT0JKRUNUUyA9ICQo YW1fX29iamVjdHNfMSkgXAogQFVTRV9MSUJUT09MX0ZBTFNFQAkkKGFtX19v YmplY3RzXzIpICQoYW1fX29iamVjdHNfMykKIGxpYl9hX09CSkVDVFMgPSAk KGFtX2xpYl9hX09CSkVDVFMpCkBAIC0xMTIsNyArMTEzLDggQEAgYW1fX29i amVjdHNfNSA9IGNhYnNmLmxvIGNhc2luZi5sbyBjY29zZi5sbyBjaW1hZ2Yu bG8gY3Byb2pmLmxvIFwKIAljcmVhbGYubG8gY3RhbmYubG8gY2Fjb3NoZi5s byBjYXRhbmYubG8gY2VwaGVzX3N1YnJmLmxvIFwKIAljb25qZi5sbyBjc2lu Zi5sbyBjdGFuaGYubG8gY2FyZ2YubG8gY2F0YW5oZi5sbyBjZXhwZi5sbyBc CiAJY3Bvd2YubG8gY3NpbmhmLmxvCi1hbV9fb2JqZWN0c182ID0gY2Fic2wu bG8gY3JlYWxsLmxvIGNpbWFnbC5sbyBjY29zaGwubG8KK2FtX19vYmplY3Rz XzYgPSBjYWJzbC5sbyBjcmVhbGwubG8gY2ltYWdsLmxvIGNjb3NobC5sbyBj YWNvc2hsLmxvIFwKKyAgICAgICAgY2xvZ2wubG8gY3NxcnRsLmxvCiBAVVNF X0xJQlRPT0xfVFJVRUBhbV9saWJjb21wbGV4X2xhX09CSkVDVFMgPSAkKGFt X19vYmplY3RzXzQpIFwKIEBVU0VfTElCVE9PTF9UUlVFQAkkKGFtX19vYmpl Y3RzXzUpICQoYW1fX29iamVjdHNfNikKIGxpYmNvbXBsZXhfbGFfT0JKRUNU UyA9ICQoYW1fbGliY29tcGxleF9sYV9PQkpFQ1RTKQpAQCAtMjc2LDcgKzI3 OCw3IEBAIHNyYyA9IGNhYnMuYyBjYWNvcy5jIGNhY29zaC5jIGNhcmcuYyBj YXNpbi5jIGNhc2luaC5jIFwKICAgICAgIGNwb3cuYyBjcHJvai5jICBjcmVh bC5jICBcCiAgICAgICBjc2luLmMgY3NpbmguYyBjc3FydC5jIGN0YW4uYyBj dGFuaC5jCiAKLWxzcmMgPSBjYWJzbC5jIGNyZWFsbC5jIGNpbWFnbC5jIGNj b3NobC5jCitsc3JjID0gY2Fic2wuYyBjcmVhbGwuYyBjaW1hZ2wuYyBjY29z aGwuYyBjYWNvc2hsLmMgY2xvZ2wuYyBjc3FydGwuYwogZnNyYyA9IGNhYnNm LmMgY2FzaW5mLmMgY2Nvc2YuYyBjaW1hZ2YuYyBjcHJvamYuYyAgXAogICAg ICAgICBjc3FydGYuYyBjYWNvc2YuYyBjYXNpbmhmLmMgY2Nvc2hmLmMgY2xv Z2YuYyBjbG9nMTBmLmMgXAogICAgICAgICBjcmVhbGYuYyBjdGFuZi5jIGNh Y29zaGYuYyBjYXRhbmYuYyAgIFwKQEAgLTY4OSw2ICs2OTEsMjQgQEAgbGli X2EtY2Nvc2hsLm86IGNjb3NobC5jCiBsaWJfYS1jY29zaGwub2JqOiBjY29z aGwuYwogCSQoQ0MpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElO Q0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGxpYl9hX0NG TEFHUykgJChDRkxBR1MpIC1jIC1vIGxpYl9hLWNjb3NobC5vYmogYGlmIHRl c3QgLWYgJ2Njb3NobC5jJzsgdGhlbiAkKENZR1BBVEhfVykgJ2Njb3NobC5j JzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9jY29zaGwuYyc7IGZp YAogCitsaWJfYS1jYWNvc2hsLm86IGNhY29zaGwuYworCSQoQ0MpICQoREVG UykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZM QUdTKSAkKENQUEZMQUdTKSAkKGxpYl9hX0NGTEFHUykgJChDRkxBR1MpIC1j IC1vIGxpYl9hLWNhY29zaGwubyBgdGVzdCAtZiAnY2Fjb3NobC5jJyB8fCBl Y2hvICckKHNyY2RpcikvJ2BjYWNvc2hsLmMKKworbGliX2EtY2Fjb3NobC5v Ymo6IGNhY29zaGwuYworCSQoQ0MpICQoREVGUykgJChERUZBVUxUX0lOQ0xV REVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAk KGxpYl9hX0NGTEFHUykgJChDRkxBR1MpIC1jIC1vIGxpYl9hLWNhY29zaGwu b2JqIGBpZiB0ZXN0IC1mICdjYWNvc2hsLmMnOyB0aGVuICQoQ1lHUEFUSF9X KSAnY2Fjb3NobC5jJzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9j YWNvc2hsLmMnOyBmaWAKKworbGliX2EtY2xvZ2wubzogY2xvZ2wuYworCSQo Q0MpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAk KEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGxpYl9hX0NGTEFHUykgJChD RkxBR1MpIC1jIC1vIGxpYl9hLWNsb2dsLm8gYHRlc3QgLWYgJ2Nsb2dsLmMn IHx8IGVjaG8gJyQoc3JjZGlyKS8nYGNsb2dsLmMKKworbGliX2EtY2xvZ2wu b2JqOiBjbG9nbC5jCisJJChDQykgJChERUZTKSAkKERFRkFVTFRfSU5DTFVE RVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQo bGliX2FfQ0ZMQUdTKSAkKENGTEFHUykgLWMgLW8gbGliX2EtY2xvZ2wub2Jq IGBpZiB0ZXN0IC1mICdjbG9nbC5jJzsgdGhlbiAkKENZR1BBVEhfVykgJ2Ns b2dsLmMnOyBlbHNlICQoQ1lHUEFUSF9XKSAnJChzcmNkaXIpL2Nsb2dsLmMn OyBmaWAKKworbGliX2EtY3NxcnRsLm86IGNzcXJ0bC5jCisJJChDQykgJChE RUZTKSAkKERFRkFVTFRfSU5DTFVERVMpICQoSU5DTFVERVMpICQoQU1fQ1BQ RkxBR1MpICQoQ1BQRkxBR1MpICQobGliX2FfQ0ZMQUdTKSAkKENGTEFHUykg LWMgLW8gbGliX2EtY3NxcnRsLm8gYHRlc3QgLWYgJ2NzcXJ0bC5jJyB8fCBl Y2hvICckKHNyY2RpcikvJ2Bjc3FydGwuYworCitsaWJfYS1jc3FydGwub2Jq OiBjc3FydGwuYworCSQoQ0MpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVT KSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGxp Yl9hX0NGTEFHUykgJChDRkxBR1MpIC1jIC1vIGxpYl9hLWNzcXJ0bC5vYmog YGlmIHRlc3QgLWYgJ2NzcXJ0bC5jJzsgdGhlbiAkKENZR1BBVEhfVykgJ2Nz cXJ0bC5jJzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9jc3FydGwu Yyc7IGZpYAorCiBtb3N0bHljbGVhbi1saWJ0b29sOgogCS1ybSAtZiAqLmxv CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5j IGIvbmV3bGliL2xpYm0vY29tcGxleC9jYWNvc2hsLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU0ZTAwNgotLS0gL2Rldi9udWxs CisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jCkBAIC0wLDAg KzEsNDUgQEAKKy8qICROZXRCU0Q6IGNhY29zaGwuYyx2IDEuMSAyMDE0LzEw LzEwIDAwOjQ4OjE4IGNocmlzdG9zIEV4cCAkICovCisKKy8qLQorICogQ29w eXJpZ2h0IChjKSAyMDA3IFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgor ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMg ZGVyaXZlZCBmcm9tIHNvZnR3YXJlIHdyaXR0ZW4gYnkgU3RlcGhlbiBMLiBN b3NoaWVyLgorICogSXQgaXMgcmVkaXN0cmlidXRlZCBieSB0aGUgTmV0QlNE IEZvdW5kYXRpb24gYnkgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLgorICoK KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg SVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFO RCBDT05UUklCVVRPUlMKKyAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN SVRFRAorICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg Rk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklM SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxjb21wbGV4 Lmg+CisKK2xvbmcgZG91YmxlIGNvbXBsZXgKK2NhY29zaGwobG9uZyBkb3Vi bGUgY29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggdzsKKwor I2lmIDAgLyogZG9lcyBub3QgZ2l2ZSB0aGUgcHJpbmNpcGFsIHZhbHVlICov CisJdyA9IEkgKiBjYWNvc2woeik7CisjZWxzZQorCXcgPSBjbG9nbCh6ICsg Y3NxcnRsKHogKyAxKSAqIGNzcXJ0bCh6IC0gMSkpOworI2VuZGlmCisJcmV0 dXJuIHc7Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2Ns b2dsLmMgYi9uZXdsaWIvbGlibS9jb21wbGV4L2Nsb2dsLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY0NGE0NAotLS0gL2Rldi9u dWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2xvZ2wuYwpAQCAtMCww ICsxLDQ2IEBACisvKiAkTmV0QlNEOiBjbG9nbC5jLHYgMS4xIDIwMTQvMTAv MTAgMDA6NDg6MTggY2hyaXN0b3MgRXhwICQgKi8KKworLyotCisgKiBDb3B5 cmlnaHQgKGMpIDIwMDcgVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisg KiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBk ZXJpdmVkIGZyb20gc29mdHdhcmUgd3JpdHRlbiBieSBTdGVwaGVuIEwuIE1v c2hpZXIuCisgKiBJdCBpcyByZWRpc3RyaWJ1dGVkIGJ5IHRoZSBOZXRCU0Qg Rm91bmRhdGlvbiBieSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuCisgKgor ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5 cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3 aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ UyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04sIElOQy4gQU5E IENPTlRSSUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBP UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J VEVECisgKiBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBG T1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJ VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGNvbXBsZXgu aD4KKyNpbmNsdWRlIDxtYXRoLmg+CisKK2xvbmcgZG91YmxlIGNvbXBsZXgK K2Nsb2dsKGxvbmcgZG91YmxlIGNvbXBsZXggeikKK3sKKwlsb25nIGRvdWJs ZSBjb21wbGV4IHc7CisJbG9uZyBkb3VibGUgcCwgcnI7CisKKwlyciA9IGNh YnNsKHopOworCXAgPSBsb2dsKHJyKTsKKwlyciA9IGF0YW4ybChjaW1hZ2wo eiksIGNyZWFsbCh6KSk7CisJdyA9IHAgKyByciAqIEk7CisJcmV0dXJuIHc7 Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2NzcXJ0bC5j IGIvbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTBhMTI2Ci0tLSAvZGV2L251bGwK KysrIGIvbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwuYwpAQCAtMCwwICsx LDExMiBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMDctMjAwOCBEYXZp ZCBTY2h1bHR6IDxkYXNARnJlZUJTRC5PUkc+CisgKiBBbGwgcmlnaHRzIHJl c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291 cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0 cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92 ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0 aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09O VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElN UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAq IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVD VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg T1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P RFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBD QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS IElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAo SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO IEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNV Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKyNp ZiAwCitfX0ZCU0RJRCgiJEZyZWVCU0Q6IGhlYWQvbGliL21zdW4vc3JjL3Nf Y3NxcnRsLmMgMTgxNDAyIDIwMDgtMDgtMDggMDA6MTU6MTZaIGRhcyAkIik7 CisjZWxzZQorX19SQ1NJRCgiJE5ldEJTRDogY3NxcnRsLmMsdiAxLjIgMjAx NC8xMC8xMSAwMDo0Mzo1MSBjaHJpc3RvcyBFeHAgJCIpOworI2VuZGlmCisK KyNpbmNsdWRlIDxjb21wbGV4Lmg+CisjaW5jbHVkZSA8ZmxvYXQuaD4KKyNp bmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorLyoKKyAq IGdjYyBkb2Vzbid0IGltcGxlbWVudCBjb21wbGV4IG11bHRpcGxpY2F0aW9u IG9yIGRpdmlzaW9uIGNvcnJlY3RseSwKKyAqIHNvIHdlIG5lZWQgdG8gaGFu ZGxlIGluZmluaXRpZXMgc3BlY2lhbGx5LiBXZSB0dXJuIG9uIHRoaXMgcHJh Z21hIHRvCisgKiBub3RpZnkgY29uZm9ybWluZyBjOTkgY29tcGlsZXJzIHRo YXQgdGhlIGZhc3QtYnV0LWluY29ycmVjdCBjb2RlIHRoYXQKKyAqIGdjYyBn ZW5lcmF0ZXMgaXMgYWNjZXB0YWJsZSwgc2luY2UgdGhlIHNwZWNpYWwgY2Fz ZXMgaGF2ZSBhbHJlYWR5IGJlZW4KKyAqIGhhbmRsZWQuCisgKi8KKy8vICNw cmFnbWEJU1REQyBDWF9MSU1JVEVEX1JBTkdFCU9OCisKKy8qIFdlIHJpc2sg c3B1cmlvdXMgb3ZlcmZsb3cgZm9yIGNvbXBvbmVudHMgPj0gTERCTF9NQVgg LyAoMSArIHNxcnQoMikpLiAqLworI2RlZmluZQlUSFJFU0gJKExEQkxfTUFY IC8gMi40MTQyMTM1NjIzNzMwOTUwNDg4MDE2ODg3MjQyMDk2OThMKQorCisj ZGVmaW5lIGNwYWNrbChyLCBpKSAoKHIpICsgKGkpICogSSkKKworbG9uZyBk b3VibGUgY29tcGxleAorY3NxcnRsKGxvbmcgZG91YmxlIGNvbXBsZXggeikK K3sKKwlsb25nIGRvdWJsZSBjb21wbGV4IHJlc3VsdDsKKwlsb25nIGRvdWJs ZSBhLCBiOworCWxvbmcgZG91YmxlIHQ7CisJYm9vbCBzY2FsZTsKKworCWEg PSBjcmVhbGwoeik7CisJYiA9IGNpbWFnbCh6KTsKKworCS8qIEhhbmRsZSBz cGVjaWFsIGNhc2VzLiAqLworCWlmICh6ID09IDAuMEwpCisJCXJldHVybiAo Y3BhY2tsKDAuMEwsIGIpKTsKKwlpZiAoaXNpbmYoYikpCisJCXJldHVybiAo Y3BhY2tsKElORklOSVRZLCBiKSk7CisJaWYgKGlzbmFuKGEpKSB7CisJCXQg PSAoYiAtIGIpIC8gKGIgLSBiKTsJLyogcmFpc2UgaW52YWxpZCBpZiBiIGlz IG5vdCBhIE5hTiAqLworCQlyZXR1cm4gKGNwYWNrbChhLCB0KSk7CS8qIHJl dHVybiBOYU4gKyBOYU4gaSAqLworCX0KKwlpZiAoaXNpbmYoYSkpIHsKKwkJ LyoKKwkJICogY3NxcnQoaW5mICsgTmFOIGkpICA9IGluZiArICBOYU4gaQor CQkgKiBjc3FydChpbmYgKyB5IGkpICAgID0gaW5mICsgIDAgaQorCQkgKiBj c3FydCgtaW5mICsgTmFOIGkpID0gTmFOICstIGluZiBpCisJCSAqIGNzcXJ0 KC1pbmYgKyB5IGkpICAgPSAwICAgKyAgaW5mIGkKKwkJICovCisJCWlmIChz aWduYml0KGEpKQorCQkJcmV0dXJuIChjcGFja2woZmFic2woYiAtIGIpLCBj b3B5c2lnbmwoYSwgYikpKTsKKwkJZWxzZQorCQkJcmV0dXJuIChjcGFja2wo YSwgY29weXNpZ25sKGIgLSBiLCBiKSkpOworCX0KKwkvKgorCSAqIFRoZSBy ZW1haW5pbmcgc3BlY2lhbCBjYXNlIChiIGlzIE5hTikgaXMgaGFuZGxlZCBq dXN0IGZpbmUgYnkKKwkgKiB0aGUgbm9ybWFsIGNvZGUgcGF0aCBiZWxvdy4K KwkgKi8KKworCS8qIFNjYWxlIHRvIGF2b2lkIG92ZXJmbG93LiAqLworCWlm IChmYWJzbChhKSA+PSBUSFJFU0ggfHwgZmFic2woYikgPj0gVEhSRVNIKSB7 CisJCWEgKj0gMC4yNUw7CisJCWIgKj0gMC4yNUw7CisJCXNjYWxlID0gdHJ1 ZTsKKwl9IGVsc2UgeworCQlzY2FsZSA9IGZhbHNlOworCX0KKworCS8qIEFs Z29yaXRobSAzMTIsIENBQ00gdm9sIDEwLCBPY3QgMTk2Ny4gKi8KKwlpZiAo YSA+PSAwTCkgeworCQl0ID0gc3FydGwoKGEgKyBoeXBvdGwoYSwgYikpICog MC41TCk7CisJCXJlc3VsdCA9IGNwYWNrbCh0LCBiIC8gKDIuMEwgKiB0KSk7 CisJfSBlbHNlIHsKKwkJdCA9IHNxcnRsKCgtYSArIGh5cG90bChhLCBiKSkg KiAwLjVMKTsKKwkJcmVzdWx0ID0gY3BhY2tsKGZhYnNsKGIpIC8gKDIuMEwg KiB0KSwgY29weXNpZ25sKHQsIGIpKTsKKwl9CisKKwkvKiBSZXNjYWxlLiAq LworCWlmIChzY2FsZSkKKwkJcmV0dXJuIChyZXN1bHQgKiAyLjBMKTsKKwll bHNlCisJCXJldHVybiAocmVzdWx0KTsKK30KLS0gCjIuNy40Cgo= --001a11407440f49b3e0552a0ff85--