From unknown Mon Jun 23 14:57:43 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#13783 <13783@debbugs.gnu.org> To: bug#13783 <13783@debbugs.gnu.org> Subject: Status: simplify data_start configuration for Emacs Reply-To: bug#13783 <13783@debbugs.gnu.org> Date: Mon, 23 Jun 2025 21:57:43 +0000 retitle 13783 simplify data_start configuration for Emacs reassign 13783 emacs submitter 13783 Paul Eggert severity 13783 normal tag 13783 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 22 03:20:43 2013 Received: (at submit) by debbugs.gnu.org; 22 Feb 2013 08:20:43 +0000 Received: from localhost ([127.0.0.1]:43720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U8nrz-0005G1-DR for submit@debbugs.gnu.org; Fri, 22 Feb 2013 03:20:42 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37416) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U8nrt-0005Fq-Nq for submit@debbugs.gnu.org; Fri, 22 Feb 2013 03:20:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U8nqV-0005pd-Qv for submit@debbugs.gnu.org; Fri, 22 Feb 2013 03:19:12 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD,USER_IN_WHITELIST autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:36646) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U8nqV-0005pX-Nf for submit@debbugs.gnu.org; Fri, 22 Feb 2013 03:19:07 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U8nqM-0000PQ-M9 for bug-gnu-emacs@gnu.org; Fri, 22 Feb 2013 03:19:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U8nqD-0005mG-Kq for bug-gnu-emacs@gnu.org; Fri, 22 Feb 2013 03:18:58 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:42346) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U8nqD-0005mA-3a; Fri, 22 Feb 2013 03:18:49 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4224E39E8100; Fri, 22 Feb 2013 00:18:48 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AW8ikZvhob6M; Fri, 22 Feb 2013 00:18:45 -0800 (PST) Received: from [192.168.1.9] (pool-71-189-154-249.lsanca.fios.verizon.net [71.189.154.249]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 99D08A60001; Fri, 22 Feb 2013 00:18:45 -0800 (PST) Message-ID: <512729DD.7040903@cs.ucla.edu> Date: Fri, 22 Feb 2013 00:18:37 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: bug-gnu-emacs@gnu.org Subject: simplify data_start configuration for Emacs Content-Type: multipart/mixed; boundary="------------050202080209060103040000" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -6.2 (------) X-Debbugs-Envelope-To: submit Cc: Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.2 (------) This is a multi-part message in MIME format. --------------050202080209060103040000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Tags: patch Attached is a proposed patch that follows on to the Bug#13650 fixes, by simplifying the code to remove most of the data_start stuff, which is obsolete. This affects the Windows port so I'm CC:ing this to Eli. This patch is to Emacs trunk bzr 111855. --------------050202080209060103040000 Content-Type: text/plain; charset=UTF-8; name="data_start.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="data_start.txt" PT09IG1vZGlmaWVkIGZpbGUgJ0NoYW5nZUxvZycKLS0tIENoYW5nZUxvZwkyMDEzLTAyLTIx IDIyOjQyOjU2ICswMDAwCisrKyBDaGFuZ2VMb2cJMjAxMy0wMi0yMiAwODoxMTowNSArMDAw MApAQCAtMSwzICsxLDEyIEBACisyMDEzLTAyLTIyICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBj cy51Y2xhLmVkdT4KKworCVNpbXBsaWZ5IGRhdGFfc3RhcnQgY29uZmlndXJhdGlvbi4KKwkq IGNvbmZpZ3VyZS5hYyAoQ1JUX0RJUiwgTElCX1NUQU5EQVJELCBTVEFSVF9GSUxFUywgREFU QV9TVEFSVCkKKwkoTERfRklSU1RGTEFHLCBPUkRJTkFSWV9MSU5LLCBMSUJfR0NDKTogUmVt b3ZlLgorCShBQ19DSEVDS19IRUFERVJTX09OQ0UpOiBSZW1vdmUgc3lzL3Jlc291cmNlLmgs IGFzIGl0J3MKKwlub3QgYWx3YXlzIG5lZWRlZC4KKwkoSEFWRV9EQVRBX1NUQVJUKTogTmV3 IG1hY3JvLgorCiAyMDEzLTAyLTIxICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVk dT4KIAogCVBhcmFsbGVsaXplIGRvY3VtZW50YXRpb24gYnVpbGRzLgoKPT09IG1vZGlmaWVk IGZpbGUgJ2FkbWluL0NQUC1ERUZJTkVTJwotLS0gYWRtaW4vQ1BQLURFRklORVMJMjAxMi0x Mi0xNCAxODo1OTowMCArMDAwMAorKysgYWRtaW4vQ1BQLURFRklORVMJMjAxMy0wMi0yMiAw ODoxMTowNSArMDAwMApAQCAtOTAsNyArOTAsNiBAQAogQlJPS0VOX1BUWV9SRUFEX0FGVEVS X0VBR0FJTgogQ0xBU0hfREVURUNUSU9OCiBEQVRBX1NFR19CSVRTCi1EQVRBX1NUQVJUCiBE RUZBVUxUX1NPVU5EX0RFVklDRQogREVWSUNFX1NFUAogRElSRUNUT1JZX1NFUApAQCAtNDA4 LDcgKzQwNyw2IEBACiBOU0lHCiBOU0lHX01JTklNVU0KIE5VTExfREVWSUNFCi1PUkRJTkFS WV9MSU5LCiBQQUdFU0laRQogUFJFRkVSX1ZTVVNQCiBQVFlfSVRFUkFUSU9OCgo9PT0gbW9k aWZpZWQgZmlsZSAnYWRtaW4vQ2hhbmdlTG9nJwotLS0gYWRtaW4vQ2hhbmdlTG9nCTIwMTMt MDItMTEgMjM6Mzc6MTggKzAwMDAKKysrIGFkbWluL0NoYW5nZUxvZwkyMDEzLTAyLTIyIDA4 OjExOjA1ICswMDAwCkBAIC0xLDMgKzEsOCBAQAorMjAxMy0wMi0yMiAgUGF1bCBFZ2dlcnQg IDxlZ2dlcnRAY3MudWNsYS5lZHU+CisKKwlTaW1wbGlmeSBkYXRhX3N0YXJ0IGNvbmZpZ3Vy YXRpb24uCisJKiBDUFAtREVGSU5FUyAoREFUQV9TVEFSVCwgT1JESU5BUllfTElOSyk6IFJl bW92ZS4KKwogMjAxMy0wMi0xMSAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+ CiAKIAlUdW5lIGJ5IHVzaW5nIG1lbWNociBhbmQgbWVtcmNoci4KCj09PSBtb2RpZmllZCBm aWxlICdjb25maWd1cmUuYWMnCi0tLSBjb25maWd1cmUuYWMJMjAxMy0wMi0xNSAwNjozNTo1 NCArMDAwMAorKysgY29uZmlndXJlLmFjCTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAg LTIzMCwxMiArMjMwLDYgQEAKICAgIGZpCiBmaQogCi1DUlRfRElSPQotQUNfQVJHX1dJVEgo W2NydC1kaXJdLGRubAotW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtY3J0LWRpcj1ESVJdLFtk aXJlY3RvcnkgY29udGFpbmluZyBjcnRuLm8gZXRjLgotVGhlIGRlZmF1bHQgaXMgL3Vzci9s aWIsIG9yIC91c3IvbGliNjQgb24gc29tZSBwbGF0Zm9ybXMuXSldKQotQ1JUX0RJUj0iJHt3 aXRoX2NydF9kaXJ9IgotCiBBQ19BUkdfV0lUSChnYW1ldXNlcixkbmwKIFtBU19IRUxQX1NU UklORyhbLS13aXRoLWdhbWV1c2VyPVVTRVJdLFt1c2VyIGZvciBzaGFyZWQgZ2FtZSBzY29y ZSBmaWxlc10pXSkKIHRlc3QgIlgke3dpdGhfZ2FtZXVzZXJ9IiAhPSBYICYmIHRlc3QgIiR7 d2l0aF9nYW1ldXNlcn0iICE9IHllcyBcCkBAIC0xMDUxLDQyICsxMDQ1LDI5IEBACiAKIAog TElCX01BVEg9LWxtCi1MSUJfU1RBTkRBUkQ9Ci1TVEFSVF9GSUxFUz0KIGRubCBDdXJyZW50 IHBvc3NpYmlsaXRpZXMgaGFuZGxlZCBieSBzZWQgKGFpeDQtMiAtPiBhaXgsCiBkbmwgZ251 LWxpbnV4IC0+IGdudS9saW51eCwgZXRjLik6CiBkbmwgZ251LCBnbnUvbGludXgsIGdudS9r ZnJlZWJzZCwgYWl4LCBjeWd3aW4sIGRhcndpbiwgaHB1eCwgaXJpeC4KIGRubCBBbmQgc3Bl Y2lhbCBjYXNlczogYmVya2VsZXktdW5peCwgdXNnLXVuaXgtdiwgbXMtZG9zLCB3aW5kb3dz LW50LgogU1lTVEVNX1RZUEU9YGVjaG8gJG9wc3lzIHwgc2VkIC1lICdzL1tbMC05XV0uKi8v JyAtZSAnc3wtfC98J2AKIAotZG5sIE5CIGRvIG5vdCB1c2UgQ1JUX0RJUiB1bnF1b3RlZCBo ZXJlLCBzaW5jZSBpdCBtaWdodCBub3QgYmUgc2V0IHlldC4KIGNhc2UgJG9wc3lzIGluCiAg IGN5Z3dpbiApCiAgICAgTElCX01BVEg9Ci0gICAgU1RBUlRfRklMRVM9J3ByZS1jcnQwLm8n CiAgICAgOzsKICAgZGFyd2luICkKICAgICAjIyBBZGRpbmcgLWxtIGNvbmZ1c2VzIHRoZSBk eW5hbWljIGxpbmtlciwgc28gb21pdCBpdC4KICAgICBMSUJfTUFUSD0KLSAgICBTVEFSVF9G SUxFUz0ncHJlLWNydDAubycKICAgICA7OwogICBmcmVlYnNkICkKLSAgICBMSUJfU1RBTkRB UkQ9Jy1sZ2NjIC1sYyAtbGdjYyAkKENSVF9ESVIpL2NydG4ubycKLSAgICBTVEFSVF9GSUxF Uz0ncHJlLWNydDAubyAkKENSVF9ESVIpL2NydDEubyAkKENSVF9ESVIpL2NydGkubycKICAg ICBTWVNURU1fVFlQRT1iZXJrZWxleS11bml4CiAgICAgOzsKICAgZ251LWxpbnV4IHwgZ251 LWtmcmVlYnNkICkKLSAgICBMSUJfU1RBTkRBUkQ9Jy1sZ2NjIC1sYyAtbGdjYyAkKENSVF9E SVIpL2NydG4ubycKLSAgICBTVEFSVF9GSUxFUz0ncHJlLWNydDAubyAkKENSVF9ESVIpL2Ny dDEubyAkKENSVF9ESVIpL2NydGkubycKICAgICA7OwogICBocHV4MTAtMjAgfCBocHV4MTEg KQotICAgIExJQl9TVEFOREFSRD0tbGMKLSAgICBTVEFSVF9GSUxFUz0ncHJlLWNydDAubyAk KENSVF9ESVIpL2NydDAubycKICAgICA7OwogICBkbmwgTkIgdGhpcyBtYXkgYmUgYWRqdXN0 ZWQgYmVsb3cuCiAgIG5ldGJzZCB8IG9wZW5ic2QgKQotICAgIExJQl9TVEFOREFSRD0nLWxn Y2MgLWxjIC1sZ2NjICQoQ1JUX0RJUikvY3J0ZW5kLm8nCi0gICAgU1RBUlRfRklMRVM9J3By ZS1jcnQwLm8gJChDUlRfRElSKS9jcnQwLm8gJChDUlRfRElSKS9jcnRiZWdpbi5vJwogICAg IFNZU1RFTV9UWVBFPWJlcmtlbGV5LXVuaXgKICAgICA7OwogCkBAIC0xMDk3LDk2ICsxMDc4 LDkgQEAKIGVzYWMKIAogQUNfU1VCU1QoTElCX01BVEgpCi1BQ19TVUJTVChTVEFSVF9GSUxF UykKIEFDX0RFRklORV9VTlFVT1RFRChTWVNURU1fVFlQRSwgIiRTWVNURU1fVFlQRSIsCiAg IFtUaGUgdHlwZSBvZiBzeXN0ZW0geW91IGFyZSBjb21waWxpbmcgZm9yOyBzZXRzIGBzeXN0 ZW0tdHlwZScuXSkKIAotZG5sIE5vdCBhbGwgcGxhdGZvcm1zIHVzZSBjcnRuLm8gZmlsZXMu ICBDaGVjayBpZiB0aGUgY3VycmVudCBvbmUgZG9lcy4KLWNydF9maWxlcz0KLQotZm9yIGZp bGUgaW4geCAkTElCX1NUQU5EQVJEICRTVEFSVF9GSUxFUzsgZG8KLSAgY2FzZSAiJGZpbGUi IGluCi0gICAgKkNSVF9ESVIqKSBjcnRfZmlsZXM9IiRjcnRfZmlsZXMgYGVjaG8gJGZpbGUg fCBzZWQgLWUgJ3N8LiovfHwnYCIgOzsKLSAgZXNhYwotZG9uZQotCi1pZiB0ZXN0ICJ4JGNy dF9maWxlcyIgIT0geDsgdGhlbgotCi0gICMjIElmIHVzZXIgc3BlY2lmaWVkIGEgY3J0LWRp ciwgdXNlIHRoYXQgdW5jb25kaXRpb25hbGx5LgotICBjcnRfZ2NjPW5vCi0KLSAgaWYgdGVz dCAiWCRDUlRfRElSIiA9ICJYIjsgdGhlbgotCi0gICAgQ1JUX0RJUj0vdXNyL2xpYiAgICAg ICAgICAgICMgZGVmYXVsdAotCi0gICAgY2FzZSAiJGNhbm9uaWNhbCIgaW4KLSAgICAgIHg4 Nl82NC0qLWxpbnV4LWdudSogfCBzMzkweC0qLWxpbnV4LWdudSopCi0gICAgICAjIyBPbiB4 ODYtNjQgYW5kIHMzOTB4IEdOVS9MaW51eCBkaXN0cmlidXRpb25zLCB0aGUgc3RhbmRhcmQg bGlicmFyeQotICAgICAgIyMgY2FuIGJlIGluIGEgdmFyaWV0eSBvZiBwbGFjZXMuICBXZSBv bmx5IHRyeSAvdXNyL2xpYjY0IGFuZCAvdXNyL2xpYi4KLSAgICAgICMjIEZvciBhbnl0aGlu ZyBlbHNlIChlZyAvdXNyL2xpYjMyKSwgaXQgaXMgdXAgdGhlIHVzZXIgdG8gc3BlY2lmeQot ICAgICAgIyMgdGhlIGxvY2F0aW9uIChidWcjNTY1NSkuCi0gICAgICAjIyBUZXN0IGZvciBj cnRuLm8sIG5vdCBqdXN0IHRoZSBkaXJlY3RvcnksIGJlY2F1c2Ugc29tZXRpbWVzIHRoZQot ICAgICAgIyMgZGlyZWN0b3J5IGV4aXN0cyBidXQgZG9lcyBub3QgaGF2ZSB0aGUgcmVsZXZh bnQgZmlsZXMgKGJ1ZyMxMjg3KS4KLSAgICAgICMjIEZJWE1FIGJldHRlciB0byB0ZXN0IGZv ciBiaW5hcnkgY29tcGF0aWJpbGl0eSBzb21laG93LgotICAgICAgdGVzdCAtZSAvdXNyL2xp YjY0L2NydG4ubyAmJiBDUlRfRElSPS91c3IvbGliNjQKLSAgICAgIDs7Ci0KLSAgICAgIHBv d2VycGM2NC0qLWxpbnV4LWdudSogfCBzcGFyYzY0LSotbGludXgtZ251KikgQ1JUX0RJUj0v dXNyL2xpYjY0IDs7Ci0gICAgZXNhYwotCi0gICAgY2FzZSAiJG9wc3lzIiBpbgotICAgICAg aHB1eDEwLTIwKSBDUlRfRElSPS9saWIgOzsKLSAgICBlc2FjCi0KLSAgICB0ZXN0ICJ4JHtH Q0N9IiA9IHh5ZXMgJiYgY3J0X2djYz15ZXMKLQotICBmaSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjIENSVF9ESVIgPSAiIgotCi0gIGNydF9taXNzaW5nPQotCi0gIGZvciBmaWxl IGluICRjcnRfZmlsZXM7IGRvCi0KLSAgICAjIyBJZiB3ZSdyZSB1c2luZyBnY2MsIHRyeSB0 byBkZXRlcm1pbmUgaXQgYXV0b21hdGljYWxseSBieSBhc2tpbmcKLSAgICAjIyBnY2MuICBb SWYgdGhpcyBkb2Vzbid0IHdvcmssIENSVF9ESVIgd2lsbCByZW1haW4gYXQgdGhlCi0gICAg IyMgc3lzdGVtLWRlcGVuZGVudCBkZWZhdWx0IGZyb20gYWJvdmUuXQotICAgIGlmIHRlc3Qg JGNydF9nY2MgPSB5ZXMgJiYgdGVzdCAhIC1lICRDUlRfRElSLyRmaWxlOyB0aGVuCi0KLSAg ICAgICBjcnRfZmlsZT1gJENDIC0tcHJpbnQtZmlsZS1uYW1lPSRmaWxlIDI+L2Rldi9udWxs YAotICAgICAgIGNhc2UgIiRjcnRfZmlsZSIgaW4KLSAgICAgICAgICovKikKLSAgICAgICAg ICAgQ1JUX0RJUj1gQVNfRElSTkFNRShbIiRjcnRfZmlsZSJdKWAKLSAgICAgICAgICAgOzsK LSAgICAgICBlc2FjCi0gICAgZmkKLQotICAgIGRubCBXZSBleHBlY3QgYWxsIHRoZSBmaWxl cyB0byBiZSBpbiBhIHNpbmdsZSBkaXJlY3RvcnksIHNvIGFmdGVyIHRoZQotICAgIGRubCBm aXJzdCB0aGVyZSBpcyBubyBwb2ludCBhc2tpbmcgZ2NjLgotICAgIGNydF9nY2M9bm8KLQot ICAgIHRlc3QgLWUgJENSVF9ESVIvJGZpbGUgfHwgY3J0X21pc3Npbmc9IiRjcnRfbWlzc2lu ZyAkZmlsZSIKLSAgZG9uZSAgICAgICAgICAgICAgICAgICAgICAgICAgIyAkY3J0X2ZpbGVz Ci0KLSAgdGVzdCAieCRjcnRfbWlzc2luZyIgPSB4IHx8IFwKLSAgICBBQ19NU0dfRVJST1Io W1JlcXVpcmVkIGZpbGUocykgbm90IGZvdW5kOiRjcnRfbWlzc2luZwotVHJ5IHVzaW5nIHRo ZSAtLXdpdGgtY3J0LWRpciBvcHRpb24uXSkKLQotZmkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjIGNydF9maWxlcyAhPSAiIgotCi1BQ19TVUJTVChDUlRfRElSKQotCi1jYXNl ICRvcHN5cyBpbgotICBuZXRic2QgfCBvcGVuYnNkICkKLSAgICBpZiB0ZXN0IC1mICRDUlRf RElSL2NydGkubzsgdGhlbgotCi0gICAgICAgIHRlc3QgLWYgJENSVF9ESVIvY3J0bi5vIHx8 IFwKLSAgICAgICAgICBBQ19NU0dfRVJST1IoW1JlcXVpcmVkIGZpbGUgbm90IGZvdW5kOiBj cnRuLm9dKQotCi0gICAgICAgIExJQl9TVEFOREFSRD0nLWxnY2MgLWxjIC1sZ2NjICQoQ1JU X0RJUikvY3J0ZW5kLm8gJChDUlRfRElSKS9jcnRuLm8nCi0gICAgICAgIFNUQVJUX0ZJTEVT PSdwcmUtY3J0MC5vICQoQ1JUX0RJUikvY3J0MC5vICQoQ1JUX0RJUikvY3J0aS5vICQoQ1JU X0RJUikvY3J0YmVnaW4ubycKLSAgICBmaQotICAgIDs7Ci1lc2FjCi0KIAogcHJlX1BLR19D T05GSUdfQ0ZMQUdTPSRDRkxBR1MKIHByZV9QS0dfQ09ORklHX0xJQlM9JExJQlMKQEAgLTEz MDQsNyArMTE5OCw3IEBACiBBQ19DSEVDS19IRUFERVJTX09OQ0UoCiAgIGxpbnV4L3ZlcnNp b24uaCBzeXMvc3lzdGVtaW5mby5oCiAgIGNvZmYuaCBwdHkuaAotICBzeXMvdmxpbWl0Lmgg c3lzL3Jlc291cmNlLmgKKyAgc3lzL3Jlc291cmNlLmgKICAgc3lzL3V0c25hbWUuaCBwd2Qu aCB1dG1wLmggdXRpbC5oKQogCiBBQ19NU0dfQ0hFQ0tJTkcoaWYgcGVyc29uYWxpdHkgTElO VVgzMiBjYW4gYmUgc2V0KQpAQCAtMTUyMSw4ICsxNDE1LDYgQEAKICAgICAgQ0ZMQUdTPSIk Q0ZMQUdTIC1JJHtHTlVTVEVQX1NZU1RFTV9IRUFERVJTfSAke0dOVVNURVBfTE9DQUxfSEVB REVSU30iCiAgICAgIExERkxBR1M9IiRMREZMQUdTIC1MJHtHTlVTVEVQX1NZU1RFTV9MSUJS QVJJRVN9ICR7R05VU1RFUF9MT0NBTF9MSUJSQVJJRVN9IgogICAgICBMSUJTX0dOVVNURVA9 Ii1sZ251c3RlcC1ndWkgLWxnbnVzdGVwLWJhc2UgLWxvYmpjIC1scHRocmVhZCIKLSAgICAg TElCX1NUQU5EQVJEPQotICAgICBTVEFSVF9GSUxFUz0KICAgICAgZG5sIEdOVXN0ZXAgZGVm aW5lcyBCQVNFX05BVElWRV9PQkpDX0VYQ0VQVElPTlMgdG8gMCBvciAxLgogICAgICBkbmwg SWYgdGhleSBoYWQgY2hvc2VuIHRvIGVpdGhlciBkZWZpbmUgaXQgb3Igbm90LCB3ZSBjb3Vs ZCBoYXZlCiAgICAgIGRubCBqdXN0IHVzZWQgQUNfQ0hFQ0tfREVDTCBoZXJlLgpAQCAtMTYx MSw3ICsxNTAzLDYgQEAKIEFDX1NVQlNUKG5zX3NlbGZfY29udGFpbmVkKQogQUNfU1VCU1Qo TlNfT0JKKQogQUNfU1VCU1QoTlNfT0JKQ19PQkopCi1BQ19TVUJTVChMSUJfU1RBTkRBUkQp CiAKIEhBVkVfVzMyPW5vCiBXMzJfT0JKPQpAQCAtMTc1MSw2ICsxNjQyLDIwIEBACiBlbHNl CiAgIHRlc3QgIiRkb3VnX2xlYV9tYWxsb2MiICE9ICJ5ZXMiICYmIEdNQUxMT0NfT0JKPWdt YWxsb2MubwogICBWTUxJTUlUX09CSj12bS1saW1pdC5vCisKKyAgQUNfQ0hFQ0tfSEVBREVS Uyhbc3lzL3ZsaW1pdC5oXSkKKyAgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBkYXRhX3N0YXJ0XSwg W2VtYWNzX2N2X2RhdGFfc3RhcnRdLAorICAgIFtBQ19MSU5LX0lGRUxTRSgKKyAgICAgICBb QUNfTEFOR19QUk9HUkFNKAorCSBbW2V4dGVybiBjaGFyIGRhdGFfc3RhcnRbXTsgY2hhciBj aDtdXSwKKwkgW1tyZXR1cm4gZGF0YV9zdGFydCA9PSAmY2g7XV0pXSwKKyAgICAgICBbZW1h Y3NfY3ZfZGF0YV9zdGFydD15ZXNdLAorICAgICAgIFtlbWFjc19jdl9kYXRhX3N0YXJ0PW5v XSldKQorICBpZiB0ZXN0ICRlbWFjc19jdl9kYXRhX3N0YXJ0ID0geWVzOyB0aGVuCisgICAg QUNfREVGSU5FKFtIQVZFX0RBVEFfU1RBUlRdLCAxLAorICAgICAgW0RlZmluZSB0byAxIGlm IGRhdGFfc3RhcnQgaXMgdGhlIGFkZHJlc3Mgb2YgdGhlIHN0YXJ0CisgICAgICAgb2YgdGhl IG1haW4gZGF0YSBzZWdtZW50Ll0pCisgIGZpCiBmaQogQUNfU1VCU1QoR01BTExPQ19PQkop CiBBQ19TVUJTVChWTUxJTUlUX09CSikKQEAgLTM3MzUsOSArMzY0MCw3IEBACiBlc2FjCiAK IAotZG5sIFVzZWQgaW4gdm0tbGltaXQuYwotQUhfVEVNUExBVEUoREFUQV9TVEFSVCwgW0Fk ZHJlc3Mgb2YgdGhlIHN0YXJ0IG9mIHRoZSBkYXRhIHNlZ21lbnQuXSkKLWRubCBVc2VkIGlu IGxpc3AuaCwgZW1hY3MuYywgbWVtLWxpbWl0cy5oCitkbmwgVXNlZCBpbiBsaXNwLmgsIGVt YWNzLmMsIHZtLWxpbWl0LmMKIGRubCBORVdTLjE4IGRlc2NyaWJlcyB0aGlzIGFzICJhIG51 bWJlciB3aGljaCBjb250YWlucwogZG5sIHRoZSBoaWdoIGJpdHMgdG8gYmUgaW5jbHVzaXZl IG9yJ2VkIHdpdGggcG9pbnRlcnMgdGhhdCBhcmUgdW5wYWNrZWQuIgogQUhfVEVNUExBVEUo REFUQV9TRUdfQklUUywgW0V4dHJhIGJpdHMgdG8gYmUgb3InZCBpbiB3aXRoIGFueSBwb2lu dGVycwpAQCAtMzc0NSwyMyArMzY0OCwxNSBAQAogZG5sIGlmIEVtYWNzIHVzZXMgZmV3ZXIg dGhhbiAzMiBiaXRzIGZvciB0aGUgdmFsdWUgZmllbGQgb2YgYSBMSVNQX09CSkVDVC4KIAog Y2FzZSAkb3BzeXMgaW4KLSAgZ251KQotICAgIGRubCBsaWJjIGRlZmluZXMgZGF0YV9zdGFy dC4KLSAgICBBQ19ERUZJTkUoREFUQV9TVEFSVCwgWyh7IGV4dGVybiBpbnQgZGF0YV9zdGFy dDsgKGNoYXIgKikgJmRhdGFfc3RhcnQ7IH0pXSkKLSAgICA7OwotCiAgIGFpeCopCiAgICAg ZG5sIFRoaXMgd29ya3Mgd2l0aCAzMi1iaXQgZXhlY3V0YWJsZXM7IEVtYWNzIGRvZXNuJ3Qg c3VwcG9ydCA2NC1iaXQuCi0gICAgQUNfREVGSU5FKERBVEFfU1RBUlQsIFsweDIwMDAwMDAw XSkKICAgICBBQ19ERUZJTkUoREFUQV9TRUdfQklUUywgWzB4MjAwMDAwMDBdKQogICAgIDs7 CiAgIGhwdXgqKQogICAgIGRubCBUaGUgZGF0YSBzZWdtZW50IG9uIHRoaXMgbWFjaGluZSBh bHdheXMgc3RhcnRzIGF0IGFkZHJlc3MgMHg0MDAwMDAwMC4KLSAgICBBQ19ERUZJTkUoREFU QV9TVEFSVCwgWzB4NDAwMDAwMDBdKQogICAgIEFDX0RFRklORShEQVRBX1NFR19CSVRTLCBb MHg0MDAwMDAwMF0pCiAgICAgOzsKICAgaXJpeDYtNSkKLSAgICBBQ19ERUZJTkUoREFUQV9T VEFSVCwgWzB4MTAwMDAwMDBdKQogICAgIEFDX0RFRklORShEQVRBX1NFR19CSVRTLCBbMHgx MDAwMDAwMF0pCiAgICAgOzsKIGVzYWMKQEAgLTQzMjEsODggKzQyMTYsNiBAQAogCiBBQ19T VUJTVChMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDUykKIAotCi1MRF9GSVJTVEZMQUc9Ci1PUkRJ TkFSWV9MSU5LPQotY2FzZSAiJG9wc3lzIiBpbgotICAjIyBnbnU6IEdOVSBuZWVkcyBpdHMg b3duIGNydDAuCi0gIGFpeDQtMnxjeWd3aW58ZGFyd2lufGdudXxocHV4Knxpcml4Ni01fHNv bDIqfHVuaXh3YXJlKSBPUkRJTkFSWV9MSU5LPXllcyA7OwotCi0gICMjIE9uIHBvc3QgMS4z IHJlbGVhc2VzIG9mIE5ldEJTRCwgZ2NjIC1ub3N0ZGxpYiBhbHNvIGNsZWFycyB0aGUKLSAg IyMgbGlicmFyeSBzZWFyY2ggcGFydGgsIGkuZS4gaXQgd29uJ3Qgc2VhcmNoIC91c3IvbGli IGZvciBsaWJjIGFuZAotICAjIyBmcmllbmRzLiAgVXNpbmcgLW5vc3RhcnRmaWxlcyBpbnN0 ZWFkIGF2b2lkcyB0aGlzIHByb2JsZW0sIGFuZAotICAjIyB3aWxsIGFsc28gd29yayBvbiBl YXJsaWVyIE5ldEJTRCByZWxlYXNlcy4KLSAgbmV0YnNkfG9wZW5ic2QpIExEX0ZJUlNURkxB Rz0iLW5vc3RhcnRmaWxlcyIgOzsKLQotICAjIyBwb3dlcnBjKjogTkFLQUpJIEhpcm95dWtp IDxuYWthamlAdHV0cnAudHV0LmFjLmpwPiBzYXlzCi0gICMjICAgTWtMaW51eC9MaW51eFBQ QyBuZWVkcyB0aGlzLgotICAjIyBzMzkweC0qIG9ubHkgc3VwcG9ydHMgb3BzeXMgPSBnbnUt bGludXggc28gaXQgY2FuIGJlIGFkZGVkIGhlcmUuCi0gIGdudS0qKQotICAgIGNhc2UgIiRj YW5vbmljYWwiIGluCi0gICAgICBwb3dlcnBjKnxzMzkweC0qKSBMRF9GSVJTVEZMQUc9Ii1u b3N0ZGxpYiIgOzsKLSAgICBlc2FjCi0gICAgOzsKLWVzYWMKLQotCi1pZiB0ZXN0ICJ4JE9S RElOQVJZX0xJTksiID0gInh5ZXMiOyB0aGVuCi0KLSAgTERfRklSU1RGTEFHPSIiCi0gIEFD X0RFRklORShPUkRJTkFSWV9MSU5LLCAxLCBbRGVmaW5lIGlmIHRoZSBDIGNvbXBpbGVyIGlz IHRoZSBsaW5rZXIuXSkKLQotIyMgVGhlIHN5c3RlbSBmaWxlcyBkZWZpbmluZyBuZWl0aGVy IE9SRElOQVJZX0xJTksgbm9yIExEX0ZJUlNURkxBRyBhcmU6Ci0jIyBmcmVlYnNkLCBnbnUt KiBub3Qgb24gcG93ZXJwYyp8czM5MHgqLgotZWxpZiB0ZXN0ICJ4JEdDQyIgPSAieHllcyIg JiYgdGVzdCAieCRMRF9GSVJTVEZMQUciID0gIngiOyB0aGVuCi0KLSAgIyMgVmVyc2lvbnMg b2YgR0NDID49IDIuMCBwdXQgdGhlaXIgbGlicmFyeSwgbGliZ2NjLmEsIGluIG9ic2N1cmUK LSAgIyMgcGxhY2VzIHRoYXQgYXJlIGRpZmZpY3VsdCB0byBmaWd1cmUgb3V0IGF0IG1ha2Ug dGltZS4gIEZvcnR1bmF0ZWx5LAotICAjIyB0aGVzZSBzYW1lIHZlcnNpb25zIGFsbG93IHlv dSB0byBwYXNzIGFyYml0cmFyeSBmbGFncyBvbiB0byB0aGUKLSAgIyMgbGlua2VyLCBzbyB0 aGVyZSBpcyBubyByZWFzb24gbm90IHRvIHVzZSBpdCBhcyBhIGxpbmtlci4KLSAgIyMKLSAg IyMgV2VsbCwgaXQgaXMgbm90IHF1aXRlIHBlcmZlY3QuICBUaGUgIi1ub3N0ZGxpYiIga2Vl cHMgR0NDIGZyb20KLSAgIyMgc2VhcmNoaW5nIGZvciBsaWJyYXJpZXMgaW4gaXRzIGludGVy bmFsIGRpcmVjdG9yaWVzLCBzbyB3ZSBoYXZlIHRvCi0gICMjIGFzayBHQ0MgZXhwbGljaXRs eSB3aGVyZSB0byBmaW5kIGxpYmdjYy5hIChMSUJfR0NDIGJlbG93KS4KLSAgTERfRklSU1RG TEFHPSItbm9zdGRsaWIiCi1maQotCi0jIyBGSVhNRT8gV2hhdCBzZXR0aW5nIG9mIEVESVRf TERGTEFHUyBzaG91bGQgdGhpcyBoYXZlPwotdGVzdCAiJE5TX0lNUExfR05VU1RFUCIgPSAi eWVzIiAmJiBMRF9GSVJTVEZMQUc9Ii1yZHluYW1pYyIKLQotQUNfU1VCU1QoTERfRklSU1RG TEFHKQotCi0KLSMjIEZJWE1FPyBUaGUgbG9naWMgaGVyZSBpcyBub3QgcHJlY2lzZWx5IHRo ZSBzYW1lIGFzIHRoYXQgYWJvdmUuCi0jIyBUaGVyZSBpcyBubyBjaGVjayBoZXJlIGZvciBh IHByZS1kZWZpbmVkIExEX0ZJUlNURkxBRy4KLSMjIFNob3VsZCB3ZSBvbmx5IGJlIHNldHRp bmcgTElCX0dDQyBpZiBMRCB+IC1ub3N0ZGxpYj8KLUxJQl9HQ0M9Ci1pZiB0ZXN0ICJ4JEdD QyIgPSAieHllcyIgJiYgdGVzdCAieCRPUkRJTkFSWV9MSU5LIiAhPSAieHllcyI7IHRoZW4K LQotICBjYXNlICIkb3BzeXMiIGluCi0gICAgZnJlZWJzZHxuZXRic2R8b3BlbmJzZCkgTElC X0dDQz0gOzsKLQotICAgIGdudS0qKQotICAgICAgIyMgYXJtaW43NkBnZW50b28ub3JnIHJl cG9ydGVkIHRoYXQgdGhlIGxnY2NfcyBmbGFnIGlzIG5lY2Vzc2FyeSB0bwotICAgICAgIyMg YnVpbGQgb24gQVJNIEVBQkkgdW5kZXIgR05VL0xpbnV4LiAgKEJ1ZyM1NTE4KQotICAgICAg Y2FzZSAkaG9zdF9jcHUgaW4KLSAgICAgIGFybSopCi0gICAgICAgIExJQl9HQ0M9Ii1sZ2Nj X3MiCi0JOzsKLSAgICAgICopCi0gICAgICAgICMjIEZJWE1FPyBzL2dudS1saW51eC5oIHVz ZWQgdG8gZGVmaW5lIExJQl9HQ0MgYXMgYmVsb3csIHRoZW4KLSAgICAgICAgIyMgaW1tZWRp YXRlbHkgdW5kZWZpbmUgaXQgYWdhaW4gYW5kIHJlZGVmaW5lIGl0IHRvIGVtcHR5LgotICAg ICAgICAjIyBXYXMgdGhlIENfU1dJVENIX1hfU0lURSBwYXJ0IHJlYWxseSBuZWNlc3Nhcnk/ Ci0jIyAgICAgIExJQl9HQ0M9YCRDQyAkQ19TV0lUQ0hfWF9TSVRFIC1wcmludC1saWJnY2Mt ZmlsZS1uYW1lYAotICAgICAgICBMSUJfR0NDPQotCTs7Ci0gICAgICBlc2FjCi0gICAgICA7 OwotCi0gICAgIyMgQXNrIEdDQyB3aGVyZSB0byBmaW5kIGxpYmdjYy5hLgotICAgICopIExJ Ql9HQ0M9YCRDQyAtcHJpbnQtbGliZ2NjLWZpbGUtbmFtZSAyPiAvZGV2L251bGxgIDs7Ci0g IGVzYWMKLWZpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG5sIGlmICRHQ0MKLUFD X1NVQlNUKExJQl9HQ0MpCi0KICMjIENvbW1vbiBmb3IgYWxsIHdpbmRvdyBzeXN0ZW1zCiBp ZiB0ZXN0ICIkd2luZG93X3N5c3RlbSIgIT0gIm5vbmUiOyB0aGVuCiAgIEFDX0RFRklORShI QVZFX1dJTkRPV19TWVNURU0sIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgYSB3aW5kb3cgc3lz dGVtLl0pCgo9PT0gbW9kaWZpZWQgZmlsZSAnZXRjL0NoYW5nZUxvZycKLS0tIGV0Yy9DaGFu Z2VMb2cJMjAxMy0wMi0xOSAxNDo0NDowMyArMDAwMAorKysgZXRjL0NoYW5nZUxvZwkyMDEz LTAyLTIyIDA4OjExOjA1ICswMDAwCkBAIC0xLDMgKzEsMTAgQEAKKzIwMTMtMDItMjIgIFBh dWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJU2ltcGxpZnkgZGF0YV9zdGFy dCBjb25maWd1cmF0aW9uLgorCSogUFJPQkxFTVMgKExJQlNfU1lTVEVNLCBMSUJTX01BQ0hJ TkUsIExJQlNfU1RBTkRBUkQpOiBSZW1vdmUuCisJUmVtb3ZlIGxlZ2FjeS1zeXN0ZW1zIHNl Y3Rpb24sIGFzIHRoaXMgc3R1ZmYgaXMgbm8gbG9uZ2VyCisJYXBwbGljYWJsZSB3aXRoIGN1 cnJlbnQgbGlua2luZyBzdHJhdGVnaWVzLgorCiAyMDEzLTAyLTE0ICBNaWNoYWVsIEFsYmlu dXMgIDxtaWNoYWVsLmFsYmludXNAZ214LmRlPgogCiAJKiBORVdTOiBUcmFtcCBtZXRob2Rz ICJzY3BjIiBhbmQgInJzeW5jYyIgYXJlIGRpc2NvbnRpbnVlZC4KCj09PSBtb2RpZmllZCBm aWxlICdldGMvUFJPQkxFTVMnCi0tLSBldGMvUFJPQkxFTVMJMjAxMy0wMi0xMSAwMDozNToz NyArMDAwMAorKysgZXRjL1BST0JMRU1TCTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAg LTQzMiwyMSArNDMyLDcgQEAKIGluc3RhbGxlZCBpbiB0aGUgc2hhcmVkIGxpYnJhcnksIGFu ZCB0aGVuIHJlbGluayBFbWFjcy4KIAogSWYgeW91IGhhdmUgYWxyZWFkeSBpbnN0YWxsZWQg dGhlIG5hbWUgcmVzb2x2ZXIgaW4gdGhlIGZpbGUgbGlicmVzb2x2LmEsCi10aGVuIHlvdSBu ZWVkIHRvIGNvbXBpbGUgRW1hY3MgdG8gdXNlIHRoYXQgbGlicmFyeS4gIFRoZSBlYXNpZXN0 IHdheSB0bwotZG8gdGhpcyBpcyB0byBhZGQgdG8gY29uZmlnLmggYSBkZWZpbml0aW9uIG9m IExJQlNfU1lTVEVNLCBMSUJTX01BQ0hJTkUKLW9yIExJQl9TVEFOREFSRCB3aGljaCB1c2Vz IC1scmVzb2x2LiAgV2F0Y2ggb3V0ISAgSWYgeW91IHJlZGVmaW5lIGEgbWFjcm8KLXRoYXQg aXMgYWxyZWFkeSBpbiB1c2UgaW4geW91ciBjb25maWd1cmF0aW9uIHRvIHN1cHBseSBzb21l IG90aGVyIGxpYnJhcmllcywKLWJlIGNhcmVmdWwgbm90IHRvIGxvc2UgdGhlIG90aGVycy4K LQotVGh1cywgeW91IGNvdWxkIHN0YXJ0IGJ5IGFkZGluZyB0aGlzIHRvIGNvbmZpZy5oOgot Ci0jZGVmaW5lIExJQlNfU1lTVEVNIC1scmVzb2x2Ci0KLVRoZW4gaWYgdGhpcyBnaXZlcyB5 b3UgYW4gZXJyb3IgZm9yIHJlZGVmaW5pbmcgYSBtYWNybywgYW5kIHlvdSBzZWUgdGhhdAot Y29uZmlnLmggYWxyZWFkeSBkZWZpbmVzIExJQlNfU1lTVEVNIGFzIC1sZm9vIC1sYmFyIGF0 IHNvbWUgb3RoZXIgcG9pbnQKLShwb3NzaWJseSBpbiBhbiBpbmNsdWRlZCBmaWxlKSB5b3Ug Y291bGQgY2hhbmdlIGl0IHRvIHNheSB0aGlzOgotCi0jZGVmaW5lIExJQlNfU1lTVEVNIC1s cmVzb2x2IC1sZm9vIC1sYmFyCit0aGVuIHlvdSBuZWVkIHRvIGNvbXBpbGUgRW1hY3MgdG8g dXNlIHRoYXQgbGlicmFyeS4KIAogKioqIEVtYWNzIGRvZXMgbm90IGtub3cgeW91ciBob3N0 J3MgZnVsbHktcXVhbGlmaWVkIGRvbWFpbiBuYW1lLgogCkBAIC0zMTc5LDI1ICszMTY1LDYg QEAKIAogVGhpcyBwcm9ibGVtIHNlZW1zIHRvIGJlIGEgbWF0dGVyIG9mIGNvbmZpZ3VyaW5n IHRoZSBERUNzZXJ2ZXIgdG8gdXNlCiA3IGJpdCBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIDgg Yml0IGNoYXJhY3RlcnMuCi0KLSogQnVpbGQgcHJvYmxlbXMgb24gbGVnYWN5IHN5c3RlbXMK LQotKiogU3VuT1M6IEVtYWNzIGdldHMgZXJyb3IgbWVzc2FnZSBmcm9tIGxpbmtlciBvbiBT dW4uCi0KLUlmIHRoZSBlcnJvciBtZXNzYWdlIHNheXMgdGhhdCBhIHN5bWJvbCBzdWNoIGFz IGBmNjg4ODFfdXNlZCcgb3IKLWBmZnBhX3VzZWQnIG9yIGBzdGFydF9mbG9hdCcgaXMgdW5k ZWZpbmVkLCB0aGlzIHByb2JhYmx5IGluZGljYXRlcwotdGhhdCB5b3UgaGF2ZSBjb21waWxl ZCBzb21lIGxpYnJhcmllcywgc3VjaCBhcyB0aGUgWCBsaWJyYXJpZXMsCi13aXRoIGEgZmxv YXRpbmcgcG9pbnQgb3B0aW9uIG90aGVyIHRoYW4gdGhlIGRlZmF1bHQuCi0KLUl0J3Mgbm90 IHRlcnJpYmx5IGhhcmQgdG8gbWFrZSB0aGlzIHdvcmsgd2l0aCBzbWFsbCBjaGFuZ2VzIGlu Ci1jcnQwLmMgdG9nZXRoZXIgd2l0aCBsaW5raW5nIHdpdGggRmNydDEubywgV2NydDEubyBv ciBNY3J0MS5vLgotSG93ZXZlciwgdGhlIGVhc2llc3QgYXBwcm9hY2ggaXMgdG8gYnVpbGQg WGxpYiB3aXRoIHRoZSBkZWZhdWx0Ci1mbG9hdGluZyBwb2ludCBvcHRpb246IC1mc29mdC4K LQotKiogSFBVWCAxMC4yMDogRW1hY3MgY3Jhc2hlcyBkdXJpbmcgZHVtcGluZyBvbiB0aGUg SFBQQSBtYWNoaW5lLgotCi1UaGlzIHNlZW1zIHRvIGJlIGR1ZSB0byBhIEdDQyBidWc7IGl0 IGlzIGZpeGVkIGluIEdDQyAyLjguMS4KLQogDAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IEVtYWNzLgogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL0NoYW5nZUxvZycKLS0tIHNyYy9D aGFuZ2VMb2cJMjAxMy0wMi0yMSAwMjozNTozMyArMDAwMAorKysgc3JjL0NoYW5nZUxvZwky MDEzLTAyLTIyIDA4OjExOjA1ICswMDAwCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTMtMDItMjIg IFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJU2ltcGxpZnkgZGF0YV9z dGFydCBjb25maWd1cmF0aW9uLgorCVRoaXMgaXMgYSBmb2xsb3dvbiBzaW1wbGlmaWNhdGlv biB0byB0aGUgZml4IGZvciBCdWcjMTM2NTAuCisJKiBNYWtlZmlsZS5pbiAoTERfRklSU1RG TEFHLCBMSUJfR0NDLCBDUlRfRElSLCBMSUJfU1RBTkRBUkQpCisJKFNUQVJUX0ZJTEVTKTog UmVtb3ZlLiAgQWxsIHVzZXMgcmVtb3ZlZC4KKwkob3RoZXJvYmopOiBSZW1vdmUgJChWTUxJ TUlUX09CSiksIGFzIGl0J3Mgbm93IGZpcnN0LgorCShidWlsZG9iai5oKTogTWVudGlvbiBW TUxJTUlUX09CSiBmaXJzdCwgYXMgb3RoZXJvYmogbm8gbG9uZ2VyCisJbWVudGlvbnMgaXQu CisJKCQoVk1MSU1JVF9PQkopKTogRGVwZW5kIG9uIGdsb2JhbHMuaC4KKwkodGVtYWNzJChF WEVFWFQpKTogTGluayAkKFZNTElNSVRfT0JKKSBmaXJzdC4KKwkqIGF1dG9kZXBzLm1rIChB TExPQkpTKTogUmVtb3ZlICQoU1RBUlRfRklMRVMpLgorCSogZGVwcy5tayAodm0tbGltaXQu byk6CisJKiBtYWtlZmlsZS53MzItaW4gKCQoQkxEKS92bS1saW1pdC4kKE8pKToKKwlEbyBu b3QgZGVwZW5kIG9uIG1lbS1saW1pdHMuaC4KKwkqIGVtYWNzLmMgKF9fZG9fZ2xvYmFsX2N0 b3JzLCBfX2RvX2dsb2JhbF9jdG9yc19hdXgpCisJKF9fZG9fZ2xvYmFsX2R0b3JzLCBfX0NU T1JfTElTVF9fLCBfX0RUT1JfTElTVF9fKQorCVtfX0dOVUNfXyAmJiAhT1JESU5BUllfTElO S106IFJlbW92ZS4KKwkqIG1lbS1saW1pdHMuaCwgcHJlLWNydDAuYzogUmVtb3ZlLgorCSog dW5leGFpeC5jLCB1bmV4Y29mZi5jOiBEb24ndCBpbmNsdWRlIG1lbS1saW1pdHMuaC4KKwkq IHVuZXhjb2ZmLmMgKGdldF9kYXRhX3N0YXJ0KTogTmV3IGRlY2wuCisJKG1ha2VfaGRyKTog Q2FsbCBpdCBpbnN0ZWFkIG9mIHN0YXJ0X29mX2RhdGEuCisJKiB2bS1saW1pdC5jOiBNb3Zl IG1vc3Qgb2YgbWVtLWxpbWl0cy5oJ3MgY29udGVudHMgaGVyZS4KKwkoZGF0YV9zdGFydCk6 IE5ldyBkZWNsLiAgSXQncyBPSyBpZiB0aGlzIGlzIGFwcHJveGltYXRlLAorCXNvIHNpbXBs aWZ5LWF3YXkgc29tZSB1bm5lY2Vzc2FyeSBleGFjdG5lc3MuCisJKFBPSU5URVIpOiBSZW1v dmU7IGFsbCB1c2VzIHJlbW92ZWQuCisJKGRhdGFfc3BhY2Vfc3RhcnQpOiBOb3cgY2hhciAq LCB0byBhdm9pZCBjYXN0cy4KKwkoZXhjZWVkc19saXNwX3B0cik6IE5ldyBmdW5jdGlvbiwg cmVwbGFjaW5nIHRoZSBvbGQKKwlFWENFRURTX0xJU1BfUFRSIG1hY3JvLiAgQWxsIHVzZXMg Y2hhbmdlZC4KKwkoY2hlY2tfbWVtb3J5X2xpbWl0cyk6IFNpbXBsaWZ5IGFuZCByZW1vdmUg Y2FzdHMuCisJKHN0YXJ0X29mX2RhdGEpIFshQ0FOTk9UX0RVTVAgfHwgIVNZU1RFTV9NQUxM T0NdOiBSZW1vdmUuCisJKG1lbW9yeV93YXJuaW5ncyk6IFVzZSBkYXRhX3N0YXJ0IGluc3Rl YWQgb2Ygc3RhcnRfb2ZfZGF0YS4KKwogMjAxMy0wMi0yMSAgS2VuIEJyb3duICA8a2Jyb3du QGNvcm5lbGwuZWR1PgogCiAJKiBzaGVhcC5jIChyZXBvcnRfc2hlYXBfdXNhZ2UpOiBGaXgg YXJndW1lbnRzIG9mIG1lc3NhZ2UxX25vX2xvZy4KCj09PSBtb2RpZmllZCBmaWxlICdzcmMv TWFrZWZpbGUuaW4nCi0tLSBzcmMvTWFrZWZpbGUuaW4JMjAxMy0wMS0wMiAxNjoxMzowNCAr MDAwMAorKysgc3JjL01ha2VmaWxlLmluCTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAg LTM2LDcgKzM2LDYgQEAKIENGTEFHUyA9IEBDRkxBR1NACiBDUFBGTEFHUyA9IEBDUFBGTEFH U0AKIExERkxBR1MgPSBATERGTEFHU0AKLUxEX0ZJUlNURkxBRz1ATERfRklSU1RGTEFHQAog RVhFRVhUID0gQEVYRUVYVEAKIHZlcnNpb24gPSBAdmVyc2lvbkAKICMgU3Vic3RpdHV0ZSBh biBhc3NpZ25tZW50IGZvciB0aGUgTUFLRSB2YXJpYWJsZSwgYmVjYXVzZQpAQCAtMTAyLDEw ICsxMDEsOCBAQAogIyMgU3lzdGVtLXNwZWNpZmljIExERkxBR1MuCiBMRF9TV0lUQ0hfU1lT VEVNPUBMRF9TV0lUQ0hfU1lTVEVNQAogCi0jIyBUaGlzIGhvbGRzIGFueSBzcGVjaWFsIG9w dGlvbnMgZm9yIGxpbmtpbmcgdGVtYWNzIG9ubHkgKGllLCBub3QKLSMjIHVzZWQgYnkgY29u ZmlndXJlKS4gIE5vdCB1c2VkIGVsc2V3aGVyZSBiZWNhdXNlIGl0IHNvbWV0aW1lcwotIyMg Y29udGFpbnMgb3B0aW9ucyB0aGF0IGhhdmUgdG8gZG8gd2l0aCB1c2luZyBFbWFjcydzIGNy dDAsCi0jIyB3aGljaCBhcmUgb25seSBnb29kIHdpdGggdGVtYWNzLgorIyMgVGhpcyBob2xk cyBhbnkgc3BlY2lhbCBvcHRpb25zIGZvciBsaW5raW5nIHRlbWFjcyBvbmx5IChpLmUuLCBu b3QKKyMjIHVzZWQgYnkgY29uZmlndXJlKS4KIExEX1NXSVRDSF9TWVNURU1fVEVNQUNTPUBM RF9TV0lUQ0hfU1lTVEVNX1RFTUFDU0AKIAogIyMgRmxhZ3MgdG8gcGFzcyB0byBsZCBvbmx5 IGZvciB0ZW1hY3MuCkBAIC0xMjAsMTQgKzExNyw2IEBACiAjIyBTb21lIHN5c3RlbXMgZGVm aW5lIHRoaXMgdG8gcmVxdWVzdCBzcGVjaWFsIGxpYnJhcmllcy4KIExJQlNfU1lTVEVNPUBM SUJTX1NZU1RFTUAKIAotIyMgV2hlcmUgdG8gZmluZCBsaWJnY2MuYSwgaWYgdXNpbmcgZ2Nj IGFuZCBuZWNlc3NhcnkuCi1MSUJfR0NDPUBMSUJfR0NDQAotCi1DUlRfRElSPUBDUlRfRElS QAotIyMgTWF5IHVzZSAkQ1JUX0RJUi4KLUxJQl9TVEFOREFSRD1ATElCX1NUQU5EQVJEQAot U1RBUlRfRklMRVMgPSBAU1RBUlRfRklMRVNACi0KICMjIC1sbSwgb3IgZW1wdHkuCiBMSUJf TUFUSD1ATElCX01BVEhACiAKQEAgLTM4OSw3ICszNzgsNyBAQAogCiAjIyBMaXN0IG9mIG9i amVjdCBmaWxlcyB0aGF0IG1ha2UtZG9jZmlsZSBzaG91bGQgbm90IGJlIHRvbGQgYWJvdXQu CiBvdGhlcm9iaj0gJChURVJNQ0FQX09CSikgJChQUkVfQUxMT0NfT0JKKSAkKEdNQUxMT0Nf T0JKKSAkKFJBTExPQ19PQkopIFwKLSAgJChQT1NUX0FMTE9DX09CSikgJChWTUxJTUlUX09C SikgJChXSURHRVRfT0JKKSAkKExJQk9CSlMpCisgICQoUE9TVF9BTExPQ19PQkopICQoV0lE R0VUX09CSikgJChMSUJPQkpTKQogCiAKICMjIENvbmZpZ3VyZSBpbnNlcnRzIHRoZSBmaWxl IGxpc3AubWsgYXQgdGhpcyBwb2ludCwgZGVmaW5pbmcgJGxpc3AuCkBAIC0zOTcsOSArMzg2 LDYgQEAKIAogCiAjIyBDb25zdHJ1Y3QgZnVsbCBzZXQgb2YgbGlicmFyaWVzIHRvIGJlIGxp bmtlZC4KLSMjIE5vdGUgdGhhdCBTdW5PUyBuZWVkcyAtbG0gdG8gY29tZSBiZWZvcmUgLWxj OyBvdGhlcndpc2UsIHlvdSBnZXQKLSMjIGR1cGxpY2F0ZWQgc3ltYm9scy4gIElmIHRoZSBz dGFuZGFyZCBsaWJyYXJpZXMgd2VyZSBjb21waWxlZAotIyMgd2l0aCBHQ0MsIHdlIG1pZ2h0 IG5lZWQgTElCX0dDQyBhZ2FpbiBhZnRlciB0aGVtLgogTElCRVMgPSAkKExJQlMpICQoVzMy X0xJQlMpICQoTElCU19HTlVTVEVQKSAkKExJQlhfQkFTRSkgJChMSUJJTUFHRSkgXAogICAg JChMSUJYX09USEVSKSAkKExJQlNPVU5EKSBcCiAgICAkKFJTVkdfTElCUykgJChJTUFHRU1B R0lDS19MSUJTKSAkKExJQl9DTE9DS19HRVRUSU1FKSBcCkBAIC00MDksNyArMzk1LDcgQEAK ICAgICQoTElCU19URVJNQ0FQKSAkKEdFVExPQURBVkdfTElCUykgJChTRVRUSU5HU19MSUJT KSAkKExJQlNFTElOVVhfTElCUykgXAogICAgJChGUkVFVFlQRV9MSUJTKSAkKEZPTlRDT05G SUdfTElCUykgJChMSUJPVEZfTElCUykgJChNMTdOX0ZMVF9MSUJTKSBcCiAgICAkKExJQkFD TF9MSUJTKSAkKExJQkdOVVRMU19MSUJTKSAkKExJQl9QVEhSRUFEKSAkKExJQl9QVEhSRUFE X1NJR01BU0spIFwKLSAgICQoTElCX0dDQykgJChMSUJfTUFUSCkgJChMSUJfU1RBTkRBUkQp ICQoTElCX0dDQykKKyAgICQoTElCX01BVEgpCiAKIGFsbDogZW1hY3MkKEVYRUVYVCkgJChP VEhFUl9GSUxFUykKIC5QSE9OWTogYWxsCkBAIC00NTYsNyArNDQyLDcgQEAKIAljZCAkKGxp YnNyYyk7ICQoTUFLRSkgJChNRkxBR1MpIG1ha2UtZG9jZmlsZSQoRVhFRVhUKQogCiBidWls ZG9iai5oOiBNYWtlZmlsZQotCWVjaG8gIiNkZWZpbmUgQlVJTERPQkogXCIkKG9iaikgJChv dGhlcm9iaikgIiAiXCIiID4gYnVpbGRvYmouaAorCWVjaG8gIiNkZWZpbmUgQlVJTERPQkog XCIkKFZNTElNSVRfT0JKKSAkKG9iaikgJChvdGhlcm9iaikgIiAiXCIiID4kQAogCiBnbG9i YWxzLmg6IGdsLXN0YW1wOyBAdHJ1ZQogCkBAIC00NjgsMTUgKzQ1NCwxNSBAQAogCSQoc3Jj ZGlyKS8uLi9idWlsZC1hdXgvbW92ZS1pZi1jaGFuZ2UgZ2wtdG1wIGdsb2JhbHMuaAogCWVj aG8gdGltZXN0YW1wID4gJEAKIAotJChvYmopICQob3RoZXJvYmopOiBnbG9iYWxzLmgKKyQo Vk1MSU1JVF9PQkopICQob2JqKSAkKG90aGVyb2JqKTogZ2xvYmFscy5oCiAKICQobGliKS9s aWJnbnUuYTogJChjb25maWdfaCkKIAljZCAkKGxpYikgJiYgJChNQUtFKSBsaWJnbnUuYQog Ci10ZW1hY3MkKEVYRUVYVCk6ICQoU1RBUlRfRklMRVMpIHN0YW1wLW9sZHhtZW51ICQob2Jq KSAkKG90aGVyb2JqKSBcCit0ZW1hY3MkKEVYRUVYVCk6ICQoVk1MSU1JVF9PQkopIHN0YW1w LW9sZHhtZW51ICQob2JqKSAkKG90aGVyb2JqKSBcCiAJICAgICAgICAgJChsaWIpL2xpYmdu dS5hICQoVzMyX1JFUykKLQkkKENDKSAkKExEX0ZJUlNURkxBRykgJChBTExfQ0ZMQUdTKSAk KFRFTUFDU19MREZMQUdTKSAkKExERkxBR1MpIFwKLQkgIC1vIHRlbWFjcyAkKFNUQVJUX0ZJ TEVTKSAkKG9iaikgJChvdGhlcm9iaikgJChsaWIpL2xpYmdudS5hICQoTElCRVMpIFwKKwkk KENDKSAkKEFMTF9DRkxBR1MpICQoVEVNQUNTX0xERkxBR1MpICQoTERGTEFHUykgXAorCSAg LW8gdGVtYWNzICQoVk1MSU1JVF9PQkopICQob2JqKSAkKG90aGVyb2JqKSAkKGxpYikvbGli Z251LmEgJChMSUJFUykgXAogCSAgJChXMzJfUkVTX0xJTkspCiAJdGVzdCAiJChDQU5OT1Rf RFVNUCkiID0gInllcyIgfHwgXAogCSAgdGVzdCAiWCQoUEFYQ1RMKSIgPSBYIHx8ICQoUEFY Q1RMKSAtciB0ZW1hY3MkKEVYRUVYVCkKCj09PSBtb2RpZmllZCBmaWxlICdzcmMvYXV0b2Rl cHMubWsnCi0tLSBzcmMvYXV0b2RlcHMubWsJMjAxMC0wNy0wOCAwMzozMTowNCArMDAwMAor Kysgc3JjL2F1dG9kZXBzLm1rCTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTIsNSAr Miw1IEBACiAKICMjIFRoaXMgaXMgaW5zZXJ0ZWQgaW4gc3JjL01ha2VmaWxlIGlmIEFVVE9f REVQRU5EPXllcy4KIAotQUxMT0JKUz0kKFNUQVJUX0ZJTEVTKSAke29ian0gJHtvdGhlcm9i an0KK0FMTE9CSlM9JHtvYmp9ICR7b3RoZXJvYmp9CiAtaW5jbHVkZSAkKEFMTE9CSlM6JS5v PSR7REVQRElSfS8lLmQpCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL2RlcHMubWsnCi0tLSBz cmMvZGVwcy5tawkyMDEzLTAxLTAyIDE2OjEzOjA0ICswMDAwCisrKyBzcmMvZGVwcy5tawky MDEzLTAyLTIyIDA4OjExOjA1ICswMDAwCkBAIC0xNDQsNyArMTQ0LDcgQEAKICAgIGRpc3Bl eHRlcm4uaCBsaXNwLmggZ2xvYmFscy5oICQoY29uZmlnX2gpIHN5c3RpbWUuaCBjb2Rpbmcu aCBjb21wb3NpdGUuaAogZ21hbGxvYy5vOiBnbWFsbG9jLmMgJChjb25maWdfaCkKIHJhbGxv Yy5vOiByYWxsb2MuYyBsaXNwLmggJChjb25maWdfaCkKLXZtLWxpbWl0Lm86IHZtLWxpbWl0 LmMgbWVtLWxpbWl0cy5oIGxpc3AuaCBnbG9iYWxzLmggJChjb25maWdfaCkKK3ZtLWxpbWl0 Lm86IHZtLWxpbWl0LmMgbGlzcC5oIGdsb2JhbHMuaCAkKGNvbmZpZ19oKQogbWFya2VyLm86 IG1hcmtlci5jIGJ1ZmZlci5oIGNoYXJhY3Rlci5oIGxpc3AuaCBnbG9iYWxzLmggJChjb25m aWdfaCkKIG1pbmlidWYubzogbWluaWJ1Zi5jIHN5bnRheC5oIGZyYW1lLmggd2luZG93Lmgg a2V5Ym9hcmQuaCBzeXN0aW1lLmggXAogICAgYnVmZmVyLmggY29tbWFuZHMuaCBjaGFyYWN0 ZXIuaCBtc2Rvcy5oICQoSU5URVJWQUxTX0gpIGtleW1hcC5oIFwKCj09PSBtb2RpZmllZCBm aWxlICdzcmMvZW1hY3MuYycKLS0tIHNyYy9lbWFjcy5jCTIwMTMtMDItMDcgMDY6MjM6NTQg KzAwMDAKKysrIHNyYy9lbWFjcy5jCTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTUy MSwzMiArNTIxLDYgQEAKIHN0YXRpYyBjaGFyIGNvbnN0IGR1bXBfdHpbXSA9ICJVdEMwIjsK ICNlbmRpZgogCi0jaWZuZGVmIE9SRElOQVJZX0xJTksKLS8qIFdlIGRvbid0IGluY2x1ZGUg Y3J0YmVnaW4ubyBhbmQgY3J0ZW5kLm8gaW4gdGhlIGxpbmssCi0gICBzbyB0aGVzZSBmdW5j dGlvbnMgYW5kIHZhcmlhYmxlcyBtaWdodCBiZSBtaXNzZWQuCi0gICBQcm92aWRlIGR1bW15 IGRlZmluaXRpb25zIHRvIGF2b2lkIGVycm9yLgotICAgKFdlIGRvbid0IGhhdmUgYW55IHJl YWwgY29uc3RydWN0b3JzIG9yIGRlc3RydWN0b3JzLikgICovCi0jaWZkZWYgX19HTlVDX18K LQotLyogRGVmaW5lIGEgZHVtbXkgZnVuY3Rpb24gRi4gIERlY2xhcmUgRiB0b28sIHRvIHBh Y2lmeSBnY2MKLSAgIC1XbWlzc2luZy1wcm90b3R5cGVzLiAgKi8KLSNkZWZpbmUgREVGSU5F X0RVTU1ZX0ZVTkNUSU9OKGYpIFwKLSAgdm9pZCBmICh2b2lkKSBBVFRSSUJVVEVfQ09OU1Qg RVhURVJOQUxMWV9WSVNJQkxFOyB2b2lkIGYgKHZvaWQpIHt9Ci0KLSNpZm5kZWYgR0NDX0NU T1JTX0lOX0xJQkMKLURFRklORV9EVU1NWV9GVU5DVElPTiAoX19kb19nbG9iYWxfY3RvcnMp Ci1ERUZJTkVfRFVNTVlfRlVOQ1RJT04gKF9fZG9fZ2xvYmFsX2N0b3JzX2F1eCkKLURFRklO RV9EVU1NWV9GVU5DVElPTiAoX19kb19nbG9iYWxfZHRvcnMpCi0vKiBHTlUvTGludXggaGFz IGEgYnVnIGluIGl0cyBsaWJyYXJ5OyBhdm9pZCBhbiBlcnJvci4gICovCi0jaWZuZGVmIEdO VV9MSU5VWAotY2hhciAqIF9fQ1RPUl9MSVNUX19bMl0gRVhURVJOQUxMWV9WSVNJQkxFID0g eyAoY2hhciAqKSAoLTEpLCAwIH07Ci0jZW5kaWYKLWNoYXIgKiBfX0RUT1JfTElTVF9fWzJd IEVYVEVSTkFMTFlfVklTSUJMRSA9IHsgKGNoYXIgKikgKC0xKSwgMCB9OwotI2VuZGlmIC8q IEdDQ19DVE9SU19JTl9MSUJDICovCi1ERUZJTkVfRFVNTVlfRlVOQ1RJT04gKF9fbWFpbikK LSNlbmRpZiAvKiBfX0dOVUNfXyAqLwotI2VuZGlmIC8qIE9SRElOQVJZX0xJTksgKi8KLQog LyogVGVzdCB3aGV0aGVyIHRoZSBuZXh0IGFyZ3VtZW50IGluIEFSR1YgbWF0Y2hlcyBTU1RS IG9yIGEgcHJlZml4IG9mCiAgICBMU1RSIChhdCBsZWFzdCBNSU5MRU4gY2hhcmFjdGVycyku ICBJZiBzbywgdGhlbiBpZiBWQUxQVFIgaXMgbm9uLW51bGwKICAgICh0aGUgYXJndW1lbnQg aXMgc3VwcG9zZWQgdG8gaGF2ZSBhIHZhbHVlKSBzdG9yZSBpbiAqVkFMUFRSIGVpdGhlcgoK PT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9tYWtlZmlsZS53MzItaW4nCi0tLSBzcmMvbWFrZWZp bGUudzMyLWluCTIwMTMtMDItMTMgMDA6NTA6MzggKzAwMDAKKysrIHNyYy9tYWtlZmlsZS53 MzItaW4JMjAxMy0wMi0yMiAwODoxMTowNSArMDAwMApAQCAtMTQ5Miw3ICsxNDkyLDYgQEAK IAogJChCTEQpL3ZtLWxpbWl0LiQoTykgOiBcCiAJJChTUkMpL3ZtLWxpbWl0LmMgXAotCSQo U1JDKS9tZW0tbGltaXRzLmggXAogCSQoU1JDKS93MzJoZWFwLmggXAogCSQoTlRfSU5DKS91 bmlzdGQuaCBcCiAJJChDT05GSUdfSCkgXAoKPT09IHJlbW92ZWQgZmlsZSAnc3JjL21lbS1s aW1pdHMuaCcKLS0tIHNyYy9tZW0tbGltaXRzLmgJMjAxMy0wMS0wMSAwOToxMTowNSArMDAw MAorKysgc3JjL21lbS1saW1pdHMuaAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCkBAIC0x LDQzICswLDAgQEAKLS8qIEluY2x1ZGVzIGZvciBtZW1vcnkgbGltaXQgd2FybmluZ3MuCi0g ICBDb3B5cmlnaHQgKEMpIDE5OTAsIDE5OTMtMTk5NiwgMjAwMS0yMDEzIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwKLSAgIEluYy4KLQotVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVt YWNzLgotCi1HTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi1HTlUgRW1hY3MgaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLWJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi1N RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCi1HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot Ci1Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQotYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotCi0jaWZkZWYgTVNET1MKLSNpbmNs dWRlIDxkcG1pLmg+Ci1leHRlcm4gaW50IGV0ZXh0OwotI2VuZGlmCi0KLS8qIFNvbWUgc3lz dGVtcyBuZWVkIHRoaXMgYmVmb3JlIDxzeXMvcmVzb3VyY2UuaD4uICAqLwotI2luY2x1ZGUg PHN5cy90eXBlcy5oPgotCi0jaWZkZWYgSEFWRV9TWVNfUkVTT1VSQ0VfSAotIyBpbmNsdWRl IDxzeXMvdGltZS5oPgotIyBpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KLSNlbHNlCi0jIGlm IEhBVkVfU1lTX1ZMSU1JVF9ICi0jICBpbmNsdWRlIDxzeXMvdmxpbWl0Lmg+CS8qIE9ic29s ZXRlLCBzYXlzIGdsaWJjICovCi0jIGVuZGlmCi0jZW5kaWYKLQotZXh0ZXJuIGNoYXIgKnN0 YXJ0X29mX2RhdGEgKHZvaWQpIEFUVFJJQlVURV9DT05TVDsKLSNpZiBVU0VfTFNCX1RBRyB8 fCBVSU5UUFRSX01BWCA8PSBWQUxfTUFYCi0jZGVmaW5lIEVYQ0VFRFNfTElTUF9QVFIocHRy KSAwCi0jZWxzZQotI2RlZmluZSBFWENFRURTX0xJU1BfUFRSKHB0cikgXAotICAoKCh1aW50 cHRyX3QpIChwdHIpICYgfkRBVEFfU0VHX0JJVFMpID4+IFZBTEJJVFMpCi0jZW5kaWYKCj09 PSByZW1vdmVkIGZpbGUgJ3NyYy9wcmUtY3J0MC5jJwotLS0gc3JjL3ByZS1jcnQwLmMJMjAx My0wMi0xMiAxODozMzo0MiArMDAwMAorKysgc3JjL3ByZS1jcnQwLmMJMTk3MC0wMS0wMSAw MDowMDowMCArMDAwMApAQCAtMSwxMCArMCwwIEBACi0vKiBUaGlzIGZpbGUgaXMgbG9hZGVk IGJlZm9yZSBjcnQwLm8gb24gbWFjaGluZXMgd2hlcmUgd2UgZG8gbm90Ci0gICByZW1hcCBw YXJ0IG9mIHRoZSBkYXRhIHNwYWNlIGludG8gdGV4dCBzcGFjZSBpbiB1bmV4ZWMuCi0gICBP biB0aGVzZSBtYWNoaW5lcywgdGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoIHN0YW5kYXJkIGNy dDAubydzCi0gICB0aGF0IG1ha2UgZW52aXJvbiBhbiBpbml0aWFsaXplZCB2YXJpYWJsZS4g IEhvd2V2ZXIsIHdlIGRvCi0gICBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgbGFiZWwgZGF0YV9z dGFydCBleGlzdHMgYW55d2F5LiAgKi8KLQotLyogQ3JlYXRlIGEgbGFiZWwgdG8gYXBwZWFy IGF0IHRoZSBiZWdpbm5pbmcgb2YgZGF0YSBzcGFjZS4KLSAgIEl0cyB2YWx1ZSBpcyBub256 ZXJvIHNvIHRoYXQgaXQgY2Fubm90IGJlIHB1dCBpbnRvIGJzcy4gICovCi0KLWludCBkYXRh X3N0YXJ0ID0gMTsKCj09PSBtb2RpZmllZCBmaWxlICdzcmMvdW5leGFpeC5jJwotLS0gc3Jj L3VuZXhhaXguYwkyMDEzLTAyLTE1IDA2OjM1OjU0ICswMDAwCisrKyBzcmMvdW5leGFpeC5j CTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTU5LDggKzU5LDYgQEAKICNpbmNsdWRl IDx1bmlzdGQuaD4KICNpbmNsdWRlIDxmY250bC5oPgogCi0jaW5jbHVkZSAibWVtLWxpbWl0 cy5oIgotCiBleHRlcm4gY2hhciBfZGF0YVtdOwogZXh0ZXJuIGNoYXIgX3RleHRbXTsKIAoK PT09IG1vZGlmaWVkIGZpbGUgJ3NyYy91bmV4Y29mZi5jJwotLS0gc3JjL3VuZXhjb2ZmLmMJ MjAxMy0wMS0wMiAxNjoxMzowNCArMDAwMAorKysgc3JjL3VuZXhjb2ZmLmMJMjAxMy0wMi0y MiAwODoxMTowNSArMDAwMApAQCAtOTksNyArOTksNyBAQAogCiAjaW5jbHVkZSA8c3lzL2Zp bGUuaD4KIAotI2luY2x1ZGUgIm1lbS1saW1pdHMuaCIKK2V4dGVybiB1bnNpZ25lZCBjaGFy ICpnZXRfZGF0YV9zdGFydCAodm9pZCk7CiAKIHN0YXRpYyBsb25nIGJsb2NrX2NvcHlfc3Rh cnQ7CQkvKiBPbGQgZXhlY3V0YWJsZSBzdGFydCBwb2ludCAqLwogc3RhdGljIHN0cnVjdCBm aWxlaGRyIGZfaGRyOwkJLyogRmlsZSBoZWFkZXIgKi8KQEAgLTE2OCw3ICsxNjgsNyBAQAog ICBwYWdlbWFzayA9IGdldHBhZ2VzaXplICgpIC0gMTsKIAogICAvKiBBZGp1c3QgdGV4dC9k YXRhIGJvdW5kYXJ5LiAqLwotICBkYXRhX3N0YXJ0ID0gKGludCkgc3RhcnRfb2ZfZGF0YSAo KTsKKyAgZGF0YV9zdGFydCA9IChpbnQpIGdldF9kYXRhX3N0YXJ0ICgpOwogICBkYXRhX3N0 YXJ0ID0gQUREUl9DT1JSRUNUIChkYXRhX3N0YXJ0KTsKICAgZGF0YV9zdGFydCA9IGRhdGFf c3RhcnQgJiB+cGFnZW1hc2s7IC8qIChEb3duKSB0byBwYWdlIGJvdW5kYXJ5LiAqLwogCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3ZtLWxpbWl0LmMnCi0tLSBzcmMvdm0tbGltaXQuYwky MDEzLTAxLTAyIDE2OjEzOjA0ICswMDAwCisrKyBzcmMvdm0tbGltaXQuYwkyMDEzLTAyLTIy IDA4OjExOjA1ICswMDAwCkBAIC0xOSw3ICsxOSwzMiBAQAogI2luY2x1ZGUgPGNvbmZpZy5o PgogI2luY2x1ZGUgPHVuaXN0ZC5oPiAvKiBmb3IgJ2Vudmlyb24nLCBvbiBBSVggKi8KICNp bmNsdWRlICJsaXNwLmgiCi0jaW5jbHVkZSAibWVtLWxpbWl0cy5oIgorCisjaWZkZWYgTVNE T1MKKyNpbmNsdWRlIDxkcG1pLmg+CisjZW5kaWYKKworLyogU29tZSBzeXN0ZW1zIG5lZWQg dGhpcyBiZWZvcmUgPHN5cy9yZXNvdXJjZS5oPi4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CisKKyNpZmRlZiBIQVZFX1NZU19SRVNPVVJDRV9ICisjIGluY2x1ZGUgPHN5cy90aW1l Lmg+CisjIGluY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2Vsc2UKKyMgaWYgSEFWRV9TWVNf VkxJTUlUX0gKKyMgIGluY2x1ZGUgPHN5cy92bGltaXQuaD4JLyogT2Jzb2xldGUsIHNheXMg Z2xpYmMgKi8KKyMgZW5kaWYKKyNlbmRpZgorCisvKiBTdGFydCBvZiBkYXRhLiAgSXQgaXMg T0sgaWYgdGhpcyBpcyBhcHByb3hpbWF0ZTsgaXQncyB1c2VkIG9ubHkgYXMKKyAgIGEgaGV1 cmlzdGljLiAgKi8KK2V4dGVybiBjaGFyIGRhdGFfc3RhcnRbXTsKKyNpZm5kZWYgSEFWRV9E QVRBX1NUQVJUCisvKiBJbml0aWFsaXplIHRvIG5vbnplcm8sIHNvIHRoYXQgaXQncyBwdXQg aW50byBkYXRhIGFuZCBub3QgYnNzLgorICAgTGluayB0aGlzIGZpbGUncyBvYmplY3QgY29k ZSBmaXJzdCwgc28gdGhhdCB0aGlzIHN5bWJvbCBpcyBuZWFyIHRoZQorICAgc3RhcnQgb2Yg ZGF0YS4gICovCitjaGFyIGRhdGFfc3RhcnRbMV0gPSB7IDEgfTsKKyNlbmRpZgogCiAvKgog ICBMZXZlbCBudW1iZXIgb2Ygd2FybmluZ3MgYWxyZWFkeSBpc3N1ZWQuCkBAIC0zMSwxOCAr NTYsMjQgQEAKIGVudW0gd2FybmxldmVsIHsgbm90X3dhcm5lZCwgd2FybmVkXzc1LCB3YXJu ZWRfODUsIHdhcm5lZF85NSB9Owogc3RhdGljIGVudW0gd2FybmxldmVsIHdhcm5sZXZlbDsK IAotdHlwZWRlZiB2b2lkICpQT0lOVEVSOwotCiAvKiBGdW5jdGlvbiB0byBjYWxsIHRvIGlz c3VlIGEgd2FybmluZzsKICAgIDAgbWVhbnMgZG9uJ3QgaXNzdWUgdGhlbS4gICovCiBzdGF0 aWMgdm9pZCAoKndhcm5fZnVuY3Rpb24pIChjb25zdCBjaGFyICopOwogCi0vKiBTdGFydCBv ZiBkYXRhIHNwYWNlOyBjYW4gYmUgY2hhbmdlZCBieSBjYWxsaW5nIG1hbGxvY19pbml0LiAg Ki8KLXN0YXRpYyBQT0lOVEVSIGRhdGFfc3BhY2Vfc3RhcnQ7CisvKiBTdGFydCBvZiBkYXRh IHNwYWNlOyBjYW4gYmUgY2hhbmdlZCBieSBjYWxsaW5nIG1lbW9yeV93YXJuaW5ncy4gICov CitzdGF0aWMgY2hhciAqZGF0YV9zcGFjZV9zdGFydDsKIAogLyogTnVtYmVyIG9mIGJ5dGVz IG9mIHdyaXRhYmxlIG1lbW9yeSB3ZSBjYW4gZXhwZWN0IHRvIGJlIGFibGUgdG8gZ2V0LiAg Ki8KIHN0YXRpYyBzaXplX3QgbGltX2RhdGE7CiAMCisvKiBSZXR1cm4gdHJ1ZSBpZiBQVFIg Y2Fubm90IGJlIHJlcHJlc2VudGVkIGFzIGFuIEVtYWNzIExpc3Agb2JqZWN0LiAgKi8KK3N0 YXRpYyBib29sCitleGNlZWRzX2xpc3BfcHRyICh2b2lkICpwdHIpCit7CisgIHJldHVybiAo ISBVU0VfTFNCX1RBRworCSAgJiYgVkFMX01BWCA8IFVJTlRQVFJfTUFYCisJICAmJiAoKHVp bnRwdHJfdCkgcHRyICYgfkRBVEFfU0VHX0JJVFMpID4+IFZBTEJJVFMgIT0gMCk7Cit9CiAK ICNpZmRlZiBIQVZFX0dFVFJMSU1JVAogCkBAIC0xMjMsMTEgKzE1NCwxMyBAQAogY2hlY2tf bWVtb3J5X2xpbWl0cyAodm9pZCkKIHsKICNpZmRlZiBSRUxfQUxMT0MKLSAgZXh0ZXJuIFBP SU5URVIgKCpyZWFsX21vcmVjb3JlKSAocHRyZGlmZl90KTsKKyAgZXh0ZXJuIHZvaWQgKigq cmVhbF9tb3JlY29yZSkgKHB0cmRpZmZfdCk7CisjZWxzZQorICB2b2lkICooKnJlYWxfbW9y ZWNvcmUpIChwdHJkaWZmX3QpID0gMDsKICNlbmRpZgotICBleHRlcm4gUE9JTlRFUiAoKl9f bW9yZWNvcmUpIChwdHJkaWZmX3QpOworICBleHRlcm4gdm9pZCAqKCpfX21vcmVjb3JlKSAo cHRyZGlmZl90KTsKIAotICByZWdpc3RlciBQT0lOVEVSIGNwOworICBjaGFyICpjcDsKICAg c2l6ZV90IGZpdmVfcGVyY2VudDsKICAgc2l6ZV90IGRhdGFfc2l6ZTsKICAgZW51bSB3YXJu bGV2ZWwgbmV3X3dhcm5sZXZlbDsKQEAgLTEzNywxMyArMTcwLDggQEAKICAgZml2ZV9wZXJj ZW50ID0gbGltX2RhdGEgLyAyMDsKIAogICAvKiBGaW5kIGN1cnJlbnQgZW5kIG9mIG1lbW9y eSBhbmQgaXNzdWUgd2FybmluZyBpZiBnZXR0aW5nIG5lYXIgbWF4ICovCi0jaWZkZWYgUkVM X0FMTE9DCi0gIGlmIChyZWFsX21vcmVjb3JlKQotICAgIGNwID0gKGNoYXIgKikgKCpyZWFs X21vcmVjb3JlKSAoMCk7Ci0gIGVsc2UKLSNlbmRpZgotICBjcCA9IChjaGFyICopICgqX19t b3JlY29yZSkgKDApOwotICBkYXRhX3NpemUgPSAoY2hhciAqKSBjcCAtIChjaGFyICopIGRh dGFfc3BhY2Vfc3RhcnQ7CisgIGNwID0gKHJlYWxfbW9yZWNvcmUgPyByZWFsX21vcmVjb3Jl IDogX19tb3JlY29yZSkgKDApOworICBkYXRhX3NpemUgPSBjcCAtIGRhdGFfc3BhY2Vfc3Rh cnQ7CiAKICAgaWYgKCF3YXJuX2Z1bmN0aW9uKQogICAgIHJldHVybjsKQEAgLTE5MCw2MiAr MjE4LDIwIEBACiAJd2FybmxldmVsID0gd2FybmVkXzg1OwogICAgIH0KIAotICBpZiAoRVhD RUVEU19MSVNQX1BUUiAoY3ApKQorICBpZiAoZXhjZWVkc19saXNwX3B0ciAoY3ApKQogICAg ICgqd2Fybl9mdW5jdGlvbikgKCJXYXJuaW5nOiBtZW1vcnkgaW4gdXNlIGV4Y2VlZHMgbGlz cCBwb2ludGVyIHNpemUiKTsKIH0KIAwKLSNpZiAhZGVmaW5lZCAoQ0FOTk9UX0RVTVApIHx8 ICFkZWZpbmVkIChTWVNURU1fTUFMTE9DKQotLyogU29tZSBzeXN0ZW1zIHRoYXQgY2Fubm90 IGR1bXAgYWxzbyBjYW5ub3QgaW1wbGVtZW50IHRoZXNlLiAgKi8KLQotLyoKLSAqCVJldHVy biB0aGUgYWRkcmVzcyBvZiB0aGUgc3RhcnQgb2YgdGhlIGRhdGEgc2VnbWVudCBwcmlvciB0 bwotICoJZG9pbmcgYW4gdW5leGVjLiAgQWZ0ZXIgdW5leGVjIHRoZSByZXR1cm4gdmFsdWUg aXMgdW5kZWZpbmVkLgotICoJU2VlIGNydDAuYyBmb3IgZnVydGhlciBpbmZvcm1hdGlvbiBh bmQgZGVmaW5pdGlvbiBvZiBkYXRhX3N0YXJ0LgotICoKLSAqCUFwcGFyZW50bHksIG9uIEJT RCBzeXN0ZW1zIHRoaXMgaXMgZXRleHQgYXQgc3RhcnR1cC4gIE9uCi0gKglVU0cgc3lzdGVt cyAoc3dhcHBpbmcpIHRoaXMgaXMgaGlnaGx5IG1tdSBkZXBlbmRlbnQgYW5kCi0gKglpcyBh bHNvIGRlcGVuZGVudCBvbiB3aGV0aGVyIG9yIG5vdCB0aGUgcHJvZ3JhbSBpcyBydW5uaW5n Ci0gKgl3aXRoIHNoYXJlZCB0ZXh0LiAgR2VuZXJhbGx5IHRoZXJlIGlzIGEgKHBvc3NpYmx5 IGxhcmdlKQotICoJZ2FwIGJldHdlZW4gZW5kIG9mIHRleHQgYW5kIHN0YXJ0IG9mIGRhdGEg d2l0aCBzaGFyZWQgdGV4dC4KLSAqCi0gKi8KLQotY2hhciAqCi1zdGFydF9vZl9kYXRhICh2 b2lkKQotewotI2lmZGVmIEJTRF9TWVNURU0KLSAgZXh0ZXJuIGNoYXIgZXRleHQ7Ci0gIHJl dHVybiAoUE9JTlRFUikoJmV0ZXh0KTsKLSNlbGlmIGRlZmluZWQgREFUQV9TVEFSVAotICBy ZXR1cm4gKChQT0lOVEVSKSBEQVRBX1NUQVJUKTsKLSNlbGlmIGRlZmluZWQgT1JESU5BUllf TElOSwotICAvKgotICAgKiBUaGlzIGlzIGEgaGFjay4gIFNpbmNlIHdlJ3JlIG5vdCBsaW5r aW5nIGNydDAuYyBvciBwcmVfY3J0MC5jLAotICAgKiBkYXRhX3N0YXJ0IGlzbid0IGRlZmlu ZWQuICBXZSB0YWtlIHRoZSBhZGRyZXNzIG9mIGVudmlyb24sIHdoaWNoCi0gICAqIGlzIGtu b3duIHRvIGxpdmUgYXQgb3IgbmVhciB0aGUgc3RhcnQgb2YgdGhlIHN5c3RlbSBjcnQwLmMs IGFuZAotICAgKiB3ZSBkb24ndCBzd2VhdCB0aGUgaGFuZGZ1bCBvZiBieXRlcyB0aGF0IG1p Z2h0IGxvc2UuCi0gICAqLwotICByZXR1cm4gKChQT0lOVEVSKSAmZW52aXJvbik7Ci0jZWxz ZQotICBleHRlcm4gaW50IGRhdGFfc3RhcnQ7Ci0gIHJldHVybiAoKFBPSU5URVIpICZkYXRh X3N0YXJ0KTsKLSNlbmRpZgotfQotI2VuZGlmIC8qIChub3QgQ0FOTk9UX0RVTVAgb3Igbm90 IFNZU1RFTV9NQUxMT0MpICovCi0MCiAvKiBFbmFibGUgbWVtb3J5IHVzYWdlIHdhcm5pbmdz LgogICAgU1RBUlQgc2F5cyB3aGVyZSB0aGUgZW5kIG9mIHB1cmUgc3RvcmFnZSBpcy4KICAg IFdBUk5GVU4gc3BlY2lmaWVzIHRoZSBmdW5jdGlvbiB0byBjYWxsIHRvIGlzc3VlIGEgd2Fy bmluZy4gICovCiAKIHZvaWQKLW1lbW9yeV93YXJuaW5ncyAoUE9JTlRFUiBzdGFydCwgdm9p ZCAoKndhcm5mdW4pIChjb25zdCBjaGFyICopKQorbWVtb3J5X3dhcm5pbmdzICh2b2lkICpz dGFydCwgdm9pZCAoKndhcm5mdW4pIChjb25zdCBjaGFyICopKQogewogICBleHRlcm4gdm9p ZCAoKiBfX2FmdGVyX21vcmVjb3JlX2hvb2spICh2b2lkKTsgICAgIC8qIEZyb20gZ21hbGxv Yy5jICovCiAKLSAgaWYgKHN0YXJ0KQotICAgIGRhdGFfc3BhY2Vfc3RhcnQgPSBzdGFydDsK LSAgZWxzZQotICAgIGRhdGFfc3BhY2Vfc3RhcnQgPSBzdGFydF9vZl9kYXRhICgpOworICBk YXRhX3NwYWNlX3N0YXJ0ID0gc3RhcnQgPyBzdGFydCA6IGRhdGFfc3RhcnQ7CiAKICAgd2Fy bl9mdW5jdGlvbiA9IHdhcm5mdW47CiAgIF9fYWZ0ZXJfbW9yZWNvcmVfaG9vayA9IGNoZWNr X21lbW9yeV9saW1pdHM7Cgo= --------------050202080209060103040000-- From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 22 08:07:28 2013 Received: (at 13783) by debbugs.gnu.org; 22 Feb 2013 13:07:28 +0000 Received: from localhost ([127.0.0.1]:43877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U8sLX-0004Ex-6z for submit@debbugs.gnu.org; Fri, 22 Feb 2013 08:07:28 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:41091) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U8sLT-0004En-4E for 13783@debbugs.gnu.org; Fri, 22 Feb 2013 08:07:25 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MIM00C00HERMA00@a-mtaout20.012.net.il> for 13783@debbugs.gnu.org; Fri, 22 Feb 2013 15:05:16 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MIM00CETHOSM820@a-mtaout20.012.net.il>; Fri, 22 Feb 2013 15:05:16 +0200 (IST) Date: Fri, 22 Feb 2013 15:05:35 +0200 From: Eli Zaretskii Subject: Re: simplify data_start configuration for Emacs In-reply-to: <512729DD.7040903@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83d2vsmrc0.fsf@gnu.org> References: <512729DD.7040903@cs.ucla.edu> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 13783 Cc: 13783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Fri, 22 Feb 2013 00:18:37 -0800 > From: Paul Eggert > CC: Eli Zaretskii > > Attached is a proposed patch that follows on to the Bug#13650 > fixes, by simplifying the code to remove most of the > data_start stuff, which is obsolete. This affects the > Windows port so I'm CC:ing this to Eli. Could you please explain more about what this is intended to accomplish? Some things seem wrong (a few specific comments below), but I don't feel I understand this enough to suggest better/more correct ways to do what you want. E.g., are we removing the data-start thing on all platforms where GCPRO is a no-op, i.e. those which support USE_LSB_TAG? > === modified file 'src/unexcoff.c' > --- src/unexcoff.c 2013-01-02 16:13:04 +0000 > +++ src/unexcoff.c 2013-02-22 08:11:05 +0000 > @@ -99,7 +99,7 @@ > > #include > > -#include "mem-limits.h" > +extern unsigned char *get_data_start (void); > > static long block_copy_start; /* Old executable start point */ > static struct filehdr f_hdr; /* File header */ > @@ -168,7 +168,7 @@ > pagemask = getpagesize () - 1; > > /* Adjust text/data boundary. */ > - data_start = (int) start_of_data (); > + data_start = (int) get_data_start (); > data_start = ADDR_CORRECT (data_start); > data_start = data_start & ~pagemask; /* (Down) to page boundary. */ This part is wrong: unexcoff.c is used only by the MSDOS build, but get_data_start is defined in w32heap.c, which is for the MS-Windows build. I'm not sure how to DTRT here (see above); all I can say at this point is that the MSDOS build currently defines DATA_START, see msdos/sed2v2.inp, and that definition is then used in start_of_data. > +/* Start of data. It is OK if this is approximate; it's used only as > + a heuristic. */ > +extern char data_start[]; > +#ifndef HAVE_DATA_START > +/* Initialize to nonzero, so that it's put into data and not bss. > + Link this file's object code first, so that this symbol is near the > + start of data. */ > +char data_start[1] = { 1 }; > +#endif Should platforms that HAVE_DATA_START initialize data_start to some value? Should _all_ platforms do that? If not, which ones should? > #ifdef REL_ALLOC > - extern POINTER (*real_morecore) (ptrdiff_t); > + extern void *(*real_morecore) (ptrdiff_t); This needs corresponding changes in ralloc.c, I think, at least for consistency if nothing else. > - extern POINTER (*__morecore) (ptrdiff_t); > + extern void *(*__morecore) (ptrdiff_t); Likewise. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 22 15:58:04 2013 Received: (at 13783) by debbugs.gnu.org; 22 Feb 2013 20:58:04 +0000 Received: from localhost ([127.0.0.1]:44709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U8zgv-0000NY-6a for submit@debbugs.gnu.org; Fri, 22 Feb 2013 15:58:04 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:34060) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U8zgn-0000NH-VW for 13783@debbugs.gnu.org; Fri, 22 Feb 2013 15:57:59 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 2409739E8100; Fri, 22 Feb 2013 12:56:29 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g1rKUFMcDlPY; Fri, 22 Feb 2013 12:56:26 -0800 (PST) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 68F6739E8008; Fri, 22 Feb 2013 12:56:26 -0800 (PST) Message-ID: <5127DB79.6000202@cs.ucla.edu> Date: Fri, 22 Feb 2013 12:56:25 -0800 From: Paul Eggert User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: simplify data_start configuration for Emacs References: <512729DD.7040903@cs.ucla.edu> <83d2vsmrc0.fsf@gnu.org> In-Reply-To: <83d2vsmrc0.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------090206080805070001010102" X-Spam-Score: -4.9 (----) X-Debbugs-Envelope-To: 13783 Cc: 13783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.9 (----) This is a multi-part message in MIME format. --------------090206080805070001010102 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 02/22/2013 05:05 AM, Eli Zaretskii wrote: > Could you please explain more about what this is intended to > accomplish? Mostly, it's simplification. There's a lot of cruft in there, about linking Emacs specially and so forth, that was needed way back when we made pure space read-only but is now no longer needed. > are we removing the data-start thing on all platforms where GCPRO is > a no-op, i.e. those which support USE_LSB_TAG? USE_LSB_TAG is a different thing. The patch omits data_start on hosts that use the system malloc, since data_start is now needed only on hosts where GNU Emacs supplies malloc. USE_LSB_TAG is more closely related to DATA_SEG_BITS, but that is not changed by this patch. > Should platforms that HAVE_DATA_START initialize data_start to some > value? Should _all_ platforms do that? If not, which ones should? No, data_start's contents are irrelevant. Only its address matters. On GNU hosts the linker supplies the address automatically; on non-GNU hosts we approximate it by declaring a variable whose contents don't matter. >> - extern POINTER (*real_morecore) (ptrdiff_t); >> + extern void *(*real_morecore) (ptrdiff_t); > > This needs corresponding changes in ralloc.c, I think, at least for > consistency if nothing else. Done in trunk bzr 111859, which simplifies the attached patch. Revised patch attached, relative to trunk bzr 111859. >> - data_start = (int) start_of_data (); >> + data_start = (int) get_data_start (); >... > This part is wrong: unexcoff.c is used only by the MSDOS build Thanks for catching that. I'll fix that as follows; this fix is contained in the attached patch. --- src/unexcoff.c 2013-02-22 08:11:05 +0000 +++ src/unexcoff.c 2013-02-22 19:39:27 +0000 @@ -99,7 +99,7 @@ #include -extern unsigned char *get_data_start (void); +extern int etext[]; static long block_copy_start; /* Old executable start point */ static struct filehdr f_hdr; /* File header */ @@ -168,7 +168,7 @@ pagemask = getpagesize () - 1; /* Adjust text/data boundary. */ - data_start = (int) get_data_start (); + data_start = (int) (etext + 1); data_start = ADDR_CORRECT (data_start); data_start = data_start & ~pagemask; /* (Down) to page boundary. */ --------------090206080805070001010102 Content-Type: text/plain; charset=us-ascii; name="data_start.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="data_start.txt" PT09IG1vZGlmaWVkIGZpbGUgJ0NoYW5nZUxvZycKLS0tIENoYW5nZUxvZwkyMDEzLTAyLTIx IDIyOjQyOjU2ICswMDAwCisrKyBDaGFuZ2VMb2cJMjAxMy0wMi0yMiAwODoyMTo1NSArMDAw MApAQCAtMSwzICsxLDEyIEBACisyMDEzLTAyLTIyICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBj cy51Y2xhLmVkdT4KKworCVNpbXBsaWZ5IGRhdGFfc3RhcnQgY29uZmlndXJhdGlvbiAoQnVn IzEzNzgzKS4KKwkqIGNvbmZpZ3VyZS5hYyAoQ1JUX0RJUiwgTElCX1NUQU5EQVJELCBTVEFS VF9GSUxFUywgREFUQV9TVEFSVCkKKwkoTERfRklSU1RGTEFHLCBPUkRJTkFSWV9MSU5LLCBM SUJfR0NDKTogUmVtb3ZlLgorCShBQ19DSEVDS19IRUFERVJTX09OQ0UpOiBSZW1vdmUgc3lz L3Jlc291cmNlLmgsIGFzIGl0J3MKKwlub3QgYWx3YXlzIG5lZWRlZC4KKwkoSEFWRV9EQVRB X1NUQVJUKTogTmV3IG1hY3JvLgorCiAyMDEzLTAyLTIxICBQYXVsIEVnZ2VydCAgPGVnZ2Vy dEBjcy51Y2xhLmVkdT4KIAogCVBhcmFsbGVsaXplIGRvY3VtZW50YXRpb24gYnVpbGRzLgoK PT09IG1vZGlmaWVkIGZpbGUgJ2FkbWluL0NQUC1ERUZJTkVTJwotLS0gYWRtaW4vQ1BQLURF RklORVMJMjAxMi0xMi0xNCAxODo1OTowMCArMDAwMAorKysgYWRtaW4vQ1BQLURFRklORVMJ MjAxMy0wMi0yMiAwODoxMTowNSArMDAwMApAQCAtOTAsNyArOTAsNiBAQAogQlJPS0VOX1BU WV9SRUFEX0FGVEVSX0VBR0FJTgogQ0xBU0hfREVURUNUSU9OCiBEQVRBX1NFR19CSVRTCi1E QVRBX1NUQVJUCiBERUZBVUxUX1NPVU5EX0RFVklDRQogREVWSUNFX1NFUAogRElSRUNUT1JZ X1NFUApAQCAtNDA4LDcgKzQwNyw2IEBACiBOU0lHCiBOU0lHX01JTklNVU0KIE5VTExfREVW SUNFCi1PUkRJTkFSWV9MSU5LCiBQQUdFU0laRQogUFJFRkVSX1ZTVVNQCiBQVFlfSVRFUkFU SU9OCgo9PT0gbW9kaWZpZWQgZmlsZSAnYWRtaW4vQ2hhbmdlTG9nJwotLS0gYWRtaW4vQ2hh bmdlTG9nCTIwMTMtMDItMTEgMjM6Mzc6MTggKzAwMDAKKysrIGFkbWluL0NoYW5nZUxvZwky MDEzLTAyLTIyIDA4OjIxOjU1ICswMDAwCkBAIC0xLDMgKzEsOCBAQAorMjAxMy0wMi0yMiAg UGF1bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CisKKwlTaW1wbGlmeSBkYXRhX3N0 YXJ0IGNvbmZpZ3VyYXRpb24gKEJ1ZyMxMzc4MykuCisJKiBDUFAtREVGSU5FUyAoREFUQV9T VEFSVCwgT1JESU5BUllfTElOSyk6IFJlbW92ZS4KKwogMjAxMy0wMi0xMSAgUGF1bCBFZ2dl cnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CiAKIAlUdW5lIGJ5IHVzaW5nIG1lbWNociBhbmQg bWVtcmNoci4KCj09PSBtb2RpZmllZCBmaWxlICdjb25maWd1cmUuYWMnCi0tLSBjb25maWd1 cmUuYWMJMjAxMy0wMi0xNSAwNjozNTo1NCArMDAwMAorKysgY29uZmlndXJlLmFjCTIwMTMt MDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTIzMCwxMiArMjMwLDYgQEAKICAgIGZpCiBmaQog Ci1DUlRfRElSPQotQUNfQVJHX1dJVEgoW2NydC1kaXJdLGRubAotW0FTX0hFTFBfU1RSSU5H KFstLXdpdGgtY3J0LWRpcj1ESVJdLFtkaXJlY3RvcnkgY29udGFpbmluZyBjcnRuLm8gZXRj LgotVGhlIGRlZmF1bHQgaXMgL3Vzci9saWIsIG9yIC91c3IvbGliNjQgb24gc29tZSBwbGF0 Zm9ybXMuXSldKQotQ1JUX0RJUj0iJHt3aXRoX2NydF9kaXJ9IgotCiBBQ19BUkdfV0lUSChn YW1ldXNlcixkbmwKIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWdhbWV1c2VyPVVTRVJdLFt1 c2VyIGZvciBzaGFyZWQgZ2FtZSBzY29yZSBmaWxlc10pXSkKIHRlc3QgIlgke3dpdGhfZ2Ft ZXVzZXJ9IiAhPSBYICYmIHRlc3QgIiR7d2l0aF9nYW1ldXNlcn0iICE9IHllcyBcCkBAIC0x MDUxLDQyICsxMDQ1LDI5IEBACiAKIAogTElCX01BVEg9LWxtCi1MSUJfU1RBTkRBUkQ9Ci1T VEFSVF9GSUxFUz0KIGRubCBDdXJyZW50IHBvc3NpYmlsaXRpZXMgaGFuZGxlZCBieSBzZWQg KGFpeDQtMiAtPiBhaXgsCiBkbmwgZ251LWxpbnV4IC0+IGdudS9saW51eCwgZXRjLik6CiBk bmwgZ251LCBnbnUvbGludXgsIGdudS9rZnJlZWJzZCwgYWl4LCBjeWd3aW4sIGRhcndpbiwg aHB1eCwgaXJpeC4KIGRubCBBbmQgc3BlY2lhbCBjYXNlczogYmVya2VsZXktdW5peCwgdXNn LXVuaXgtdiwgbXMtZG9zLCB3aW5kb3dzLW50LgogU1lTVEVNX1RZUEU9YGVjaG8gJG9wc3lz IHwgc2VkIC1lICdzL1tbMC05XV0uKi8vJyAtZSAnc3wtfC98J2AKIAotZG5sIE5CIGRvIG5v dCB1c2UgQ1JUX0RJUiB1bnF1b3RlZCBoZXJlLCBzaW5jZSBpdCBtaWdodCBub3QgYmUgc2V0 IHlldC4KIGNhc2UgJG9wc3lzIGluCiAgIGN5Z3dpbiApCiAgICAgTElCX01BVEg9Ci0gICAg U1RBUlRfRklMRVM9J3ByZS1jcnQwLm8nCiAgICAgOzsKICAgZGFyd2luICkKICAgICAjIyBB ZGRpbmcgLWxtIGNvbmZ1c2VzIHRoZSBkeW5hbWljIGxpbmtlciwgc28gb21pdCBpdC4KICAg ICBMSUJfTUFUSD0KLSAgICBTVEFSVF9GSUxFUz0ncHJlLWNydDAubycKICAgICA7OwogICBm cmVlYnNkICkKLSAgICBMSUJfU1RBTkRBUkQ9Jy1sZ2NjIC1sYyAtbGdjYyAkKENSVF9ESVIp L2NydG4ubycKLSAgICBTVEFSVF9GSUxFUz0ncHJlLWNydDAubyAkKENSVF9ESVIpL2NydDEu byAkKENSVF9ESVIpL2NydGkubycKICAgICBTWVNURU1fVFlQRT1iZXJrZWxleS11bml4CiAg ICAgOzsKICAgZ251LWxpbnV4IHwgZ251LWtmcmVlYnNkICkKLSAgICBMSUJfU1RBTkRBUkQ9 Jy1sZ2NjIC1sYyAtbGdjYyAkKENSVF9ESVIpL2NydG4ubycKLSAgICBTVEFSVF9GSUxFUz0n cHJlLWNydDAubyAkKENSVF9ESVIpL2NydDEubyAkKENSVF9ESVIpL2NydGkubycKICAgICA7 OwogICBocHV4MTAtMjAgfCBocHV4MTEgKQotICAgIExJQl9TVEFOREFSRD0tbGMKLSAgICBT VEFSVF9GSUxFUz0ncHJlLWNydDAubyAkKENSVF9ESVIpL2NydDAubycKICAgICA7OwogICBk bmwgTkIgdGhpcyBtYXkgYmUgYWRqdXN0ZWQgYmVsb3cuCiAgIG5ldGJzZCB8IG9wZW5ic2Qg KQotICAgIExJQl9TVEFOREFSRD0nLWxnY2MgLWxjIC1sZ2NjICQoQ1JUX0RJUikvY3J0ZW5k Lm8nCi0gICAgU1RBUlRfRklMRVM9J3ByZS1jcnQwLm8gJChDUlRfRElSKS9jcnQwLm8gJChD UlRfRElSKS9jcnRiZWdpbi5vJwogICAgIFNZU1RFTV9UWVBFPWJlcmtlbGV5LXVuaXgKICAg ICA7OwogCkBAIC0xMDk3LDk2ICsxMDc4LDkgQEAKIGVzYWMKIAogQUNfU1VCU1QoTElCX01B VEgpCi1BQ19TVUJTVChTVEFSVF9GSUxFUykKIEFDX0RFRklORV9VTlFVT1RFRChTWVNURU1f VFlQRSwgIiRTWVNURU1fVFlQRSIsCiAgIFtUaGUgdHlwZSBvZiBzeXN0ZW0geW91IGFyZSBj b21waWxpbmcgZm9yOyBzZXRzIGBzeXN0ZW0tdHlwZScuXSkKIAotZG5sIE5vdCBhbGwgcGxh dGZvcm1zIHVzZSBjcnRuLm8gZmlsZXMuICBDaGVjayBpZiB0aGUgY3VycmVudCBvbmUgZG9l cy4KLWNydF9maWxlcz0KLQotZm9yIGZpbGUgaW4geCAkTElCX1NUQU5EQVJEICRTVEFSVF9G SUxFUzsgZG8KLSAgY2FzZSAiJGZpbGUiIGluCi0gICAgKkNSVF9ESVIqKSBjcnRfZmlsZXM9 IiRjcnRfZmlsZXMgYGVjaG8gJGZpbGUgfCBzZWQgLWUgJ3N8LiovfHwnYCIgOzsKLSAgZXNh YwotZG9uZQotCi1pZiB0ZXN0ICJ4JGNydF9maWxlcyIgIT0geDsgdGhlbgotCi0gICMjIElm IHVzZXIgc3BlY2lmaWVkIGEgY3J0LWRpciwgdXNlIHRoYXQgdW5jb25kaXRpb25hbGx5Lgot ICBjcnRfZ2NjPW5vCi0KLSAgaWYgdGVzdCAiWCRDUlRfRElSIiA9ICJYIjsgdGhlbgotCi0g ICAgQ1JUX0RJUj0vdXNyL2xpYiAgICAgICAgICAgICMgZGVmYXVsdAotCi0gICAgY2FzZSAi JGNhbm9uaWNhbCIgaW4KLSAgICAgIHg4Nl82NC0qLWxpbnV4LWdudSogfCBzMzkweC0qLWxp bnV4LWdudSopCi0gICAgICAjIyBPbiB4ODYtNjQgYW5kIHMzOTB4IEdOVS9MaW51eCBkaXN0 cmlidXRpb25zLCB0aGUgc3RhbmRhcmQgbGlicmFyeQotICAgICAgIyMgY2FuIGJlIGluIGEg dmFyaWV0eSBvZiBwbGFjZXMuICBXZSBvbmx5IHRyeSAvdXNyL2xpYjY0IGFuZCAvdXNyL2xp Yi4KLSAgICAgICMjIEZvciBhbnl0aGluZyBlbHNlIChlZyAvdXNyL2xpYjMyKSwgaXQgaXMg dXAgdGhlIHVzZXIgdG8gc3BlY2lmeQotICAgICAgIyMgdGhlIGxvY2F0aW9uIChidWcjNTY1 NSkuCi0gICAgICAjIyBUZXN0IGZvciBjcnRuLm8sIG5vdCBqdXN0IHRoZSBkaXJlY3Rvcnks IGJlY2F1c2Ugc29tZXRpbWVzIHRoZQotICAgICAgIyMgZGlyZWN0b3J5IGV4aXN0cyBidXQg ZG9lcyBub3QgaGF2ZSB0aGUgcmVsZXZhbnQgZmlsZXMgKGJ1ZyMxMjg3KS4KLSAgICAgICMj IEZJWE1FIGJldHRlciB0byB0ZXN0IGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eSBzb21laG93 LgotICAgICAgdGVzdCAtZSAvdXNyL2xpYjY0L2NydG4ubyAmJiBDUlRfRElSPS91c3IvbGli NjQKLSAgICAgIDs7Ci0KLSAgICAgIHBvd2VycGM2NC0qLWxpbnV4LWdudSogfCBzcGFyYzY0 LSotbGludXgtZ251KikgQ1JUX0RJUj0vdXNyL2xpYjY0IDs7Ci0gICAgZXNhYwotCi0gICAg Y2FzZSAiJG9wc3lzIiBpbgotICAgICAgaHB1eDEwLTIwKSBDUlRfRElSPS9saWIgOzsKLSAg ICBlc2FjCi0KLSAgICB0ZXN0ICJ4JHtHQ0N9IiA9IHh5ZXMgJiYgY3J0X2djYz15ZXMKLQot ICBmaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENSVF9ESVIgPSAiIgotCi0gIGNy dF9taXNzaW5nPQotCi0gIGZvciBmaWxlIGluICRjcnRfZmlsZXM7IGRvCi0KLSAgICAjIyBJ ZiB3ZSdyZSB1c2luZyBnY2MsIHRyeSB0byBkZXRlcm1pbmUgaXQgYXV0b21hdGljYWxseSBi eSBhc2tpbmcKLSAgICAjIyBnY2MuICBbSWYgdGhpcyBkb2Vzbid0IHdvcmssIENSVF9ESVIg d2lsbCByZW1haW4gYXQgdGhlCi0gICAgIyMgc3lzdGVtLWRlcGVuZGVudCBkZWZhdWx0IGZy b20gYWJvdmUuXQotICAgIGlmIHRlc3QgJGNydF9nY2MgPSB5ZXMgJiYgdGVzdCAhIC1lICRD UlRfRElSLyRmaWxlOyB0aGVuCi0KLSAgICAgICBjcnRfZmlsZT1gJENDIC0tcHJpbnQtZmls ZS1uYW1lPSRmaWxlIDI+L2Rldi9udWxsYAotICAgICAgIGNhc2UgIiRjcnRfZmlsZSIgaW4K LSAgICAgICAgICovKikKLSAgICAgICAgICAgQ1JUX0RJUj1gQVNfRElSTkFNRShbIiRjcnRf ZmlsZSJdKWAKLSAgICAgICAgICAgOzsKLSAgICAgICBlc2FjCi0gICAgZmkKLQotICAgIGRu bCBXZSBleHBlY3QgYWxsIHRoZSBmaWxlcyB0byBiZSBpbiBhIHNpbmdsZSBkaXJlY3Rvcnks IHNvIGFmdGVyIHRoZQotICAgIGRubCBmaXJzdCB0aGVyZSBpcyBubyBwb2ludCBhc2tpbmcg Z2NjLgotICAgIGNydF9nY2M9bm8KLQotICAgIHRlc3QgLWUgJENSVF9ESVIvJGZpbGUgfHwg Y3J0X21pc3Npbmc9IiRjcnRfbWlzc2luZyAkZmlsZSIKLSAgZG9uZSAgICAgICAgICAgICAg ICAgICAgICAgICAgIyAkY3J0X2ZpbGVzCi0KLSAgdGVzdCAieCRjcnRfbWlzc2luZyIgPSB4 IHx8IFwKLSAgICBBQ19NU0dfRVJST1IoW1JlcXVpcmVkIGZpbGUocykgbm90IGZvdW5kOiRj cnRfbWlzc2luZwotVHJ5IHVzaW5nIHRoZSAtLXdpdGgtY3J0LWRpciBvcHRpb24uXSkKLQot ZmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGNydF9maWxlcyAhPSAiIgotCi1B Q19TVUJTVChDUlRfRElSKQotCi1jYXNlICRvcHN5cyBpbgotICBuZXRic2QgfCBvcGVuYnNk ICkKLSAgICBpZiB0ZXN0IC1mICRDUlRfRElSL2NydGkubzsgdGhlbgotCi0gICAgICAgIHRl c3QgLWYgJENSVF9ESVIvY3J0bi5vIHx8IFwKLSAgICAgICAgICBBQ19NU0dfRVJST1IoW1Jl cXVpcmVkIGZpbGUgbm90IGZvdW5kOiBjcnRuLm9dKQotCi0gICAgICAgIExJQl9TVEFOREFS RD0nLWxnY2MgLWxjIC1sZ2NjICQoQ1JUX0RJUikvY3J0ZW5kLm8gJChDUlRfRElSKS9jcnRu Lm8nCi0gICAgICAgIFNUQVJUX0ZJTEVTPSdwcmUtY3J0MC5vICQoQ1JUX0RJUikvY3J0MC5v ICQoQ1JUX0RJUikvY3J0aS5vICQoQ1JUX0RJUikvY3J0YmVnaW4ubycKLSAgICBmaQotICAg IDs7Ci1lc2FjCi0KIAogcHJlX1BLR19DT05GSUdfQ0ZMQUdTPSRDRkxBR1MKIHByZV9QS0df Q09ORklHX0xJQlM9JExJQlMKQEAgLTEzMDQsNyArMTE5OCw3IEBACiBBQ19DSEVDS19IRUFE RVJTX09OQ0UoCiAgIGxpbnV4L3ZlcnNpb24uaCBzeXMvc3lzdGVtaW5mby5oCiAgIGNvZmYu aCBwdHkuaAotICBzeXMvdmxpbWl0Lmggc3lzL3Jlc291cmNlLmgKKyAgc3lzL3Jlc291cmNl LmgKICAgc3lzL3V0c25hbWUuaCBwd2QuaCB1dG1wLmggdXRpbC5oKQogCiBBQ19NU0dfQ0hF Q0tJTkcoaWYgcGVyc29uYWxpdHkgTElOVVgzMiBjYW4gYmUgc2V0KQpAQCAtMTUyMSw4ICsx NDE1LDYgQEAKICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1JJHtHTlVTVEVQX1NZU1RFTV9IRUFE RVJTfSAke0dOVVNURVBfTE9DQUxfSEVBREVSU30iCiAgICAgIExERkxBR1M9IiRMREZMQUdT IC1MJHtHTlVTVEVQX1NZU1RFTV9MSUJSQVJJRVN9ICR7R05VU1RFUF9MT0NBTF9MSUJSQVJJ RVN9IgogICAgICBMSUJTX0dOVVNURVA9Ii1sZ251c3RlcC1ndWkgLWxnbnVzdGVwLWJhc2Ug LWxvYmpjIC1scHRocmVhZCIKLSAgICAgTElCX1NUQU5EQVJEPQotICAgICBTVEFSVF9GSUxF Uz0KICAgICAgZG5sIEdOVXN0ZXAgZGVmaW5lcyBCQVNFX05BVElWRV9PQkpDX0VYQ0VQVElP TlMgdG8gMCBvciAxLgogICAgICBkbmwgSWYgdGhleSBoYWQgY2hvc2VuIHRvIGVpdGhlciBk ZWZpbmUgaXQgb3Igbm90LCB3ZSBjb3VsZCBoYXZlCiAgICAgIGRubCBqdXN0IHVzZWQgQUNf Q0hFQ0tfREVDTCBoZXJlLgpAQCAtMTYxMSw3ICsxNTAzLDYgQEAKIEFDX1NVQlNUKG5zX3Nl bGZfY29udGFpbmVkKQogQUNfU1VCU1QoTlNfT0JKKQogQUNfU1VCU1QoTlNfT0JKQ19PQkop Ci1BQ19TVUJTVChMSUJfU1RBTkRBUkQpCiAKIEhBVkVfVzMyPW5vCiBXMzJfT0JKPQpAQCAt MTc1MSw2ICsxNjQyLDIwIEBACiBlbHNlCiAgIHRlc3QgIiRkb3VnX2xlYV9tYWxsb2MiICE9 ICJ5ZXMiICYmIEdNQUxMT0NfT0JKPWdtYWxsb2MubwogICBWTUxJTUlUX09CSj12bS1saW1p dC5vCisKKyAgQUNfQ0hFQ0tfSEVBREVSUyhbc3lzL3ZsaW1pdC5oXSkKKyAgQUNfQ0FDSEVf Q0hFQ0soW2ZvciBkYXRhX3N0YXJ0XSwgW2VtYWNzX2N2X2RhdGFfc3RhcnRdLAorICAgIFtB Q19MSU5LX0lGRUxTRSgKKyAgICAgICBbQUNfTEFOR19QUk9HUkFNKAorCSBbW2V4dGVybiBj aGFyIGRhdGFfc3RhcnRbXTsgY2hhciBjaDtdXSwKKwkgW1tyZXR1cm4gZGF0YV9zdGFydCA9 PSAmY2g7XV0pXSwKKyAgICAgICBbZW1hY3NfY3ZfZGF0YV9zdGFydD15ZXNdLAorICAgICAg IFtlbWFjc19jdl9kYXRhX3N0YXJ0PW5vXSldKQorICBpZiB0ZXN0ICRlbWFjc19jdl9kYXRh X3N0YXJ0ID0geWVzOyB0aGVuCisgICAgQUNfREVGSU5FKFtIQVZFX0RBVEFfU1RBUlRdLCAx LAorICAgICAgW0RlZmluZSB0byAxIGlmIGRhdGFfc3RhcnQgaXMgdGhlIGFkZHJlc3Mgb2Yg dGhlIHN0YXJ0CisgICAgICAgb2YgdGhlIG1haW4gZGF0YSBzZWdtZW50Ll0pCisgIGZpCiBm aQogQUNfU1VCU1QoR01BTExPQ19PQkopCiBBQ19TVUJTVChWTUxJTUlUX09CSikKQEAgLTM3 MzUsOSArMzY0MCw3IEBACiBlc2FjCiAKIAotZG5sIFVzZWQgaW4gdm0tbGltaXQuYwotQUhf VEVNUExBVEUoREFUQV9TVEFSVCwgW0FkZHJlc3Mgb2YgdGhlIHN0YXJ0IG9mIHRoZSBkYXRh IHNlZ21lbnQuXSkKLWRubCBVc2VkIGluIGxpc3AuaCwgZW1hY3MuYywgbWVtLWxpbWl0cy5o CitkbmwgVXNlZCBpbiBsaXNwLmgsIGVtYWNzLmMsIHZtLWxpbWl0LmMKIGRubCBORVdTLjE4 IGRlc2NyaWJlcyB0aGlzIGFzICJhIG51bWJlciB3aGljaCBjb250YWlucwogZG5sIHRoZSBo aWdoIGJpdHMgdG8gYmUgaW5jbHVzaXZlIG9yJ2VkIHdpdGggcG9pbnRlcnMgdGhhdCBhcmUg dW5wYWNrZWQuIgogQUhfVEVNUExBVEUoREFUQV9TRUdfQklUUywgW0V4dHJhIGJpdHMgdG8g YmUgb3InZCBpbiB3aXRoIGFueSBwb2ludGVycwpAQCAtMzc0NSwyMyArMzY0OCwxNSBAQAog ZG5sIGlmIEVtYWNzIHVzZXMgZmV3ZXIgdGhhbiAzMiBiaXRzIGZvciB0aGUgdmFsdWUgZmll bGQgb2YgYSBMSVNQX09CSkVDVC4KIAogY2FzZSAkb3BzeXMgaW4KLSAgZ251KQotICAgIGRu bCBsaWJjIGRlZmluZXMgZGF0YV9zdGFydC4KLSAgICBBQ19ERUZJTkUoREFUQV9TVEFSVCwg Wyh7IGV4dGVybiBpbnQgZGF0YV9zdGFydDsgKGNoYXIgKikgJmRhdGFfc3RhcnQ7IH0pXSkK LSAgICA7OwotCiAgIGFpeCopCiAgICAgZG5sIFRoaXMgd29ya3Mgd2l0aCAzMi1iaXQgZXhl Y3V0YWJsZXM7IEVtYWNzIGRvZXNuJ3Qgc3VwcG9ydCA2NC1iaXQuCi0gICAgQUNfREVGSU5F KERBVEFfU1RBUlQsIFsweDIwMDAwMDAwXSkKICAgICBBQ19ERUZJTkUoREFUQV9TRUdfQklU UywgWzB4MjAwMDAwMDBdKQogICAgIDs7CiAgIGhwdXgqKQogICAgIGRubCBUaGUgZGF0YSBz ZWdtZW50IG9uIHRoaXMgbWFjaGluZSBhbHdheXMgc3RhcnRzIGF0IGFkZHJlc3MgMHg0MDAw MDAwMC4KLSAgICBBQ19ERUZJTkUoREFUQV9TVEFSVCwgWzB4NDAwMDAwMDBdKQogICAgIEFD X0RFRklORShEQVRBX1NFR19CSVRTLCBbMHg0MDAwMDAwMF0pCiAgICAgOzsKICAgaXJpeDYt NSkKLSAgICBBQ19ERUZJTkUoREFUQV9TVEFSVCwgWzB4MTAwMDAwMDBdKQogICAgIEFDX0RF RklORShEQVRBX1NFR19CSVRTLCBbMHgxMDAwMDAwMF0pCiAgICAgOzsKIGVzYWMKQEAgLTQz MjEsODggKzQyMTYsNiBAQAogCiBBQ19TVUJTVChMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDUykK IAotCi1MRF9GSVJTVEZMQUc9Ci1PUkRJTkFSWV9MSU5LPQotY2FzZSAiJG9wc3lzIiBpbgot ICAjIyBnbnU6IEdOVSBuZWVkcyBpdHMgb3duIGNydDAuCi0gIGFpeDQtMnxjeWd3aW58ZGFy d2lufGdudXxocHV4Knxpcml4Ni01fHNvbDIqfHVuaXh3YXJlKSBPUkRJTkFSWV9MSU5LPXll cyA7OwotCi0gICMjIE9uIHBvc3QgMS4zIHJlbGVhc2VzIG9mIE5ldEJTRCwgZ2NjIC1ub3N0 ZGxpYiBhbHNvIGNsZWFycyB0aGUKLSAgIyMgbGlicmFyeSBzZWFyY2ggcGFydGgsIGkuZS4g aXQgd29uJ3Qgc2VhcmNoIC91c3IvbGliIGZvciBsaWJjIGFuZAotICAjIyBmcmllbmRzLiAg VXNpbmcgLW5vc3RhcnRmaWxlcyBpbnN0ZWFkIGF2b2lkcyB0aGlzIHByb2JsZW0sIGFuZAot ICAjIyB3aWxsIGFsc28gd29yayBvbiBlYXJsaWVyIE5ldEJTRCByZWxlYXNlcy4KLSAgbmV0 YnNkfG9wZW5ic2QpIExEX0ZJUlNURkxBRz0iLW5vc3RhcnRmaWxlcyIgOzsKLQotICAjIyBw b3dlcnBjKjogTkFLQUpJIEhpcm95dWtpIDxuYWthamlAdHV0cnAudHV0LmFjLmpwPiBzYXlz Ci0gICMjICAgTWtMaW51eC9MaW51eFBQQyBuZWVkcyB0aGlzLgotICAjIyBzMzkweC0qIG9u bHkgc3VwcG9ydHMgb3BzeXMgPSBnbnUtbGludXggc28gaXQgY2FuIGJlIGFkZGVkIGhlcmUu Ci0gIGdudS0qKQotICAgIGNhc2UgIiRjYW5vbmljYWwiIGluCi0gICAgICBwb3dlcnBjKnxz MzkweC0qKSBMRF9GSVJTVEZMQUc9Ii1ub3N0ZGxpYiIgOzsKLSAgICBlc2FjCi0gICAgOzsK LWVzYWMKLQotCi1pZiB0ZXN0ICJ4JE9SRElOQVJZX0xJTksiID0gInh5ZXMiOyB0aGVuCi0K LSAgTERfRklSU1RGTEFHPSIiCi0gIEFDX0RFRklORShPUkRJTkFSWV9MSU5LLCAxLCBbRGVm aW5lIGlmIHRoZSBDIGNvbXBpbGVyIGlzIHRoZSBsaW5rZXIuXSkKLQotIyMgVGhlIHN5c3Rl bSBmaWxlcyBkZWZpbmluZyBuZWl0aGVyIE9SRElOQVJZX0xJTksgbm9yIExEX0ZJUlNURkxB RyBhcmU6Ci0jIyBmcmVlYnNkLCBnbnUtKiBub3Qgb24gcG93ZXJwYyp8czM5MHgqLgotZWxp ZiB0ZXN0ICJ4JEdDQyIgPSAieHllcyIgJiYgdGVzdCAieCRMRF9GSVJTVEZMQUciID0gIngi OyB0aGVuCi0KLSAgIyMgVmVyc2lvbnMgb2YgR0NDID49IDIuMCBwdXQgdGhlaXIgbGlicmFy eSwgbGliZ2NjLmEsIGluIG9ic2N1cmUKLSAgIyMgcGxhY2VzIHRoYXQgYXJlIGRpZmZpY3Vs dCB0byBmaWd1cmUgb3V0IGF0IG1ha2UgdGltZS4gIEZvcnR1bmF0ZWx5LAotICAjIyB0aGVz ZSBzYW1lIHZlcnNpb25zIGFsbG93IHlvdSB0byBwYXNzIGFyYml0cmFyeSBmbGFncyBvbiB0 byB0aGUKLSAgIyMgbGlua2VyLCBzbyB0aGVyZSBpcyBubyByZWFzb24gbm90IHRvIHVzZSBp dCBhcyBhIGxpbmtlci4KLSAgIyMKLSAgIyMgV2VsbCwgaXQgaXMgbm90IHF1aXRlIHBlcmZl Y3QuICBUaGUgIi1ub3N0ZGxpYiIga2VlcHMgR0NDIGZyb20KLSAgIyMgc2VhcmNoaW5nIGZv ciBsaWJyYXJpZXMgaW4gaXRzIGludGVybmFsIGRpcmVjdG9yaWVzLCBzbyB3ZSBoYXZlIHRv Ci0gICMjIGFzayBHQ0MgZXhwbGljaXRseSB3aGVyZSB0byBmaW5kIGxpYmdjYy5hIChMSUJf R0NDIGJlbG93KS4KLSAgTERfRklSU1RGTEFHPSItbm9zdGRsaWIiCi1maQotCi0jIyBGSVhN RT8gV2hhdCBzZXR0aW5nIG9mIEVESVRfTERGTEFHUyBzaG91bGQgdGhpcyBoYXZlPwotdGVz dCAiJE5TX0lNUExfR05VU1RFUCIgPSAieWVzIiAmJiBMRF9GSVJTVEZMQUc9Ii1yZHluYW1p YyIKLQotQUNfU1VCU1QoTERfRklSU1RGTEFHKQotCi0KLSMjIEZJWE1FPyBUaGUgbG9naWMg aGVyZSBpcyBub3QgcHJlY2lzZWx5IHRoZSBzYW1lIGFzIHRoYXQgYWJvdmUuCi0jIyBUaGVy ZSBpcyBubyBjaGVjayBoZXJlIGZvciBhIHByZS1kZWZpbmVkIExEX0ZJUlNURkxBRy4KLSMj IFNob3VsZCB3ZSBvbmx5IGJlIHNldHRpbmcgTElCX0dDQyBpZiBMRCB+IC1ub3N0ZGxpYj8K LUxJQl9HQ0M9Ci1pZiB0ZXN0ICJ4JEdDQyIgPSAieHllcyIgJiYgdGVzdCAieCRPUkRJTkFS WV9MSU5LIiAhPSAieHllcyI7IHRoZW4KLQotICBjYXNlICIkb3BzeXMiIGluCi0gICAgZnJl ZWJzZHxuZXRic2R8b3BlbmJzZCkgTElCX0dDQz0gOzsKLQotICAgIGdudS0qKQotICAgICAg IyMgYXJtaW43NkBnZW50b28ub3JnIHJlcG9ydGVkIHRoYXQgdGhlIGxnY2NfcyBmbGFnIGlz IG5lY2Vzc2FyeSB0bwotICAgICAgIyMgYnVpbGQgb24gQVJNIEVBQkkgdW5kZXIgR05VL0xp bnV4LiAgKEJ1ZyM1NTE4KQotICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KLSAgICAgIGFybSop Ci0gICAgICAgIExJQl9HQ0M9Ii1sZ2NjX3MiCi0JOzsKLSAgICAgICopCi0gICAgICAgICMj IEZJWE1FPyBzL2dudS1saW51eC5oIHVzZWQgdG8gZGVmaW5lIExJQl9HQ0MgYXMgYmVsb3cs IHRoZW4KLSAgICAgICAgIyMgaW1tZWRpYXRlbHkgdW5kZWZpbmUgaXQgYWdhaW4gYW5kIHJl ZGVmaW5lIGl0IHRvIGVtcHR5LgotICAgICAgICAjIyBXYXMgdGhlIENfU1dJVENIX1hfU0lU RSBwYXJ0IHJlYWxseSBuZWNlc3Nhcnk/Ci0jIyAgICAgIExJQl9HQ0M9YCRDQyAkQ19TV0lU Q0hfWF9TSVRFIC1wcmludC1saWJnY2MtZmlsZS1uYW1lYAotICAgICAgICBMSUJfR0NDPQot CTs7Ci0gICAgICBlc2FjCi0gICAgICA7OwotCi0gICAgIyMgQXNrIEdDQyB3aGVyZSB0byBm aW5kIGxpYmdjYy5hLgotICAgICopIExJQl9HQ0M9YCRDQyAtcHJpbnQtbGliZ2NjLWZpbGUt bmFtZSAyPiAvZGV2L251bGxgIDs7Ci0gIGVzYWMKLWZpICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZG5sIGlmICRHQ0MKLUFDX1NVQlNUKExJQl9HQ0MpCi0KICMjIENvbW1vbiBm b3IgYWxsIHdpbmRvdyBzeXN0ZW1zCiBpZiB0ZXN0ICIkd2luZG93X3N5c3RlbSIgIT0gIm5v bmUiOyB0aGVuCiAgIEFDX0RFRklORShIQVZFX1dJTkRPV19TWVNURU0sIDEsIFtEZWZpbmUg aWYgeW91IGhhdmUgYSB3aW5kb3cgc3lzdGVtLl0pCgo9PT0gbW9kaWZpZWQgZmlsZSAnZXRj L0NoYW5nZUxvZycKLS0tIGV0Yy9DaGFuZ2VMb2cJMjAxMy0wMi0xOSAxNDo0NDowMyArMDAw MAorKysgZXRjL0NoYW5nZUxvZwkyMDEzLTAyLTIyIDA4OjIxOjU1ICswMDAwCkBAIC0xLDMg KzEsMTAgQEAKKzIwMTMtMDItMjIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgorCisJU2ltcGxpZnkgZGF0YV9zdGFydCBjb25maWd1cmF0aW9uIChCdWcjMTM3ODMpLgor CSogUFJPQkxFTVMgKExJQlNfU1lTVEVNLCBMSUJTX01BQ0hJTkUsIExJQlNfU1RBTkRBUkQp OiBSZW1vdmUuCisJUmVtb3ZlIGxlZ2FjeS1zeXN0ZW1zIHNlY3Rpb24sIGFzIHRoaXMgc3R1 ZmYgaXMgbm8gbG9uZ2VyCisJYXBwbGljYWJsZSB3aXRoIGN1cnJlbnQgbGlua2luZyBzdHJh dGVnaWVzLgorCiAyMDEzLTAyLTE0ICBNaWNoYWVsIEFsYmludXMgIDxtaWNoYWVsLmFsYmlu dXNAZ214LmRlPgogCiAJKiBORVdTOiBUcmFtcCBtZXRob2RzICJzY3BjIiBhbmQgInJzeW5j YyIgYXJlIGRpc2NvbnRpbnVlZC4KCj09PSBtb2RpZmllZCBmaWxlICdldGMvUFJPQkxFTVMn Ci0tLSBldGMvUFJPQkxFTVMJMjAxMy0wMi0xMSAwMDozNTozNyArMDAwMAorKysgZXRjL1BS T0JMRU1TCTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTQzMiwyMSArNDMyLDcgQEAK IGluc3RhbGxlZCBpbiB0aGUgc2hhcmVkIGxpYnJhcnksIGFuZCB0aGVuIHJlbGluayBFbWFj cy4KIAogSWYgeW91IGhhdmUgYWxyZWFkeSBpbnN0YWxsZWQgdGhlIG5hbWUgcmVzb2x2ZXIg aW4gdGhlIGZpbGUgbGlicmVzb2x2LmEsCi10aGVuIHlvdSBuZWVkIHRvIGNvbXBpbGUgRW1h Y3MgdG8gdXNlIHRoYXQgbGlicmFyeS4gIFRoZSBlYXNpZXN0IHdheSB0bwotZG8gdGhpcyBp cyB0byBhZGQgdG8gY29uZmlnLmggYSBkZWZpbml0aW9uIG9mIExJQlNfU1lTVEVNLCBMSUJT X01BQ0hJTkUKLW9yIExJQl9TVEFOREFSRCB3aGljaCB1c2VzIC1scmVzb2x2LiAgV2F0Y2gg b3V0ISAgSWYgeW91IHJlZGVmaW5lIGEgbWFjcm8KLXRoYXQgaXMgYWxyZWFkeSBpbiB1c2Ug aW4geW91ciBjb25maWd1cmF0aW9uIHRvIHN1cHBseSBzb21lIG90aGVyIGxpYnJhcmllcywK LWJlIGNhcmVmdWwgbm90IHRvIGxvc2UgdGhlIG90aGVycy4KLQotVGh1cywgeW91IGNvdWxk IHN0YXJ0IGJ5IGFkZGluZyB0aGlzIHRvIGNvbmZpZy5oOgotCi0jZGVmaW5lIExJQlNfU1lT VEVNIC1scmVzb2x2Ci0KLVRoZW4gaWYgdGhpcyBnaXZlcyB5b3UgYW4gZXJyb3IgZm9yIHJl ZGVmaW5pbmcgYSBtYWNybywgYW5kIHlvdSBzZWUgdGhhdAotY29uZmlnLmggYWxyZWFkeSBk ZWZpbmVzIExJQlNfU1lTVEVNIGFzIC1sZm9vIC1sYmFyIGF0IHNvbWUgb3RoZXIgcG9pbnQK LShwb3NzaWJseSBpbiBhbiBpbmNsdWRlZCBmaWxlKSB5b3UgY291bGQgY2hhbmdlIGl0IHRv IHNheSB0aGlzOgotCi0jZGVmaW5lIExJQlNfU1lTVEVNIC1scmVzb2x2IC1sZm9vIC1sYmFy Cit0aGVuIHlvdSBuZWVkIHRvIGNvbXBpbGUgRW1hY3MgdG8gdXNlIHRoYXQgbGlicmFyeS4K IAogKioqIEVtYWNzIGRvZXMgbm90IGtub3cgeW91ciBob3N0J3MgZnVsbHktcXVhbGlmaWVk IGRvbWFpbiBuYW1lLgogCkBAIC0zMTc5LDI1ICszMTY1LDYgQEAKIAogVGhpcyBwcm9ibGVt IHNlZW1zIHRvIGJlIGEgbWF0dGVyIG9mIGNvbmZpZ3VyaW5nIHRoZSBERUNzZXJ2ZXIgdG8g dXNlCiA3IGJpdCBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIDggYml0IGNoYXJhY3RlcnMuCi0K LSogQnVpbGQgcHJvYmxlbXMgb24gbGVnYWN5IHN5c3RlbXMKLQotKiogU3VuT1M6IEVtYWNz IGdldHMgZXJyb3IgbWVzc2FnZSBmcm9tIGxpbmtlciBvbiBTdW4uCi0KLUlmIHRoZSBlcnJv ciBtZXNzYWdlIHNheXMgdGhhdCBhIHN5bWJvbCBzdWNoIGFzIGBmNjg4ODFfdXNlZCcgb3IK LWBmZnBhX3VzZWQnIG9yIGBzdGFydF9mbG9hdCcgaXMgdW5kZWZpbmVkLCB0aGlzIHByb2Jh Ymx5IGluZGljYXRlcwotdGhhdCB5b3UgaGF2ZSBjb21waWxlZCBzb21lIGxpYnJhcmllcywg c3VjaCBhcyB0aGUgWCBsaWJyYXJpZXMsCi13aXRoIGEgZmxvYXRpbmcgcG9pbnQgb3B0aW9u IG90aGVyIHRoYW4gdGhlIGRlZmF1bHQuCi0KLUl0J3Mgbm90IHRlcnJpYmx5IGhhcmQgdG8g bWFrZSB0aGlzIHdvcmsgd2l0aCBzbWFsbCBjaGFuZ2VzIGluCi1jcnQwLmMgdG9nZXRoZXIg d2l0aCBsaW5raW5nIHdpdGggRmNydDEubywgV2NydDEubyBvciBNY3J0MS5vLgotSG93ZXZl ciwgdGhlIGVhc2llc3QgYXBwcm9hY2ggaXMgdG8gYnVpbGQgWGxpYiB3aXRoIHRoZSBkZWZh dWx0Ci1mbG9hdGluZyBwb2ludCBvcHRpb246IC1mc29mdC4KLQotKiogSFBVWCAxMC4yMDog RW1hY3MgY3Jhc2hlcyBkdXJpbmcgZHVtcGluZyBvbiB0aGUgSFBQQSBtYWNoaW5lLgotCi1U aGlzIHNlZW1zIHRvIGJlIGR1ZSB0byBhIEdDQyBidWc7IGl0IGlzIGZpeGVkIGluIEdDQyAy LjguMS4KLQogDAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCgo9PT0gbW9k aWZpZWQgZmlsZSAnc3JjL0NoYW5nZUxvZycKLS0tIHNyYy9DaGFuZ2VMb2cJMjAxMy0wMi0y MiAxOToyMzoxMiArMDAwMAorKysgc3JjL0NoYW5nZUxvZwkyMDEzLTAyLTIyIDIwOjEwOjU0 ICswMDAwCkBAIC0xLDUgKzEsMzYgQEAKIDIwMTMtMDItMjIgIFBhdWwgRWdnZXJ0ICA8ZWdn ZXJ0QGNzLnVjbGEuZWR1PgogCisJU2ltcGxpZnkgZGF0YV9zdGFydCBjb25maWd1cmF0aW9u IChCdWcjMTM3ODMpLgorCVRoaXMgaXMgYSBmb2xsb3dvbiBzaW1wbGlmaWNhdGlvbiB0byB0 aGUgZml4IGZvciBCdWcjMTM2NTAuCisJKiBNYWtlZmlsZS5pbiAoTERfRklSU1RGTEFHLCBM SUJfR0NDLCBDUlRfRElSLCBMSUJfU1RBTkRBUkQpCisJKFNUQVJUX0ZJTEVTKTogUmVtb3Zl LiAgQWxsIHVzZXMgcmVtb3ZlZC4KKwkob3RoZXJvYmopOiBSZW1vdmUgJChWTUxJTUlUX09C SiksIGFzIGl0J3Mgbm93IGZpcnN0LgorCShBTExPQkpTKTogTW92ZSBoZXJlIGZyb20gYXV0 b2RlcHMubWssIGFuZCB3aXRoIFZNTElNSVRTX09CSiBmaXJzdC4KKwkoYnVpbGRvYmouaCk6 IFVzZSBpdC4KKwkoJChBTExPQkpTKSk6IERlcGVuZCBvbiBnbG9iYWxzLmguCisJKHRlbWFj cyQoRVhFRVhUKSk6IFVzZSAkKEFMTE9CSlMpLgorCSogYXV0b2RlcHMubWsgKEFMTE9CSlMp OiBNb3ZlIHRvIE1ha2VmaWxlLmluLgorCSogZGVwcy5tayAodm0tbGltaXQubyk6CisJKiBt YWtlZmlsZS53MzItaW4gKCQoQkxEKS92bS1saW1pdC4kKE8pKToKKwlEbyBub3QgZGVwZW5k IG9uIG1lbS1saW1pdHMuaC4KKwkqIGVtYWNzLmMgKF9fZG9fZ2xvYmFsX2N0b3JzLCBfX2Rv X2dsb2JhbF9jdG9yc19hdXgpCisJKF9fZG9fZ2xvYmFsX2R0b3JzLCBfX0NUT1JfTElTVF9f LCBfX0RUT1JfTElTVF9fKQorCVtfX0dOVUNfXyAmJiAhT1JESU5BUllfTElOS106IFJlbW92 ZS4KKwkqIG1lbS1saW1pdHMuaCwgcHJlLWNydDAuYzogUmVtb3ZlLgorCSogdW5leGFpeC5j LCB1bmV4Y29mZi5jOiBEb24ndCBpbmNsdWRlIG1lbS1saW1pdHMuaC4KKwkqIHVuZXhjb2Zm LmMgKGV0ZXh0KTogTmV3IGRlY2wuCisJKG1ha2VfaGRyKTogVXNlIGl0IGluc3RlYWQgb2Yg c3RhcnRfb2ZfZGF0YS4KKwkqIHZtLWxpbWl0LmM6IE1vdmUgbW9zdCBvZiBtZW0tbGltaXRz LmgncyBjb250ZW50cyBoZXJlLgorCShkYXRhX3N0YXJ0KTogTmV3IGRlY2wuICBJdCdzIE9L IGlmIHRoaXMgaXMgYXBwcm94aW1hdGUsCisJc28gc2ltcGxpZnktYXdheSBzb21lIHVubmVj ZXNzYXJ5IGV4YWN0bmVzcy4KKwkoUE9JTlRFUik6IFJlbW92ZTsgYWxsIHVzZXMgcmVtb3Zl ZC4KKwkoZGF0YV9zcGFjZV9zdGFydCk6IE5vdyBjaGFyICosIHRvIGF2b2lkIGNhc3RzLgor CShleGNlZWRzX2xpc3BfcHRyKTogTmV3IGZ1bmN0aW9uLCByZXBsYWNpbmcgdGhlIG9sZAor CUVYQ0VFRFNfTElTUF9QVFIgbWFjcm8uICBBbGwgdXNlcyBjaGFuZ2VkLgorCShjaGVja19t ZW1vcnlfbGltaXRzKTogU2ltcGxpZnkgYW5kIHJlbW92ZSBjYXN0cy4KKwkoc3RhcnRfb2Zf ZGF0YSkgWyFDQU5OT1RfRFVNUCB8fCAhU1lTVEVNX01BTExPQ106IFJlbW92ZS4KKwkobWVt b3J5X3dhcm5pbmdzKTogVXNlIGRhdGFfc3RhcnQgaW5zdGVhZCBvZiBzdGFydF9vZl9kYXRh LgorCiAJQXNzdW1lIEM4OSBvciBiZXR0ZXIuCiAJKiByYWxsb2MuYyAoU0laRSwgUE9JTlRF UiwgTklMKToKIAkqIHZtLWxpbWl0LmMgKFBPSU5URVIpOgoKPT09IG1vZGlmaWVkIGZpbGUg J3NyYy9NYWtlZmlsZS5pbicKLS0tIHNyYy9NYWtlZmlsZS5pbgkyMDEzLTAxLTAyIDE2OjEz OjA0ICswMDAwCisrKyBzcmMvTWFrZWZpbGUuaW4JMjAxMy0wMi0yMiAyMDoxMDo1NCArMDAw MApAQCAtMzYsNyArMzYsNiBAQAogQ0ZMQUdTID0gQENGTEFHU0AKIENQUEZMQUdTID0gQENQ UEZMQUdTQAogTERGTEFHUyA9IEBMREZMQUdTQAotTERfRklSU1RGTEFHPUBMRF9GSVJTVEZM QUdACiBFWEVFWFQgPSBARVhFRVhUQAogdmVyc2lvbiA9IEB2ZXJzaW9uQAogIyBTdWJzdGl0 dXRlIGFuIGFzc2lnbm1lbnQgZm9yIHRoZSBNQUtFIHZhcmlhYmxlLCBiZWNhdXNlCkBAIC0x MDIsMTAgKzEwMSw4IEBACiAjIyBTeXN0ZW0tc3BlY2lmaWMgTERGTEFHUy4KIExEX1NXSVRD SF9TWVNURU09QExEX1NXSVRDSF9TWVNURU1ACiAKLSMjIFRoaXMgaG9sZHMgYW55IHNwZWNp YWwgb3B0aW9ucyBmb3IgbGlua2luZyB0ZW1hY3Mgb25seSAoaWUsIG5vdAotIyMgdXNlZCBi eSBjb25maWd1cmUpLiAgTm90IHVzZWQgZWxzZXdoZXJlIGJlY2F1c2UgaXQgc29tZXRpbWVz Ci0jIyBjb250YWlucyBvcHRpb25zIHRoYXQgaGF2ZSB0byBkbyB3aXRoIHVzaW5nIEVtYWNz J3MgY3J0MCwKLSMjIHdoaWNoIGFyZSBvbmx5IGdvb2Qgd2l0aCB0ZW1hY3MuCisjIyBUaGlz IGhvbGRzIGFueSBzcGVjaWFsIG9wdGlvbnMgZm9yIGxpbmtpbmcgdGVtYWNzIG9ubHkgKGku ZS4sIG5vdAorIyMgdXNlZCBieSBjb25maWd1cmUpLgogTERfU1dJVENIX1NZU1RFTV9URU1B Q1M9QExEX1NXSVRDSF9TWVNURU1fVEVNQUNTQAogCiAjIyBGbGFncyB0byBwYXNzIHRvIGxk IG9ubHkgZm9yIHRlbWFjcy4KQEAgLTEyMCwxNCArMTE3LDYgQEAKICMjIFNvbWUgc3lzdGVt cyBkZWZpbmUgdGhpcyB0byByZXF1ZXN0IHNwZWNpYWwgbGlicmFyaWVzLgogTElCU19TWVNU RU09QExJQlNfU1lTVEVNQAogCi0jIyBXaGVyZSB0byBmaW5kIGxpYmdjYy5hLCBpZiB1c2lu ZyBnY2MgYW5kIG5lY2Vzc2FyeS4KLUxJQl9HQ0M9QExJQl9HQ0NACi0KLUNSVF9ESVI9QENS VF9ESVJACi0jIyBNYXkgdXNlICRDUlRfRElSLgotTElCX1NUQU5EQVJEPUBMSUJfU1RBTkRB UkRACi1TVEFSVF9GSUxFUyA9IEBTVEFSVF9GSUxFU0AKLQogIyMgLWxtLCBvciBlbXB0eS4K IExJQl9NQVRIPUBMSUJfTUFUSEAKIApAQCAtMzg5LDE3ICszNzgsMTYgQEAKIAogIyMgTGlz dCBvZiBvYmplY3QgZmlsZXMgdGhhdCBtYWtlLWRvY2ZpbGUgc2hvdWxkIG5vdCBiZSB0b2xk IGFib3V0Lgogb3RoZXJvYmo9ICQoVEVSTUNBUF9PQkopICQoUFJFX0FMTE9DX09CSikgJChH TUFMTE9DX09CSikgJChSQUxMT0NfT0JKKSBcCi0gICQoUE9TVF9BTExPQ19PQkopICQoVk1M SU1JVF9PQkopICQoV0lER0VUX09CSikgJChMSUJPQkpTKQorICAkKFBPU1RfQUxMT0NfT0JK KSAkKFdJREdFVF9PQkopICQoTElCT0JKUykKIAorIyMgQWxsIG9iamVjdCBmaWxlcyBsaW5r ZWQgaW50byB0ZW1hY3MuICAkKFZNTElNSVRfT0JKKSBzaG91bGQgYmUgZmlyc3QuCitBTExP QkpTID0gJChWTUxJTUlUX09CSikgJChvYmopICQob3RoZXJvYmopCiAKICMjIENvbmZpZ3Vy ZSBpbnNlcnRzIHRoZSBmaWxlIGxpc3AubWsgYXQgdGhpcyBwb2ludCwgZGVmaW5pbmcgJGxp c3AuCiBAbGlzcF9mcmFnQAogCiAKICMjIENvbnN0cnVjdCBmdWxsIHNldCBvZiBsaWJyYXJp ZXMgdG8gYmUgbGlua2VkLgotIyMgTm90ZSB0aGF0IFN1bk9TIG5lZWRzIC1sbSB0byBjb21l IGJlZm9yZSAtbGM7IG90aGVyd2lzZSwgeW91IGdldAotIyMgZHVwbGljYXRlZCBzeW1ib2xz LiAgSWYgdGhlIHN0YW5kYXJkIGxpYnJhcmllcyB3ZXJlIGNvbXBpbGVkCi0jIyB3aXRoIEdD Qywgd2UgbWlnaHQgbmVlZCBMSUJfR0NDIGFnYWluIGFmdGVyIHRoZW0uCiBMSUJFUyA9ICQo TElCUykgJChXMzJfTElCUykgJChMSUJTX0dOVVNURVApICQoTElCWF9CQVNFKSAkKExJQklN QUdFKSBcCiAgICAkKExJQlhfT1RIRVIpICQoTElCU09VTkQpIFwKICAgICQoUlNWR19MSUJT KSAkKElNQUdFTUFHSUNLX0xJQlMpICQoTElCX0NMT0NLX0dFVFRJTUUpIFwKQEAgLTQwOSw3 ICszOTcsNyBAQAogICAgJChMSUJTX1RFUk1DQVApICQoR0VUTE9BREFWR19MSUJTKSAkKFNF VFRJTkdTX0xJQlMpICQoTElCU0VMSU5VWF9MSUJTKSBcCiAgICAkKEZSRUVUWVBFX0xJQlMp ICQoRk9OVENPTkZJR19MSUJTKSAkKExJQk9URl9MSUJTKSAkKE0xN05fRkxUX0xJQlMpIFwK ICAgICQoTElCQUNMX0xJQlMpICQoTElCR05VVExTX0xJQlMpICQoTElCX1BUSFJFQUQpICQo TElCX1BUSFJFQURfU0lHTUFTSykgXAotICAgJChMSUJfR0NDKSAkKExJQl9NQVRIKSAkKExJ Ql9TVEFOREFSRCkgJChMSUJfR0NDKQorICAgJChMSUJfTUFUSCkKIAogYWxsOiBlbWFjcyQo RVhFRVhUKSAkKE9USEVSX0ZJTEVTKQogLlBIT05ZOiBhbGwKQEAgLTQ1Niw3ICs0NDQsNyBA QAogCWNkICQobGlic3JjKTsgJChNQUtFKSAkKE1GTEFHUykgbWFrZS1kb2NmaWxlJChFWEVF WFQpCiAKIGJ1aWxkb2JqLmg6IE1ha2VmaWxlCi0JZWNobyAiI2RlZmluZSBCVUlMRE9CSiBc IiQob2JqKSAkKG90aGVyb2JqKSAiICJcIiIgPiBidWlsZG9iai5oCisJZWNobyAiI2RlZmlu ZSBCVUlMRE9CSiBcIiQoQUxMT0JKUykgIiAiXCIiID4kQAogCiBnbG9iYWxzLmg6IGdsLXN0 YW1wOyBAdHJ1ZQogCkBAIC00NjgsMTUgKzQ1NiwxNSBAQAogCSQoc3JjZGlyKS8uLi9idWls ZC1hdXgvbW92ZS1pZi1jaGFuZ2UgZ2wtdG1wIGdsb2JhbHMuaAogCWVjaG8gdGltZXN0YW1w ID4gJEAKIAotJChvYmopICQob3RoZXJvYmopOiBnbG9iYWxzLmgKKyQoQUxMT0JKUyk6IGds b2JhbHMuaAogCiAkKGxpYikvbGliZ251LmE6ICQoY29uZmlnX2gpCiAJY2QgJChsaWIpICYm ICQoTUFLRSkgbGliZ251LmEKIAotdGVtYWNzJChFWEVFWFQpOiAkKFNUQVJUX0ZJTEVTKSBz dGFtcC1vbGR4bWVudSAkKG9iaikgJChvdGhlcm9iaikgXAordGVtYWNzJChFWEVFWFQpOiBz dGFtcC1vbGR4bWVudSAkKEFMTE9CSlMpIFwKIAkgICAgICAgICAkKGxpYikvbGliZ251LmEg JChXMzJfUkVTKQotCSQoQ0MpICQoTERfRklSU1RGTEFHKSAkKEFMTF9DRkxBR1MpICQoVEVN QUNTX0xERkxBR1MpICQoTERGTEFHUykgXAotCSAgLW8gdGVtYWNzICQoU1RBUlRfRklMRVMp ICQob2JqKSAkKG90aGVyb2JqKSAkKGxpYikvbGliZ251LmEgJChMSUJFUykgXAorCSQoQ0Mp ICQoQUxMX0NGTEFHUykgJChURU1BQ1NfTERGTEFHUykgJChMREZMQUdTKSBcCisJICAtbyB0 ZW1hY3MgJChBTExPQkpTKSAkKGxpYikvbGliZ251LmEgJChMSUJFUykgXAogCSAgJChXMzJf UkVTX0xJTkspCiAJdGVzdCAiJChDQU5OT1RfRFVNUCkiID0gInllcyIgfHwgXAogCSAgdGVz dCAiWCQoUEFYQ1RMKSIgPSBYIHx8ICQoUEFYQ1RMKSAtciB0ZW1hY3MkKEVYRUVYVCkKCj09 PSBtb2RpZmllZCBmaWxlICdzcmMvYXV0b2RlcHMubWsnCi0tLSBzcmMvYXV0b2RlcHMubWsJ MjAxMC0wNy0wOCAwMzozMTowNCArMDAwMAorKysgc3JjL2F1dG9kZXBzLm1rCTIwMTMtMDIt MjIgMjA6MTA6NTQgKzAwMDAKQEAgLTIsNSArMiw0IEBACiAKICMjIFRoaXMgaXMgaW5zZXJ0 ZWQgaW4gc3JjL01ha2VmaWxlIGlmIEFVVE9fREVQRU5EPXllcy4KIAotQUxMT0JKUz0kKFNU QVJUX0ZJTEVTKSAke29ian0gJHtvdGhlcm9ian0KIC1pbmNsdWRlICQoQUxMT0JKUzolLm89 JHtERVBESVJ9LyUuZCkKCj09PSBtb2RpZmllZCBmaWxlICdzcmMvZGVwcy5taycKLS0tIHNy Yy9kZXBzLm1rCTIwMTMtMDEtMDIgMTY6MTM6MDQgKzAwMDAKKysrIHNyYy9kZXBzLm1rCTIw MTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTE0NCw3ICsxNDQsNyBAQAogICAgZGlzcGV4 dGVybi5oIGxpc3AuaCBnbG9iYWxzLmggJChjb25maWdfaCkgc3lzdGltZS5oIGNvZGluZy5o IGNvbXBvc2l0ZS5oCiBnbWFsbG9jLm86IGdtYWxsb2MuYyAkKGNvbmZpZ19oKQogcmFsbG9j Lm86IHJhbGxvYy5jIGxpc3AuaCAkKGNvbmZpZ19oKQotdm0tbGltaXQubzogdm0tbGltaXQu YyBtZW0tbGltaXRzLmggbGlzcC5oIGdsb2JhbHMuaCAkKGNvbmZpZ19oKQordm0tbGltaXQu bzogdm0tbGltaXQuYyBsaXNwLmggZ2xvYmFscy5oICQoY29uZmlnX2gpCiBtYXJrZXIubzog bWFya2VyLmMgYnVmZmVyLmggY2hhcmFjdGVyLmggbGlzcC5oIGdsb2JhbHMuaCAkKGNvbmZp Z19oKQogbWluaWJ1Zi5vOiBtaW5pYnVmLmMgc3ludGF4LmggZnJhbWUuaCB3aW5kb3cuaCBr ZXlib2FyZC5oIHN5c3RpbWUuaCBcCiAgICBidWZmZXIuaCBjb21tYW5kcy5oIGNoYXJhY3Rl ci5oIG1zZG9zLmggJChJTlRFUlZBTFNfSCkga2V5bWFwLmggXAoKPT09IG1vZGlmaWVkIGZp bGUgJ3NyYy9lbWFjcy5jJwotLS0gc3JjL2VtYWNzLmMJMjAxMy0wMi0wNyAwNjoyMzo1NCAr MDAwMAorKysgc3JjL2VtYWNzLmMJMjAxMy0wMi0yMiAwODoxMTowNSArMDAwMApAQCAtNTIx LDMyICs1MjEsNiBAQAogc3RhdGljIGNoYXIgY29uc3QgZHVtcF90eltdID0gIlV0QzAiOwog I2VuZGlmCiAKLSNpZm5kZWYgT1JESU5BUllfTElOSwotLyogV2UgZG9uJ3QgaW5jbHVkZSBj cnRiZWdpbi5vIGFuZCBjcnRlbmQubyBpbiB0aGUgbGluaywKLSAgIHNvIHRoZXNlIGZ1bmN0 aW9ucyBhbmQgdmFyaWFibGVzIG1pZ2h0IGJlIG1pc3NlZC4KLSAgIFByb3ZpZGUgZHVtbXkg ZGVmaW5pdGlvbnMgdG8gYXZvaWQgZXJyb3IuCi0gICAoV2UgZG9uJ3QgaGF2ZSBhbnkgcmVh bCBjb25zdHJ1Y3RvcnMgb3IgZGVzdHJ1Y3RvcnMuKSAgKi8KLSNpZmRlZiBfX0dOVUNfXwot Ci0vKiBEZWZpbmUgYSBkdW1teSBmdW5jdGlvbiBGLiAgRGVjbGFyZSBGIHRvbywgdG8gcGFj aWZ5IGdjYwotICAgLVdtaXNzaW5nLXByb3RvdHlwZXMuICAqLwotI2RlZmluZSBERUZJTkVf RFVNTVlfRlVOQ1RJT04oZikgXAotICB2b2lkIGYgKHZvaWQpIEFUVFJJQlVURV9DT05TVCBF WFRFUk5BTExZX1ZJU0lCTEU7IHZvaWQgZiAodm9pZCkge30KLQotI2lmbmRlZiBHQ0NfQ1RP UlNfSU5fTElCQwotREVGSU5FX0RVTU1ZX0ZVTkNUSU9OIChfX2RvX2dsb2JhbF9jdG9ycykK LURFRklORV9EVU1NWV9GVU5DVElPTiAoX19kb19nbG9iYWxfY3RvcnNfYXV4KQotREVGSU5F X0RVTU1ZX0ZVTkNUSU9OIChfX2RvX2dsb2JhbF9kdG9ycykKLS8qIEdOVS9MaW51eCBoYXMg YSBidWcgaW4gaXRzIGxpYnJhcnk7IGF2b2lkIGFuIGVycm9yLiAgKi8KLSNpZm5kZWYgR05V X0xJTlVYCi1jaGFyICogX19DVE9SX0xJU1RfX1syXSBFWFRFUk5BTExZX1ZJU0lCTEUgPSB7 IChjaGFyICopICgtMSksIDAgfTsKLSNlbmRpZgotY2hhciAqIF9fRFRPUl9MSVNUX19bMl0g RVhURVJOQUxMWV9WSVNJQkxFID0geyAoY2hhciAqKSAoLTEpLCAwIH07Ci0jZW5kaWYgLyog R0NDX0NUT1JTX0lOX0xJQkMgKi8KLURFRklORV9EVU1NWV9GVU5DVElPTiAoX19tYWluKQot I2VuZGlmIC8qIF9fR05VQ19fICovCi0jZW5kaWYgLyogT1JESU5BUllfTElOSyAqLwotCiAv KiBUZXN0IHdoZXRoZXIgdGhlIG5leHQgYXJndW1lbnQgaW4gQVJHViBtYXRjaGVzIFNTVFIg b3IgYSBwcmVmaXggb2YKICAgIExTVFIgKGF0IGxlYXN0IE1JTkxFTiBjaGFyYWN0ZXJzKS4g IElmIHNvLCB0aGVuIGlmIFZBTFBUUiBpcyBub24tbnVsbAogICAgKHRoZSBhcmd1bWVudCBp cyBzdXBwb3NlZCB0byBoYXZlIGEgdmFsdWUpIHN0b3JlIGluICpWQUxQVFIgZWl0aGVyCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3JjL21ha2VmaWxlLnczMi1pbicKLS0tIHNyYy9tYWtlZmls ZS53MzItaW4JMjAxMy0wMi0xMyAwMDo1MDozOCArMDAwMAorKysgc3JjL21ha2VmaWxlLncz Mi1pbgkyMDEzLTAyLTIyIDA4OjExOjA1ICswMDAwCkBAIC0xNDkyLDcgKzE0OTIsNiBAQAog CiAkKEJMRCkvdm0tbGltaXQuJChPKSA6IFwKIAkkKFNSQykvdm0tbGltaXQuYyBcCi0JJChT UkMpL21lbS1saW1pdHMuaCBcCiAJJChTUkMpL3czMmhlYXAuaCBcCiAJJChOVF9JTkMpL3Vu aXN0ZC5oIFwKIAkkKENPTkZJR19IKSBcCgo9PT0gcmVtb3ZlZCBmaWxlICdzcmMvbWVtLWxp bWl0cy5oJwotLS0gc3JjL21lbS1saW1pdHMuaAkyMDEzLTAxLTAxIDA5OjExOjA1ICswMDAw CisrKyBzcmMvbWVtLWxpbWl0cy5oCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKQEAgLTEs NDMgKzAsMCBAQAotLyogSW5jbHVkZXMgZm9yIG1lbW9yeSBsaW1pdCB3YXJuaW5ncy4KLSAg IENvcHlyaWdodCAoQykgMTk5MCwgMTk5My0xOTk2LCAyMDAxLTIwMTMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLAotICAgSW5jLgotCi1UaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1h Y3MuCi0KLUdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci1pdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLUdOVSBFbWFjcyBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLU1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0K LVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCi1hbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0KLSNpZmRlZiBNU0RPUwotI2luY2x1 ZGUgPGRwbWkuaD4KLWV4dGVybiBpbnQgZXRleHQ7Ci0jZW5kaWYKLQotLyogU29tZSBzeXN0 ZW1zIG5lZWQgdGhpcyBiZWZvcmUgPHN5cy9yZXNvdXJjZS5oPi4gICovCi0jaW5jbHVkZSA8 c3lzL3R5cGVzLmg+Ci0KLSNpZmRlZiBIQVZFX1NZU19SRVNPVVJDRV9ICi0jIGluY2x1ZGUg PHN5cy90aW1lLmg+Ci0jIGluY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgotI2Vsc2UKLSMgaWYg SEFWRV9TWVNfVkxJTUlUX0gKLSMgIGluY2x1ZGUgPHN5cy92bGltaXQuaD4JLyogT2Jzb2xl dGUsIHNheXMgZ2xpYmMgKi8KLSMgZW5kaWYKLSNlbmRpZgotCi1leHRlcm4gY2hhciAqc3Rh cnRfb2ZfZGF0YSAodm9pZCkgQVRUUklCVVRFX0NPTlNUOwotI2lmIFVTRV9MU0JfVEFHIHx8 IFVJTlRQVFJfTUFYIDw9IFZBTF9NQVgKLSNkZWZpbmUgRVhDRUVEU19MSVNQX1BUUihwdHIp IDAKLSNlbHNlCi0jZGVmaW5lIEVYQ0VFRFNfTElTUF9QVFIocHRyKSBcCi0gICgoKHVpbnRw dHJfdCkgKHB0cikgJiB+REFUQV9TRUdfQklUUykgPj4gVkFMQklUUykKLSNlbmRpZgoKPT09 IHJlbW92ZWQgZmlsZSAnc3JjL3ByZS1jcnQwLmMnCi0tLSBzcmMvcHJlLWNydDAuYwkyMDEz LTAyLTEyIDE4OjMzOjQyICswMDAwCisrKyBzcmMvcHJlLWNydDAuYwkxOTcwLTAxLTAxIDAw OjAwOjAwICswMDAwCkBAIC0xLDEwICswLDAgQEAKLS8qIFRoaXMgZmlsZSBpcyBsb2FkZWQg YmVmb3JlIGNydDAubyBvbiBtYWNoaW5lcyB3aGVyZSB3ZSBkbyBub3QKLSAgIHJlbWFwIHBh cnQgb2YgdGhlIGRhdGEgc3BhY2UgaW50byB0ZXh0IHNwYWNlIGluIHVuZXhlYy4KLSAgIE9u IHRoZXNlIG1hY2hpbmVzLCB0aGVyZSBpcyBubyBwcm9ibGVtIHdpdGggc3RhbmRhcmQgY3J0 MC5vJ3MKLSAgIHRoYXQgbWFrZSBlbnZpcm9uIGFuIGluaXRpYWxpemVkIHZhcmlhYmxlLiAg SG93ZXZlciwgd2UgZG8KLSAgIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBsYWJlbCBkYXRhX3N0 YXJ0IGV4aXN0cyBhbnl3YXkuICAqLwotCi0vKiBDcmVhdGUgYSBsYWJlbCB0byBhcHBlYXIg YXQgdGhlIGJlZ2lubmluZyBvZiBkYXRhIHNwYWNlLgotICAgSXRzIHZhbHVlIGlzIG5vbnpl cm8gc28gdGhhdCBpdCBjYW5ub3QgYmUgcHV0IGludG8gYnNzLiAgKi8KLQotaW50IGRhdGFf c3RhcnQgPSAxOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy91bmV4YWl4LmMnCi0tLSBzcmMv dW5leGFpeC5jCTIwMTMtMDItMTUgMDY6MzU6NTQgKzAwMDAKKysrIHNyYy91bmV4YWl4LmMJ MjAxMy0wMi0yMiAwODoxMTowNSArMDAwMApAQCAtNTksOCArNTksNiBAQAogI2luY2x1ZGUg PHVuaXN0ZC5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CiAKLSNpbmNsdWRlICJtZW0tbGltaXRz LmgiCi0KIGV4dGVybiBjaGFyIF9kYXRhW107CiBleHRlcm4gY2hhciBfdGV4dFtdOwogCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3VuZXhjb2ZmLmMnCi0tLSBzcmMvdW5leGNvZmYuYwky MDEzLTAxLTAyIDE2OjEzOjA0ICswMDAwCisrKyBzcmMvdW5leGNvZmYuYwkyMDEzLTAyLTIy IDE5OjQzOjE3ICswMDAwCkBAIC05OSw3ICs5OSw3IEBACiAKICNpbmNsdWRlIDxzeXMvZmls ZS5oPgogCi0jaW5jbHVkZSAibWVtLWxpbWl0cy5oIgorZXh0ZXJuIGludCBldGV4dFtdOwog CiBzdGF0aWMgbG9uZyBibG9ja19jb3B5X3N0YXJ0OwkJLyogT2xkIGV4ZWN1dGFibGUgc3Rh cnQgcG9pbnQgKi8KIHN0YXRpYyBzdHJ1Y3QgZmlsZWhkciBmX2hkcjsJCS8qIEZpbGUgaGVh ZGVyICovCkBAIC0xNjgsNyArMTY4LDcgQEAKICAgcGFnZW1hc2sgPSBnZXRwYWdlc2l6ZSAo KSAtIDE7CiAKICAgLyogQWRqdXN0IHRleHQvZGF0YSBib3VuZGFyeS4gKi8KLSAgZGF0YV9z dGFydCA9IChpbnQpIHN0YXJ0X29mX2RhdGEgKCk7CisgIGRhdGFfc3RhcnQgPSAoaW50KSAo ZXRleHQgKyAxKTsKICAgZGF0YV9zdGFydCA9IEFERFJfQ09SUkVDVCAoZGF0YV9zdGFydCk7 CiAgIGRhdGFfc3RhcnQgPSBkYXRhX3N0YXJ0ICYgfnBhZ2VtYXNrOyAvKiAoRG93bikgdG8g cGFnZSBib3VuZGFyeS4gKi8KIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy92bS1saW1pdC5j JwotLS0gc3JjL3ZtLWxpbWl0LmMJMjAxMy0wMi0yMiAxOToyMzoxMiArMDAwMAorKysgc3Jj L3ZtLWxpbWl0LmMJMjAxMy0wMi0yMiAxOToyNjowNyArMDAwMApAQCAtMTksNyArMTksMzIg QEAKICNpbmNsdWRlIDxjb25maWcuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4gLyogZm9yICdl bnZpcm9uJywgb24gQUlYICovCiAjaW5jbHVkZSAibGlzcC5oIgotI2luY2x1ZGUgIm1lbS1s aW1pdHMuaCIKKworI2lmZGVmIE1TRE9TCisjaW5jbHVkZSA8ZHBtaS5oPgorI2VuZGlmCisK Ky8qIFNvbWUgc3lzdGVtcyBuZWVkIHRoaXMgYmVmb3JlIDxzeXMvcmVzb3VyY2UuaD4uICAq LworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjaWZkZWYgSEFWRV9TWVNfUkVTT1VSQ0Vf SAorIyBpbmNsdWRlIDxzeXMvdGltZS5oPgorIyBpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4K KyNlbHNlCisjIGlmIEhBVkVfU1lTX1ZMSU1JVF9ICisjICBpbmNsdWRlIDxzeXMvdmxpbWl0 Lmg+CS8qIE9ic29sZXRlLCBzYXlzIGdsaWJjICovCisjIGVuZGlmCisjZW5kaWYKKworLyog U3RhcnQgb2YgZGF0YS4gIEl0IGlzIE9LIGlmIHRoaXMgaXMgYXBwcm94aW1hdGU7IGl0J3Mg dXNlZCBvbmx5IGFzCisgICBhIGhldXJpc3RpYy4gICovCitleHRlcm4gY2hhciBkYXRhX3N0 YXJ0W107CisjaWZuZGVmIEhBVkVfREFUQV9TVEFSVAorLyogSW5pdGlhbGl6ZSB0byBub256 ZXJvLCBzbyB0aGF0IGl0J3MgcHV0IGludG8gZGF0YSBhbmQgbm90IGJzcy4KKyAgIExpbmsg dGhpcyBmaWxlJ3Mgb2JqZWN0IGNvZGUgZmlyc3QsIHNvIHRoYXQgdGhpcyBzeW1ib2wgaXMg bmVhciB0aGUKKyAgIHN0YXJ0IG9mIGRhdGEuICAqLworY2hhciBkYXRhX3N0YXJ0WzFdID0g eyAxIH07CisjZW5kaWYKIAogLyoKICAgTGV2ZWwgbnVtYmVyIG9mIHdhcm5pbmdzIGFscmVh ZHkgaXNzdWVkLgpAQCAtMzUsMTIgKzYwLDIwIEBACiAgICAwIG1lYW5zIGRvbid0IGlzc3Vl IHRoZW0uICAqLwogc3RhdGljIHZvaWQgKCp3YXJuX2Z1bmN0aW9uKSAoY29uc3QgY2hhciAq KTsKIAotLyogU3RhcnQgb2YgZGF0YSBzcGFjZTsgY2FuIGJlIGNoYW5nZWQgYnkgY2FsbGlu ZyBtYWxsb2NfaW5pdC4gICovCi1zdGF0aWMgdm9pZCAqZGF0YV9zcGFjZV9zdGFydDsKKy8q IFN0YXJ0IG9mIGRhdGEgc3BhY2U7IGNhbiBiZSBjaGFuZ2VkIGJ5IGNhbGxpbmcgbWVtb3J5 X3dhcm5pbmdzLiAgKi8KK3N0YXRpYyBjaGFyICpkYXRhX3NwYWNlX3N0YXJ0OwogCiAvKiBO dW1iZXIgb2YgYnl0ZXMgb2Ygd3JpdGFibGUgbWVtb3J5IHdlIGNhbiBleHBlY3QgdG8gYmUg YWJsZSB0byBnZXQuICAqLwogc3RhdGljIHNpemVfdCBsaW1fZGF0YTsKIAwKKy8qIFJldHVy biB0cnVlIGlmIFBUUiBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYXMgYW4gRW1hY3MgTGlzcCBv YmplY3QuICAqLworc3RhdGljIGJvb2wKK2V4Y2VlZHNfbGlzcF9wdHIgKHZvaWQgKnB0cikK K3sKKyAgcmV0dXJuICghIFVTRV9MU0JfVEFHCisJICAmJiBWQUxfTUFYIDwgVUlOVFBUUl9N QVgKKwkgICYmICgodWludHB0cl90KSBwdHIgJiB+REFUQV9TRUdfQklUUykgPj4gVkFMQklU UyAhPSAwKTsKK30KIAogI2lmZGVmIEhBVkVfR0VUUkxJTUlUCiAKQEAgLTEyMiwxMCArMTU1 LDEyIEBACiB7CiAjaWZkZWYgUkVMX0FMTE9DCiAgIGV4dGVybiB2b2lkICooKnJlYWxfbW9y ZWNvcmUpIChwdHJkaWZmX3QpOworI2Vsc2UKKyAgdm9pZCAqKCpyZWFsX21vcmVjb3JlKSAo cHRyZGlmZl90KSA9IDA7CiAjZW5kaWYKICAgZXh0ZXJuIHZvaWQgKigqX19tb3JlY29yZSkg KHB0cmRpZmZfdCk7CiAKLSAgdm9pZCAqY3A7CisgIGNoYXIgKmNwOwogICBzaXplX3QgZml2 ZV9wZXJjZW50OwogICBzaXplX3QgZGF0YV9zaXplOwogICBlbnVtIHdhcm5sZXZlbCBuZXdf d2FybmxldmVsOwpAQCAtMTM1LDEzICsxNzAsOCBAQAogICBmaXZlX3BlcmNlbnQgPSBsaW1f ZGF0YSAvIDIwOwogCiAgIC8qIEZpbmQgY3VycmVudCBlbmQgb2YgbWVtb3J5IGFuZCBpc3N1 ZSB3YXJuaW5nIGlmIGdldHRpbmcgbmVhciBtYXggKi8KLSNpZmRlZiBSRUxfQUxMT0MKLSAg aWYgKHJlYWxfbW9yZWNvcmUpCi0gICAgY3AgPSAoY2hhciAqKSAoKnJlYWxfbW9yZWNvcmUp ICgwKTsKLSAgZWxzZQotI2VuZGlmCi0gIGNwID0gKGNoYXIgKikgKCpfX21vcmVjb3JlKSAo MCk7Ci0gIGRhdGFfc2l6ZSA9IChjaGFyICopIGNwIC0gKGNoYXIgKikgZGF0YV9zcGFjZV9z dGFydDsKKyAgY3AgPSAocmVhbF9tb3JlY29yZSA/IHJlYWxfbW9yZWNvcmUgOiBfX21vcmVj b3JlKSAoMCk7CisgIGRhdGFfc2l6ZSA9IGNwIC0gZGF0YV9zcGFjZV9zdGFydDsKIAogICBp ZiAoIXdhcm5fZnVuY3Rpb24pCiAgICAgcmV0dXJuOwpAQCAtMTg4LDQ5ICsyMTgsMTAgQEAK IAl3YXJubGV2ZWwgPSB3YXJuZWRfODU7CiAgICAgfQogCi0gIGlmIChFWENFRURTX0xJU1Bf UFRSIChjcCkpCisgIGlmIChleGNlZWRzX2xpc3BfcHRyIChjcCkpCiAgICAgKCp3YXJuX2Z1 bmN0aW9uKSAoIldhcm5pbmc6IG1lbW9yeSBpbiB1c2UgZXhjZWVkcyBsaXNwIHBvaW50ZXIg c2l6ZSIpOwogfQogDAotI2lmICFkZWZpbmVkIChDQU5OT1RfRFVNUCkgfHwgIWRlZmluZWQg KFNZU1RFTV9NQUxMT0MpCi0vKiBTb21lIHN5c3RlbXMgdGhhdCBjYW5ub3QgZHVtcCBhbHNv IGNhbm5vdCBpbXBsZW1lbnQgdGhlc2UuICAqLwotCi0vKgotICoJUmV0dXJuIHRoZSBhZGRy ZXNzIG9mIHRoZSBzdGFydCBvZiB0aGUgZGF0YSBzZWdtZW50IHByaW9yIHRvCi0gKglkb2lu ZyBhbiB1bmV4ZWMuICBBZnRlciB1bmV4ZWMgdGhlIHJldHVybiB2YWx1ZSBpcyB1bmRlZmlu ZWQuCi0gKglTZWUgY3J0MC5jIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIGFuZCBkZWZpbml0 aW9uIG9mIGRhdGFfc3RhcnQuCi0gKgotICoJQXBwYXJlbnRseSwgb24gQlNEIHN5c3RlbXMg dGhpcyBpcyBldGV4dCBhdCBzdGFydHVwLiAgT24KLSAqCVVTRyBzeXN0ZW1zIChzd2FwcGlu ZykgdGhpcyBpcyBoaWdobHkgbW11IGRlcGVuZGVudCBhbmQKLSAqCWlzIGFsc28gZGVwZW5k ZW50IG9uIHdoZXRoZXIgb3Igbm90IHRoZSBwcm9ncmFtIGlzIHJ1bm5pbmcKLSAqCXdpdGgg c2hhcmVkIHRleHQuICBHZW5lcmFsbHkgdGhlcmUgaXMgYSAocG9zc2libHkgbGFyZ2UpCi0g KglnYXAgYmV0d2VlbiBlbmQgb2YgdGV4dCBhbmQgc3RhcnQgb2YgZGF0YSB3aXRoIHNoYXJl ZCB0ZXh0LgotICoKLSAqLwotCi1jaGFyICoKLXN0YXJ0X29mX2RhdGEgKHZvaWQpCi17Ci0j aWZkZWYgQlNEX1NZU1RFTQotICBleHRlcm4gY2hhciBldGV4dDsKLSAgcmV0dXJuICh2b2lk ICopICZldGV4dDsKLSNlbGlmIGRlZmluZWQgREFUQV9TVEFSVAotICByZXR1cm4gKHZvaWQg KikgREFUQV9TVEFSVDsKLSNlbGlmIGRlZmluZWQgT1JESU5BUllfTElOSwotICAvKgotICAg KiBUaGlzIGlzIGEgaGFjay4gIFNpbmNlIHdlJ3JlIG5vdCBsaW5raW5nIGNydDAuYyBvciBw cmVfY3J0MC5jLAotICAgKiBkYXRhX3N0YXJ0IGlzbid0IGRlZmluZWQuICBXZSB0YWtlIHRo ZSBhZGRyZXNzIG9mIGVudmlyb24sIHdoaWNoCi0gICAqIGlzIGtub3duIHRvIGxpdmUgYXQg b3IgbmVhciB0aGUgc3RhcnQgb2YgdGhlIHN5c3RlbSBjcnQwLmMsIGFuZAotICAgKiB3ZSBk b24ndCBzd2VhdCB0aGUgaGFuZGZ1bCBvZiBieXRlcyB0aGF0IG1pZ2h0IGxvc2UuCi0gICAq LwotICByZXR1cm4gKHZvaWQgKikgJmVudmlyb247Ci0jZWxzZQotICBleHRlcm4gaW50IGRh dGFfc3RhcnQ7Ci0gIHJldHVybiAodm9pZCAqKSAmZGF0YV9zdGFydDsKLSNlbmRpZgotfQot I2VuZGlmIC8qIChub3QgQ0FOTk9UX0RVTVAgb3Igbm90IFNZU1RFTV9NQUxMT0MpICovCi0M CiAvKiBFbmFibGUgbWVtb3J5IHVzYWdlIHdhcm5pbmdzLgogICAgU1RBUlQgc2F5cyB3aGVy ZSB0aGUgZW5kIG9mIHB1cmUgc3RvcmFnZSBpcy4KICAgIFdBUk5GVU4gc3BlY2lmaWVzIHRo ZSBmdW5jdGlvbiB0byBjYWxsIHRvIGlzc3VlIGEgd2FybmluZy4gICovCkBAIC0yNDAsMTAg KzIzMSw3IEBACiB7CiAgIGV4dGVybiB2b2lkICgqIF9fYWZ0ZXJfbW9yZWNvcmVfaG9vaykg KHZvaWQpOyAgICAgLyogRnJvbSBnbWFsbG9jLmMgKi8KIAotICBpZiAoc3RhcnQpCi0gICAg ZGF0YV9zcGFjZV9zdGFydCA9IHN0YXJ0OwotICBlbHNlCi0gICAgZGF0YV9zcGFjZV9zdGFy dCA9IHN0YXJ0X29mX2RhdGEgKCk7CisgIGRhdGFfc3BhY2Vfc3RhcnQgPSBzdGFydCA/IHN0 YXJ0IDogZGF0YV9zdGFydDsKIAogICB3YXJuX2Z1bmN0aW9uID0gd2FybmZ1bjsKICAgX19h ZnRlcl9tb3JlY29yZV9ob29rID0gY2hlY2tfbWVtb3J5X2xpbWl0czsKCg== --------------090206080805070001010102-- From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 22 16:35:41 2013 Received: (at 13783) by debbugs.gnu.org; 22 Feb 2013 21:35:41 +0000 Received: from localhost ([127.0.0.1]:44735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U90HM-0001Ht-Dx for submit@debbugs.gnu.org; Fri, 22 Feb 2013 16:35:40 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:35803) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U90HJ-0001Hi-B6 for 13783@debbugs.gnu.org; Fri, 22 Feb 2013 16:35:38 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MIN00H0056SFF00@a-mtaout20.012.net.il> for 13783@debbugs.gnu.org; Fri, 22 Feb 2013 23:34:11 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MIN00GKV58ZYVD0@a-mtaout20.012.net.il>; Fri, 22 Feb 2013 23:34:11 +0200 (IST) Date: Fri, 22 Feb 2013 23:34:05 +0200 From: Eli Zaretskii Subject: Re: simplify data_start configuration for Emacs In-reply-to: <5127DB79.6000202@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83vc9kkp82.fsf@gnu.org> References: <512729DD.7040903@cs.ucla.edu> <83d2vsmrc0.fsf@gnu.org> <5127DB79.6000202@cs.ucla.edu> X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 13783 Cc: 13783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Fri, 22 Feb 2013 12:56:25 -0800 > From: Paul Eggert > CC: 13783@debbugs.gnu.org > > The patch omits data_start on hosts that use the system malloc, > since data_start is now needed only on hosts where GNU Emacs > supplies malloc. You mean, gmalloc? How does that come into play? It seems like data_start and data_size derived from it matter only when displaying memory usage warnings -- is that correct? If so, why doesn't this matter when system malloc is used? > On GNU hosts the linker supplies the address automatically; > on non-GNU hosts we approximate it by declaring a > variable whose contents don't matter. The MS-Windows build computes data_start and data_size inside unexw32.c at dump time -- is that good enough? (I'm asking because your change doesn't touch the Windows build.) Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 22 20:38:00 2013 Received: (at 13783) by debbugs.gnu.org; 23 Feb 2013 01:38:00 +0000 Received: from localhost ([127.0.0.1]:44973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U943p-0008CJ-Ou for submit@debbugs.gnu.org; Fri, 22 Feb 2013 20:38:00 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:46668) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U943j-0008C7-7G for 13783@debbugs.gnu.org; Fri, 22 Feb 2013 20:37:55 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 194D0A60001; Fri, 22 Feb 2013 17:36:25 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yKtz74Z+eYw3; Fri, 22 Feb 2013 17:36:21 -0800 (PST) Received: from [192.168.1.9] (pool-71-189-154-249.lsanca.fios.verizon.net [71.189.154.249]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 7932939E8008; Fri, 22 Feb 2013 17:36:21 -0800 (PST) Message-ID: <51281D0D.4080602@cs.ucla.edu> Date: Fri, 22 Feb 2013 17:36:13 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: simplify data_start configuration for Emacs References: <512729DD.7040903@cs.ucla.edu> <83d2vsmrc0.fsf@gnu.org> <5127DB79.6000202@cs.ucla.edu> <83vc9kkp82.fsf@gnu.org> In-Reply-To: <83vc9kkp82.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------080709050008050603010502" X-Spam-Score: -4.9 (----) X-Debbugs-Envelope-To: 13783 Cc: 13783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.9 (----) This is a multi-part message in MIME format. --------------080709050008050603010502 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 02/22/13 13:34, Eli Zaretskii wrote: >> From: Paul Eggert >> >> The patch omits data_start on hosts that use the system malloc, >> since data_start is now needed only on hosts where GNU Emacs >> supplies malloc. > > You mean, gmalloc? How does that come into play? With the patch, data_start is used only by vm-limit.c. And vm-limit.c is compiled only when using gmalloc, as its isn't valid when using a system malloc. > It seems like data_start and data_size derived from it matter only > when displaying memory usage warnings -- is that correct? Yes. > If so, why doesn't this matter when system malloc is used? When the system malloc is used Emacs can't warn about low memory, because it has no way of knowing when memory is low. > The MS-Windows build computes data_start and data_size inside > unexw32.c at dump time -- is that good enough? (I'm asking because > your change doesn't touch the Windows build.) Yes, it should be, but that points out a problem with the latest patch -- it should use DATA_START for MS platforms. Here's a further patch to fix that, and I'm attaching the resulting combined patch, relative to trunk bzr 111860. === modified file 'src/vm-limit.c' --- src/vm-limit.c 2013-02-22 19:26:07 +0000 +++ src/vm-limit.c 2013-02-23 01:28:04 +0000 @@ -22,6 +22,7 @@ #ifdef MSDOS #include +extern int etext; #endif /* Some systems need this before . */ @@ -38,12 +39,16 @@ /* Start of data. It is OK if this is approximate; it's used only as a heuristic. */ +#ifdef DATA_START +# define data_start ((char *) DATA_START) +#else extern char data_start[]; -#ifndef HAVE_DATA_START +# ifndef HAVE_DATA_START /* Initialize to nonzero, so that it's put into data and not bss. Link this file's object code first, so that this symbol is near the start of data. */ char data_start[1] = { 1 }; +# endif #endif /* --------------080709050008050603010502 Content-Type: text/plain; charset=UTF-8; name="data_start.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="data_start.txt" PT09IG1vZGlmaWVkIGZpbGUgJ0NoYW5nZUxvZycKLS0tIENoYW5nZUxvZwkyMDEzLTAyLTIx IDIyOjQyOjU2ICswMDAwCisrKyBDaGFuZ2VMb2cJMjAxMy0wMi0yMiAwODoyMTo1NSArMDAw MApAQCAtMSwzICsxLDEyIEBACisyMDEzLTAyLTIyICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBj cy51Y2xhLmVkdT4KKworCVNpbXBsaWZ5IGRhdGFfc3RhcnQgY29uZmlndXJhdGlvbiAoQnVn IzEzNzgzKS4KKwkqIGNvbmZpZ3VyZS5hYyAoQ1JUX0RJUiwgTElCX1NUQU5EQVJELCBTVEFS VF9GSUxFUywgREFUQV9TVEFSVCkKKwkoTERfRklSU1RGTEFHLCBPUkRJTkFSWV9MSU5LLCBM SUJfR0NDKTogUmVtb3ZlLgorCShBQ19DSEVDS19IRUFERVJTX09OQ0UpOiBSZW1vdmUgc3lz L3Jlc291cmNlLmgsIGFzIGl0J3MKKwlub3QgYWx3YXlzIG5lZWRlZC4KKwkoSEFWRV9EQVRB X1NUQVJUKTogTmV3IG1hY3JvLgorCiAyMDEzLTAyLTIxICBQYXVsIEVnZ2VydCAgPGVnZ2Vy dEBjcy51Y2xhLmVkdT4KIAogCVBhcmFsbGVsaXplIGRvY3VtZW50YXRpb24gYnVpbGRzLgoK PT09IG1vZGlmaWVkIGZpbGUgJ2FkbWluL0NQUC1ERUZJTkVTJwotLS0gYWRtaW4vQ1BQLURF RklORVMJMjAxMi0xMi0xNCAxODo1OTowMCArMDAwMAorKysgYWRtaW4vQ1BQLURFRklORVMJ MjAxMy0wMi0yMiAwODoxMTowNSArMDAwMApAQCAtOTAsNyArOTAsNiBAQAogQlJPS0VOX1BU WV9SRUFEX0FGVEVSX0VBR0FJTgogQ0xBU0hfREVURUNUSU9OCiBEQVRBX1NFR19CSVRTCi1E QVRBX1NUQVJUCiBERUZBVUxUX1NPVU5EX0RFVklDRQogREVWSUNFX1NFUAogRElSRUNUT1JZ X1NFUApAQCAtNDA4LDcgKzQwNyw2IEBACiBOU0lHCiBOU0lHX01JTklNVU0KIE5VTExfREVW SUNFCi1PUkRJTkFSWV9MSU5LCiBQQUdFU0laRQogUFJFRkVSX1ZTVVNQCiBQVFlfSVRFUkFU SU9OCgo9PT0gbW9kaWZpZWQgZmlsZSAnYWRtaW4vQ2hhbmdlTG9nJwotLS0gYWRtaW4vQ2hh bmdlTG9nCTIwMTMtMDItMTEgMjM6Mzc6MTggKzAwMDAKKysrIGFkbWluL0NoYW5nZUxvZwky MDEzLTAyLTIyIDA4OjIxOjU1ICswMDAwCkBAIC0xLDMgKzEsOCBAQAorMjAxMy0wMi0yMiAg UGF1bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CisKKwlTaW1wbGlmeSBkYXRhX3N0 YXJ0IGNvbmZpZ3VyYXRpb24gKEJ1ZyMxMzc4MykuCisJKiBDUFAtREVGSU5FUyAoREFUQV9T VEFSVCwgT1JESU5BUllfTElOSyk6IFJlbW92ZS4KKwogMjAxMy0wMi0xMSAgUGF1bCBFZ2dl cnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CiAKIAlUdW5lIGJ5IHVzaW5nIG1lbWNociBhbmQg bWVtcmNoci4KCj09PSBtb2RpZmllZCBmaWxlICdjb25maWd1cmUuYWMnCi0tLSBjb25maWd1 cmUuYWMJMjAxMy0wMi0xNSAwNjozNTo1NCArMDAwMAorKysgY29uZmlndXJlLmFjCTIwMTMt MDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTIzMCwxMiArMjMwLDYgQEAKICAgIGZpCiBmaQog Ci1DUlRfRElSPQotQUNfQVJHX1dJVEgoW2NydC1kaXJdLGRubAotW0FTX0hFTFBfU1RSSU5H KFstLXdpdGgtY3J0LWRpcj1ESVJdLFtkaXJlY3RvcnkgY29udGFpbmluZyBjcnRuLm8gZXRj LgotVGhlIGRlZmF1bHQgaXMgL3Vzci9saWIsIG9yIC91c3IvbGliNjQgb24gc29tZSBwbGF0 Zm9ybXMuXSldKQotQ1JUX0RJUj0iJHt3aXRoX2NydF9kaXJ9IgotCiBBQ19BUkdfV0lUSChn YW1ldXNlcixkbmwKIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWdhbWV1c2VyPVVTRVJdLFt1 c2VyIGZvciBzaGFyZWQgZ2FtZSBzY29yZSBmaWxlc10pXSkKIHRlc3QgIlgke3dpdGhfZ2Ft ZXVzZXJ9IiAhPSBYICYmIHRlc3QgIiR7d2l0aF9nYW1ldXNlcn0iICE9IHllcyBcCkBAIC0x MDUxLDQyICsxMDQ1LDI5IEBACiAKIAogTElCX01BVEg9LWxtCi1MSUJfU1RBTkRBUkQ9Ci1T VEFSVF9GSUxFUz0KIGRubCBDdXJyZW50IHBvc3NpYmlsaXRpZXMgaGFuZGxlZCBieSBzZWQg KGFpeDQtMiAtPiBhaXgsCiBkbmwgZ251LWxpbnV4IC0+IGdudS9saW51eCwgZXRjLik6CiBk bmwgZ251LCBnbnUvbGludXgsIGdudS9rZnJlZWJzZCwgYWl4LCBjeWd3aW4sIGRhcndpbiwg aHB1eCwgaXJpeC4KIGRubCBBbmQgc3BlY2lhbCBjYXNlczogYmVya2VsZXktdW5peCwgdXNn LXVuaXgtdiwgbXMtZG9zLCB3aW5kb3dzLW50LgogU1lTVEVNX1RZUEU9YGVjaG8gJG9wc3lz IHwgc2VkIC1lICdzL1tbMC05XV0uKi8vJyAtZSAnc3wtfC98J2AKIAotZG5sIE5CIGRvIG5v dCB1c2UgQ1JUX0RJUiB1bnF1b3RlZCBoZXJlLCBzaW5jZSBpdCBtaWdodCBub3QgYmUgc2V0 IHlldC4KIGNhc2UgJG9wc3lzIGluCiAgIGN5Z3dpbiApCiAgICAgTElCX01BVEg9Ci0gICAg U1RBUlRfRklMRVM9J3ByZS1jcnQwLm8nCiAgICAgOzsKICAgZGFyd2luICkKICAgICAjIyBB ZGRpbmcgLWxtIGNvbmZ1c2VzIHRoZSBkeW5hbWljIGxpbmtlciwgc28gb21pdCBpdC4KICAg ICBMSUJfTUFUSD0KLSAgICBTVEFSVF9GSUxFUz0ncHJlLWNydDAubycKICAgICA7OwogICBm cmVlYnNkICkKLSAgICBMSUJfU1RBTkRBUkQ9Jy1sZ2NjIC1sYyAtbGdjYyAkKENSVF9ESVIp L2NydG4ubycKLSAgICBTVEFSVF9GSUxFUz0ncHJlLWNydDAubyAkKENSVF9ESVIpL2NydDEu byAkKENSVF9ESVIpL2NydGkubycKICAgICBTWVNURU1fVFlQRT1iZXJrZWxleS11bml4CiAg ICAgOzsKICAgZ251LWxpbnV4IHwgZ251LWtmcmVlYnNkICkKLSAgICBMSUJfU1RBTkRBUkQ9 Jy1sZ2NjIC1sYyAtbGdjYyAkKENSVF9ESVIpL2NydG4ubycKLSAgICBTVEFSVF9GSUxFUz0n cHJlLWNydDAubyAkKENSVF9ESVIpL2NydDEubyAkKENSVF9ESVIpL2NydGkubycKICAgICA7 OwogICBocHV4MTAtMjAgfCBocHV4MTEgKQotICAgIExJQl9TVEFOREFSRD0tbGMKLSAgICBT VEFSVF9GSUxFUz0ncHJlLWNydDAubyAkKENSVF9ESVIpL2NydDAubycKICAgICA7OwogICBk bmwgTkIgdGhpcyBtYXkgYmUgYWRqdXN0ZWQgYmVsb3cuCiAgIG5ldGJzZCB8IG9wZW5ic2Qg KQotICAgIExJQl9TVEFOREFSRD0nLWxnY2MgLWxjIC1sZ2NjICQoQ1JUX0RJUikvY3J0ZW5k Lm8nCi0gICAgU1RBUlRfRklMRVM9J3ByZS1jcnQwLm8gJChDUlRfRElSKS9jcnQwLm8gJChD UlRfRElSKS9jcnRiZWdpbi5vJwogICAgIFNZU1RFTV9UWVBFPWJlcmtlbGV5LXVuaXgKICAg ICA7OwogCkBAIC0xMDk3LDk2ICsxMDc4LDkgQEAKIGVzYWMKIAogQUNfU1VCU1QoTElCX01B VEgpCi1BQ19TVUJTVChTVEFSVF9GSUxFUykKIEFDX0RFRklORV9VTlFVT1RFRChTWVNURU1f VFlQRSwgIiRTWVNURU1fVFlQRSIsCiAgIFtUaGUgdHlwZSBvZiBzeXN0ZW0geW91IGFyZSBj b21waWxpbmcgZm9yOyBzZXRzIGBzeXN0ZW0tdHlwZScuXSkKIAotZG5sIE5vdCBhbGwgcGxh dGZvcm1zIHVzZSBjcnRuLm8gZmlsZXMuICBDaGVjayBpZiB0aGUgY3VycmVudCBvbmUgZG9l cy4KLWNydF9maWxlcz0KLQotZm9yIGZpbGUgaW4geCAkTElCX1NUQU5EQVJEICRTVEFSVF9G SUxFUzsgZG8KLSAgY2FzZSAiJGZpbGUiIGluCi0gICAgKkNSVF9ESVIqKSBjcnRfZmlsZXM9 IiRjcnRfZmlsZXMgYGVjaG8gJGZpbGUgfCBzZWQgLWUgJ3N8LiovfHwnYCIgOzsKLSAgZXNh YwotZG9uZQotCi1pZiB0ZXN0ICJ4JGNydF9maWxlcyIgIT0geDsgdGhlbgotCi0gICMjIElm IHVzZXIgc3BlY2lmaWVkIGEgY3J0LWRpciwgdXNlIHRoYXQgdW5jb25kaXRpb25hbGx5Lgot ICBjcnRfZ2NjPW5vCi0KLSAgaWYgdGVzdCAiWCRDUlRfRElSIiA9ICJYIjsgdGhlbgotCi0g ICAgQ1JUX0RJUj0vdXNyL2xpYiAgICAgICAgICAgICMgZGVmYXVsdAotCi0gICAgY2FzZSAi JGNhbm9uaWNhbCIgaW4KLSAgICAgIHg4Nl82NC0qLWxpbnV4LWdudSogfCBzMzkweC0qLWxp bnV4LWdudSopCi0gICAgICAjIyBPbiB4ODYtNjQgYW5kIHMzOTB4IEdOVS9MaW51eCBkaXN0 cmlidXRpb25zLCB0aGUgc3RhbmRhcmQgbGlicmFyeQotICAgICAgIyMgY2FuIGJlIGluIGEg dmFyaWV0eSBvZiBwbGFjZXMuICBXZSBvbmx5IHRyeSAvdXNyL2xpYjY0IGFuZCAvdXNyL2xp Yi4KLSAgICAgICMjIEZvciBhbnl0aGluZyBlbHNlIChlZyAvdXNyL2xpYjMyKSwgaXQgaXMg dXAgdGhlIHVzZXIgdG8gc3BlY2lmeQotICAgICAgIyMgdGhlIGxvY2F0aW9uIChidWcjNTY1 NSkuCi0gICAgICAjIyBUZXN0IGZvciBjcnRuLm8sIG5vdCBqdXN0IHRoZSBkaXJlY3Rvcnks IGJlY2F1c2Ugc29tZXRpbWVzIHRoZQotICAgICAgIyMgZGlyZWN0b3J5IGV4aXN0cyBidXQg ZG9lcyBub3QgaGF2ZSB0aGUgcmVsZXZhbnQgZmlsZXMgKGJ1ZyMxMjg3KS4KLSAgICAgICMj IEZJWE1FIGJldHRlciB0byB0ZXN0IGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eSBzb21laG93 LgotICAgICAgdGVzdCAtZSAvdXNyL2xpYjY0L2NydG4ubyAmJiBDUlRfRElSPS91c3IvbGli NjQKLSAgICAgIDs7Ci0KLSAgICAgIHBvd2VycGM2NC0qLWxpbnV4LWdudSogfCBzcGFyYzY0 LSotbGludXgtZ251KikgQ1JUX0RJUj0vdXNyL2xpYjY0IDs7Ci0gICAgZXNhYwotCi0gICAg Y2FzZSAiJG9wc3lzIiBpbgotICAgICAgaHB1eDEwLTIwKSBDUlRfRElSPS9saWIgOzsKLSAg ICBlc2FjCi0KLSAgICB0ZXN0ICJ4JHtHQ0N9IiA9IHh5ZXMgJiYgY3J0X2djYz15ZXMKLQot ICBmaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENSVF9ESVIgPSAiIgotCi0gIGNy dF9taXNzaW5nPQotCi0gIGZvciBmaWxlIGluICRjcnRfZmlsZXM7IGRvCi0KLSAgICAjIyBJ ZiB3ZSdyZSB1c2luZyBnY2MsIHRyeSB0byBkZXRlcm1pbmUgaXQgYXV0b21hdGljYWxseSBi eSBhc2tpbmcKLSAgICAjIyBnY2MuICBbSWYgdGhpcyBkb2Vzbid0IHdvcmssIENSVF9ESVIg d2lsbCByZW1haW4gYXQgdGhlCi0gICAgIyMgc3lzdGVtLWRlcGVuZGVudCBkZWZhdWx0IGZy b20gYWJvdmUuXQotICAgIGlmIHRlc3QgJGNydF9nY2MgPSB5ZXMgJiYgdGVzdCAhIC1lICRD UlRfRElSLyRmaWxlOyB0aGVuCi0KLSAgICAgICBjcnRfZmlsZT1gJENDIC0tcHJpbnQtZmls ZS1uYW1lPSRmaWxlIDI+L2Rldi9udWxsYAotICAgICAgIGNhc2UgIiRjcnRfZmlsZSIgaW4K LSAgICAgICAgICovKikKLSAgICAgICAgICAgQ1JUX0RJUj1gQVNfRElSTkFNRShbIiRjcnRf ZmlsZSJdKWAKLSAgICAgICAgICAgOzsKLSAgICAgICBlc2FjCi0gICAgZmkKLQotICAgIGRu bCBXZSBleHBlY3QgYWxsIHRoZSBmaWxlcyB0byBiZSBpbiBhIHNpbmdsZSBkaXJlY3Rvcnks IHNvIGFmdGVyIHRoZQotICAgIGRubCBmaXJzdCB0aGVyZSBpcyBubyBwb2ludCBhc2tpbmcg Z2NjLgotICAgIGNydF9nY2M9bm8KLQotICAgIHRlc3QgLWUgJENSVF9ESVIvJGZpbGUgfHwg Y3J0X21pc3Npbmc9IiRjcnRfbWlzc2luZyAkZmlsZSIKLSAgZG9uZSAgICAgICAgICAgICAg ICAgICAgICAgICAgIyAkY3J0X2ZpbGVzCi0KLSAgdGVzdCAieCRjcnRfbWlzc2luZyIgPSB4 IHx8IFwKLSAgICBBQ19NU0dfRVJST1IoW1JlcXVpcmVkIGZpbGUocykgbm90IGZvdW5kOiRj cnRfbWlzc2luZwotVHJ5IHVzaW5nIHRoZSAtLXdpdGgtY3J0LWRpciBvcHRpb24uXSkKLQot ZmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGNydF9maWxlcyAhPSAiIgotCi1B Q19TVUJTVChDUlRfRElSKQotCi1jYXNlICRvcHN5cyBpbgotICBuZXRic2QgfCBvcGVuYnNk ICkKLSAgICBpZiB0ZXN0IC1mICRDUlRfRElSL2NydGkubzsgdGhlbgotCi0gICAgICAgIHRl c3QgLWYgJENSVF9ESVIvY3J0bi5vIHx8IFwKLSAgICAgICAgICBBQ19NU0dfRVJST1IoW1Jl cXVpcmVkIGZpbGUgbm90IGZvdW5kOiBjcnRuLm9dKQotCi0gICAgICAgIExJQl9TVEFOREFS RD0nLWxnY2MgLWxjIC1sZ2NjICQoQ1JUX0RJUikvY3J0ZW5kLm8gJChDUlRfRElSKS9jcnRu Lm8nCi0gICAgICAgIFNUQVJUX0ZJTEVTPSdwcmUtY3J0MC5vICQoQ1JUX0RJUikvY3J0MC5v ICQoQ1JUX0RJUikvY3J0aS5vICQoQ1JUX0RJUikvY3J0YmVnaW4ubycKLSAgICBmaQotICAg IDs7Ci1lc2FjCi0KIAogcHJlX1BLR19DT05GSUdfQ0ZMQUdTPSRDRkxBR1MKIHByZV9QS0df Q09ORklHX0xJQlM9JExJQlMKQEAgLTEzMDQsNyArMTE5OCw3IEBACiBBQ19DSEVDS19IRUFE RVJTX09OQ0UoCiAgIGxpbnV4L3ZlcnNpb24uaCBzeXMvc3lzdGVtaW5mby5oCiAgIGNvZmYu aCBwdHkuaAotICBzeXMvdmxpbWl0Lmggc3lzL3Jlc291cmNlLmgKKyAgc3lzL3Jlc291cmNl LmgKICAgc3lzL3V0c25hbWUuaCBwd2QuaCB1dG1wLmggdXRpbC5oKQogCiBBQ19NU0dfQ0hF Q0tJTkcoaWYgcGVyc29uYWxpdHkgTElOVVgzMiBjYW4gYmUgc2V0KQpAQCAtMTUyMSw4ICsx NDE1LDYgQEAKICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1JJHtHTlVTVEVQX1NZU1RFTV9IRUFE RVJTfSAke0dOVVNURVBfTE9DQUxfSEVBREVSU30iCiAgICAgIExERkxBR1M9IiRMREZMQUdT IC1MJHtHTlVTVEVQX1NZU1RFTV9MSUJSQVJJRVN9ICR7R05VU1RFUF9MT0NBTF9MSUJSQVJJ RVN9IgogICAgICBMSUJTX0dOVVNURVA9Ii1sZ251c3RlcC1ndWkgLWxnbnVzdGVwLWJhc2Ug LWxvYmpjIC1scHRocmVhZCIKLSAgICAgTElCX1NUQU5EQVJEPQotICAgICBTVEFSVF9GSUxF Uz0KICAgICAgZG5sIEdOVXN0ZXAgZGVmaW5lcyBCQVNFX05BVElWRV9PQkpDX0VYQ0VQVElP TlMgdG8gMCBvciAxLgogICAgICBkbmwgSWYgdGhleSBoYWQgY2hvc2VuIHRvIGVpdGhlciBk ZWZpbmUgaXQgb3Igbm90LCB3ZSBjb3VsZCBoYXZlCiAgICAgIGRubCBqdXN0IHVzZWQgQUNf Q0hFQ0tfREVDTCBoZXJlLgpAQCAtMTYxMSw3ICsxNTAzLDYgQEAKIEFDX1NVQlNUKG5zX3Nl bGZfY29udGFpbmVkKQogQUNfU1VCU1QoTlNfT0JKKQogQUNfU1VCU1QoTlNfT0JKQ19PQkop Ci1BQ19TVUJTVChMSUJfU1RBTkRBUkQpCiAKIEhBVkVfVzMyPW5vCiBXMzJfT0JKPQpAQCAt MTc1MSw2ICsxNjQyLDIwIEBACiBlbHNlCiAgIHRlc3QgIiRkb3VnX2xlYV9tYWxsb2MiICE9 ICJ5ZXMiICYmIEdNQUxMT0NfT0JKPWdtYWxsb2MubwogICBWTUxJTUlUX09CSj12bS1saW1p dC5vCisKKyAgQUNfQ0hFQ0tfSEVBREVSUyhbc3lzL3ZsaW1pdC5oXSkKKyAgQUNfQ0FDSEVf Q0hFQ0soW2ZvciBkYXRhX3N0YXJ0XSwgW2VtYWNzX2N2X2RhdGFfc3RhcnRdLAorICAgIFtB Q19MSU5LX0lGRUxTRSgKKyAgICAgICBbQUNfTEFOR19QUk9HUkFNKAorCSBbW2V4dGVybiBj aGFyIGRhdGFfc3RhcnRbXTsgY2hhciBjaDtdXSwKKwkgW1tyZXR1cm4gZGF0YV9zdGFydCA9 PSAmY2g7XV0pXSwKKyAgICAgICBbZW1hY3NfY3ZfZGF0YV9zdGFydD15ZXNdLAorICAgICAg IFtlbWFjc19jdl9kYXRhX3N0YXJ0PW5vXSldKQorICBpZiB0ZXN0ICRlbWFjc19jdl9kYXRh X3N0YXJ0ID0geWVzOyB0aGVuCisgICAgQUNfREVGSU5FKFtIQVZFX0RBVEFfU1RBUlRdLCAx LAorICAgICAgW0RlZmluZSB0byAxIGlmIGRhdGFfc3RhcnQgaXMgdGhlIGFkZHJlc3Mgb2Yg dGhlIHN0YXJ0CisgICAgICAgb2YgdGhlIG1haW4gZGF0YSBzZWdtZW50Ll0pCisgIGZpCiBm aQogQUNfU1VCU1QoR01BTExPQ19PQkopCiBBQ19TVUJTVChWTUxJTUlUX09CSikKQEAgLTM3 MzUsOSArMzY0MCw3IEBACiBlc2FjCiAKIAotZG5sIFVzZWQgaW4gdm0tbGltaXQuYwotQUhf VEVNUExBVEUoREFUQV9TVEFSVCwgW0FkZHJlc3Mgb2YgdGhlIHN0YXJ0IG9mIHRoZSBkYXRh IHNlZ21lbnQuXSkKLWRubCBVc2VkIGluIGxpc3AuaCwgZW1hY3MuYywgbWVtLWxpbWl0cy5o CitkbmwgVXNlZCBpbiBsaXNwLmgsIGVtYWNzLmMsIHZtLWxpbWl0LmMKIGRubCBORVdTLjE4 IGRlc2NyaWJlcyB0aGlzIGFzICJhIG51bWJlciB3aGljaCBjb250YWlucwogZG5sIHRoZSBo aWdoIGJpdHMgdG8gYmUgaW5jbHVzaXZlIG9yJ2VkIHdpdGggcG9pbnRlcnMgdGhhdCBhcmUg dW5wYWNrZWQuIgogQUhfVEVNUExBVEUoREFUQV9TRUdfQklUUywgW0V4dHJhIGJpdHMgdG8g YmUgb3InZCBpbiB3aXRoIGFueSBwb2ludGVycwpAQCAtMzc0NSwyMyArMzY0OCwxNSBAQAog ZG5sIGlmIEVtYWNzIHVzZXMgZmV3ZXIgdGhhbiAzMiBiaXRzIGZvciB0aGUgdmFsdWUgZmll bGQgb2YgYSBMSVNQX09CSkVDVC4KIAogY2FzZSAkb3BzeXMgaW4KLSAgZ251KQotICAgIGRu bCBsaWJjIGRlZmluZXMgZGF0YV9zdGFydC4KLSAgICBBQ19ERUZJTkUoREFUQV9TVEFSVCwg Wyh7IGV4dGVybiBpbnQgZGF0YV9zdGFydDsgKGNoYXIgKikgJmRhdGFfc3RhcnQ7IH0pXSkK LSAgICA7OwotCiAgIGFpeCopCiAgICAgZG5sIFRoaXMgd29ya3Mgd2l0aCAzMi1iaXQgZXhl Y3V0YWJsZXM7IEVtYWNzIGRvZXNuJ3Qgc3VwcG9ydCA2NC1iaXQuCi0gICAgQUNfREVGSU5F KERBVEFfU1RBUlQsIFsweDIwMDAwMDAwXSkKICAgICBBQ19ERUZJTkUoREFUQV9TRUdfQklU UywgWzB4MjAwMDAwMDBdKQogICAgIDs7CiAgIGhwdXgqKQogICAgIGRubCBUaGUgZGF0YSBz ZWdtZW50IG9uIHRoaXMgbWFjaGluZSBhbHdheXMgc3RhcnRzIGF0IGFkZHJlc3MgMHg0MDAw MDAwMC4KLSAgICBBQ19ERUZJTkUoREFUQV9TVEFSVCwgWzB4NDAwMDAwMDBdKQogICAgIEFD X0RFRklORShEQVRBX1NFR19CSVRTLCBbMHg0MDAwMDAwMF0pCiAgICAgOzsKICAgaXJpeDYt NSkKLSAgICBBQ19ERUZJTkUoREFUQV9TVEFSVCwgWzB4MTAwMDAwMDBdKQogICAgIEFDX0RF RklORShEQVRBX1NFR19CSVRTLCBbMHgxMDAwMDAwMF0pCiAgICAgOzsKIGVzYWMKQEAgLTQz MjEsODggKzQyMTYsNiBAQAogCiBBQ19TVUJTVChMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDUykK IAotCi1MRF9GSVJTVEZMQUc9Ci1PUkRJTkFSWV9MSU5LPQotY2FzZSAiJG9wc3lzIiBpbgot ICAjIyBnbnU6IEdOVSBuZWVkcyBpdHMgb3duIGNydDAuCi0gIGFpeDQtMnxjeWd3aW58ZGFy d2lufGdudXxocHV4Knxpcml4Ni01fHNvbDIqfHVuaXh3YXJlKSBPUkRJTkFSWV9MSU5LPXll cyA7OwotCi0gICMjIE9uIHBvc3QgMS4zIHJlbGVhc2VzIG9mIE5ldEJTRCwgZ2NjIC1ub3N0 ZGxpYiBhbHNvIGNsZWFycyB0aGUKLSAgIyMgbGlicmFyeSBzZWFyY2ggcGFydGgsIGkuZS4g aXQgd29uJ3Qgc2VhcmNoIC91c3IvbGliIGZvciBsaWJjIGFuZAotICAjIyBmcmllbmRzLiAg VXNpbmcgLW5vc3RhcnRmaWxlcyBpbnN0ZWFkIGF2b2lkcyB0aGlzIHByb2JsZW0sIGFuZAot ICAjIyB3aWxsIGFsc28gd29yayBvbiBlYXJsaWVyIE5ldEJTRCByZWxlYXNlcy4KLSAgbmV0 YnNkfG9wZW5ic2QpIExEX0ZJUlNURkxBRz0iLW5vc3RhcnRmaWxlcyIgOzsKLQotICAjIyBw b3dlcnBjKjogTkFLQUpJIEhpcm95dWtpIDxuYWthamlAdHV0cnAudHV0LmFjLmpwPiBzYXlz Ci0gICMjICAgTWtMaW51eC9MaW51eFBQQyBuZWVkcyB0aGlzLgotICAjIyBzMzkweC0qIG9u bHkgc3VwcG9ydHMgb3BzeXMgPSBnbnUtbGludXggc28gaXQgY2FuIGJlIGFkZGVkIGhlcmUu Ci0gIGdudS0qKQotICAgIGNhc2UgIiRjYW5vbmljYWwiIGluCi0gICAgICBwb3dlcnBjKnxz MzkweC0qKSBMRF9GSVJTVEZMQUc9Ii1ub3N0ZGxpYiIgOzsKLSAgICBlc2FjCi0gICAgOzsK LWVzYWMKLQotCi1pZiB0ZXN0ICJ4JE9SRElOQVJZX0xJTksiID0gInh5ZXMiOyB0aGVuCi0K LSAgTERfRklSU1RGTEFHPSIiCi0gIEFDX0RFRklORShPUkRJTkFSWV9MSU5LLCAxLCBbRGVm aW5lIGlmIHRoZSBDIGNvbXBpbGVyIGlzIHRoZSBsaW5rZXIuXSkKLQotIyMgVGhlIHN5c3Rl bSBmaWxlcyBkZWZpbmluZyBuZWl0aGVyIE9SRElOQVJZX0xJTksgbm9yIExEX0ZJUlNURkxB RyBhcmU6Ci0jIyBmcmVlYnNkLCBnbnUtKiBub3Qgb24gcG93ZXJwYyp8czM5MHgqLgotZWxp ZiB0ZXN0ICJ4JEdDQyIgPSAieHllcyIgJiYgdGVzdCAieCRMRF9GSVJTVEZMQUciID0gIngi OyB0aGVuCi0KLSAgIyMgVmVyc2lvbnMgb2YgR0NDID49IDIuMCBwdXQgdGhlaXIgbGlicmFy eSwgbGliZ2NjLmEsIGluIG9ic2N1cmUKLSAgIyMgcGxhY2VzIHRoYXQgYXJlIGRpZmZpY3Vs dCB0byBmaWd1cmUgb3V0IGF0IG1ha2UgdGltZS4gIEZvcnR1bmF0ZWx5LAotICAjIyB0aGVz ZSBzYW1lIHZlcnNpb25zIGFsbG93IHlvdSB0byBwYXNzIGFyYml0cmFyeSBmbGFncyBvbiB0 byB0aGUKLSAgIyMgbGlua2VyLCBzbyB0aGVyZSBpcyBubyByZWFzb24gbm90IHRvIHVzZSBp dCBhcyBhIGxpbmtlci4KLSAgIyMKLSAgIyMgV2VsbCwgaXQgaXMgbm90IHF1aXRlIHBlcmZl Y3QuICBUaGUgIi1ub3N0ZGxpYiIga2VlcHMgR0NDIGZyb20KLSAgIyMgc2VhcmNoaW5nIGZv ciBsaWJyYXJpZXMgaW4gaXRzIGludGVybmFsIGRpcmVjdG9yaWVzLCBzbyB3ZSBoYXZlIHRv Ci0gICMjIGFzayBHQ0MgZXhwbGljaXRseSB3aGVyZSB0byBmaW5kIGxpYmdjYy5hIChMSUJf R0NDIGJlbG93KS4KLSAgTERfRklSU1RGTEFHPSItbm9zdGRsaWIiCi1maQotCi0jIyBGSVhN RT8gV2hhdCBzZXR0aW5nIG9mIEVESVRfTERGTEFHUyBzaG91bGQgdGhpcyBoYXZlPwotdGVz dCAiJE5TX0lNUExfR05VU1RFUCIgPSAieWVzIiAmJiBMRF9GSVJTVEZMQUc9Ii1yZHluYW1p YyIKLQotQUNfU1VCU1QoTERfRklSU1RGTEFHKQotCi0KLSMjIEZJWE1FPyBUaGUgbG9naWMg aGVyZSBpcyBub3QgcHJlY2lzZWx5IHRoZSBzYW1lIGFzIHRoYXQgYWJvdmUuCi0jIyBUaGVy ZSBpcyBubyBjaGVjayBoZXJlIGZvciBhIHByZS1kZWZpbmVkIExEX0ZJUlNURkxBRy4KLSMj IFNob3VsZCB3ZSBvbmx5IGJlIHNldHRpbmcgTElCX0dDQyBpZiBMRCB+IC1ub3N0ZGxpYj8K LUxJQl9HQ0M9Ci1pZiB0ZXN0ICJ4JEdDQyIgPSAieHllcyIgJiYgdGVzdCAieCRPUkRJTkFS WV9MSU5LIiAhPSAieHllcyI7IHRoZW4KLQotICBjYXNlICIkb3BzeXMiIGluCi0gICAgZnJl ZWJzZHxuZXRic2R8b3BlbmJzZCkgTElCX0dDQz0gOzsKLQotICAgIGdudS0qKQotICAgICAg IyMgYXJtaW43NkBnZW50b28ub3JnIHJlcG9ydGVkIHRoYXQgdGhlIGxnY2NfcyBmbGFnIGlz IG5lY2Vzc2FyeSB0bwotICAgICAgIyMgYnVpbGQgb24gQVJNIEVBQkkgdW5kZXIgR05VL0xp bnV4LiAgKEJ1ZyM1NTE4KQotICAgICAgY2FzZSAkaG9zdF9jcHUgaW4KLSAgICAgIGFybSop Ci0gICAgICAgIExJQl9HQ0M9Ii1sZ2NjX3MiCi0JOzsKLSAgICAgICopCi0gICAgICAgICMj IEZJWE1FPyBzL2dudS1saW51eC5oIHVzZWQgdG8gZGVmaW5lIExJQl9HQ0MgYXMgYmVsb3cs IHRoZW4KLSAgICAgICAgIyMgaW1tZWRpYXRlbHkgdW5kZWZpbmUgaXQgYWdhaW4gYW5kIHJl ZGVmaW5lIGl0IHRvIGVtcHR5LgotICAgICAgICAjIyBXYXMgdGhlIENfU1dJVENIX1hfU0lU RSBwYXJ0IHJlYWxseSBuZWNlc3Nhcnk/Ci0jIyAgICAgIExJQl9HQ0M9YCRDQyAkQ19TV0lU Q0hfWF9TSVRFIC1wcmludC1saWJnY2MtZmlsZS1uYW1lYAotICAgICAgICBMSUJfR0NDPQot CTs7Ci0gICAgICBlc2FjCi0gICAgICA7OwotCi0gICAgIyMgQXNrIEdDQyB3aGVyZSB0byBm aW5kIGxpYmdjYy5hLgotICAgICopIExJQl9HQ0M9YCRDQyAtcHJpbnQtbGliZ2NjLWZpbGUt bmFtZSAyPiAvZGV2L251bGxgIDs7Ci0gIGVzYWMKLWZpICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZG5sIGlmICRHQ0MKLUFDX1NVQlNUKExJQl9HQ0MpCi0KICMjIENvbW1vbiBm b3IgYWxsIHdpbmRvdyBzeXN0ZW1zCiBpZiB0ZXN0ICIkd2luZG93X3N5c3RlbSIgIT0gIm5v bmUiOyB0aGVuCiAgIEFDX0RFRklORShIQVZFX1dJTkRPV19TWVNURU0sIDEsIFtEZWZpbmUg aWYgeW91IGhhdmUgYSB3aW5kb3cgc3lzdGVtLl0pCgo9PT0gbW9kaWZpZWQgZmlsZSAnZXRj L0NoYW5nZUxvZycKLS0tIGV0Yy9DaGFuZ2VMb2cJMjAxMy0wMi0xOSAxNDo0NDowMyArMDAw MAorKysgZXRjL0NoYW5nZUxvZwkyMDEzLTAyLTIyIDA4OjIxOjU1ICswMDAwCkBAIC0xLDMg KzEsMTAgQEAKKzIwMTMtMDItMjIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgorCisJU2ltcGxpZnkgZGF0YV9zdGFydCBjb25maWd1cmF0aW9uIChCdWcjMTM3ODMpLgor CSogUFJPQkxFTVMgKExJQlNfU1lTVEVNLCBMSUJTX01BQ0hJTkUsIExJQlNfU1RBTkRBUkQp OiBSZW1vdmUuCisJUmVtb3ZlIGxlZ2FjeS1zeXN0ZW1zIHNlY3Rpb24sIGFzIHRoaXMgc3R1 ZmYgaXMgbm8gbG9uZ2VyCisJYXBwbGljYWJsZSB3aXRoIGN1cnJlbnQgbGlua2luZyBzdHJh dGVnaWVzLgorCiAyMDEzLTAyLTE0ICBNaWNoYWVsIEFsYmludXMgIDxtaWNoYWVsLmFsYmlu dXNAZ214LmRlPgogCiAJKiBORVdTOiBUcmFtcCBtZXRob2RzICJzY3BjIiBhbmQgInJzeW5j YyIgYXJlIGRpc2NvbnRpbnVlZC4KCj09PSBtb2RpZmllZCBmaWxlICdldGMvUFJPQkxFTVMn Ci0tLSBldGMvUFJPQkxFTVMJMjAxMy0wMi0xMSAwMDozNTozNyArMDAwMAorKysgZXRjL1BS T0JMRU1TCTIwMTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTQzMiwyMSArNDMyLDcgQEAK IGluc3RhbGxlZCBpbiB0aGUgc2hhcmVkIGxpYnJhcnksIGFuZCB0aGVuIHJlbGluayBFbWFj cy4KIAogSWYgeW91IGhhdmUgYWxyZWFkeSBpbnN0YWxsZWQgdGhlIG5hbWUgcmVzb2x2ZXIg aW4gdGhlIGZpbGUgbGlicmVzb2x2LmEsCi10aGVuIHlvdSBuZWVkIHRvIGNvbXBpbGUgRW1h Y3MgdG8gdXNlIHRoYXQgbGlicmFyeS4gIFRoZSBlYXNpZXN0IHdheSB0bwotZG8gdGhpcyBp cyB0byBhZGQgdG8gY29uZmlnLmggYSBkZWZpbml0aW9uIG9mIExJQlNfU1lTVEVNLCBMSUJT X01BQ0hJTkUKLW9yIExJQl9TVEFOREFSRCB3aGljaCB1c2VzIC1scmVzb2x2LiAgV2F0Y2gg b3V0ISAgSWYgeW91IHJlZGVmaW5lIGEgbWFjcm8KLXRoYXQgaXMgYWxyZWFkeSBpbiB1c2Ug aW4geW91ciBjb25maWd1cmF0aW9uIHRvIHN1cHBseSBzb21lIG90aGVyIGxpYnJhcmllcywK LWJlIGNhcmVmdWwgbm90IHRvIGxvc2UgdGhlIG90aGVycy4KLQotVGh1cywgeW91IGNvdWxk IHN0YXJ0IGJ5IGFkZGluZyB0aGlzIHRvIGNvbmZpZy5oOgotCi0jZGVmaW5lIExJQlNfU1lT VEVNIC1scmVzb2x2Ci0KLVRoZW4gaWYgdGhpcyBnaXZlcyB5b3UgYW4gZXJyb3IgZm9yIHJl ZGVmaW5pbmcgYSBtYWNybywgYW5kIHlvdSBzZWUgdGhhdAotY29uZmlnLmggYWxyZWFkeSBk ZWZpbmVzIExJQlNfU1lTVEVNIGFzIC1sZm9vIC1sYmFyIGF0IHNvbWUgb3RoZXIgcG9pbnQK LShwb3NzaWJseSBpbiBhbiBpbmNsdWRlZCBmaWxlKSB5b3UgY291bGQgY2hhbmdlIGl0IHRv IHNheSB0aGlzOgotCi0jZGVmaW5lIExJQlNfU1lTVEVNIC1scmVzb2x2IC1sZm9vIC1sYmFy Cit0aGVuIHlvdSBuZWVkIHRvIGNvbXBpbGUgRW1hY3MgdG8gdXNlIHRoYXQgbGlicmFyeS4K IAogKioqIEVtYWNzIGRvZXMgbm90IGtub3cgeW91ciBob3N0J3MgZnVsbHktcXVhbGlmaWVk IGRvbWFpbiBuYW1lLgogCkBAIC0zMTc5LDI1ICszMTY1LDYgQEAKIAogVGhpcyBwcm9ibGVt IHNlZW1zIHRvIGJlIGEgbWF0dGVyIG9mIGNvbmZpZ3VyaW5nIHRoZSBERUNzZXJ2ZXIgdG8g dXNlCiA3IGJpdCBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIDggYml0IGNoYXJhY3RlcnMuCi0K LSogQnVpbGQgcHJvYmxlbXMgb24gbGVnYWN5IHN5c3RlbXMKLQotKiogU3VuT1M6IEVtYWNz IGdldHMgZXJyb3IgbWVzc2FnZSBmcm9tIGxpbmtlciBvbiBTdW4uCi0KLUlmIHRoZSBlcnJv ciBtZXNzYWdlIHNheXMgdGhhdCBhIHN5bWJvbCBzdWNoIGFzIGBmNjg4ODFfdXNlZCcgb3IK LWBmZnBhX3VzZWQnIG9yIGBzdGFydF9mbG9hdCcgaXMgdW5kZWZpbmVkLCB0aGlzIHByb2Jh Ymx5IGluZGljYXRlcwotdGhhdCB5b3UgaGF2ZSBjb21waWxlZCBzb21lIGxpYnJhcmllcywg c3VjaCBhcyB0aGUgWCBsaWJyYXJpZXMsCi13aXRoIGEgZmxvYXRpbmcgcG9pbnQgb3B0aW9u IG90aGVyIHRoYW4gdGhlIGRlZmF1bHQuCi0KLUl0J3Mgbm90IHRlcnJpYmx5IGhhcmQgdG8g bWFrZSB0aGlzIHdvcmsgd2l0aCBzbWFsbCBjaGFuZ2VzIGluCi1jcnQwLmMgdG9nZXRoZXIg d2l0aCBsaW5raW5nIHdpdGggRmNydDEubywgV2NydDEubyBvciBNY3J0MS5vLgotSG93ZXZl ciwgdGhlIGVhc2llc3QgYXBwcm9hY2ggaXMgdG8gYnVpbGQgWGxpYiB3aXRoIHRoZSBkZWZh dWx0Ci1mbG9hdGluZyBwb2ludCBvcHRpb246IC1mc29mdC4KLQotKiogSFBVWCAxMC4yMDog RW1hY3MgY3Jhc2hlcyBkdXJpbmcgZHVtcGluZyBvbiB0aGUgSFBQQSBtYWNoaW5lLgotCi1U aGlzIHNlZW1zIHRvIGJlIGR1ZSB0byBhIEdDQyBidWc7IGl0IGlzIGZpeGVkIGluIEdDQyAy LjguMS4KLQogDAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCgo9PT0gbW9k aWZpZWQgZmlsZSAnc3JjL0NoYW5nZUxvZycKLS0tIHNyYy9DaGFuZ2VMb2cJMjAxMy0wMi0y MiAxOToyMzoxMiArMDAwMAorKysgc3JjL0NoYW5nZUxvZwkyMDEzLTAyLTIyIDIwOjEwOjU0 ICswMDAwCkBAIC0xLDUgKzEsMzYgQEAKIDIwMTMtMDItMjIgIFBhdWwgRWdnZXJ0ICA8ZWdn ZXJ0QGNzLnVjbGEuZWR1PgogCisJU2ltcGxpZnkgZGF0YV9zdGFydCBjb25maWd1cmF0aW9u IChCdWcjMTM3ODMpLgorCVRoaXMgaXMgYSBmb2xsb3dvbiBzaW1wbGlmaWNhdGlvbiB0byB0 aGUgZml4IGZvciBCdWcjMTM2NTAuCisJKiBNYWtlZmlsZS5pbiAoTERfRklSU1RGTEFHLCBM SUJfR0NDLCBDUlRfRElSLCBMSUJfU1RBTkRBUkQpCisJKFNUQVJUX0ZJTEVTKTogUmVtb3Zl LiAgQWxsIHVzZXMgcmVtb3ZlZC4KKwkob3RoZXJvYmopOiBSZW1vdmUgJChWTUxJTUlUX09C SiksIGFzIGl0J3Mgbm93IGZpcnN0LgorCShBTExPQkpTKTogTW92ZSBoZXJlIGZyb20gYXV0 b2RlcHMubWssIGFuZCB3aXRoIFZNTElNSVRTX09CSiBmaXJzdC4KKwkoYnVpbGRvYmouaCk6 IFVzZSBpdC4KKwkoJChBTExPQkpTKSk6IERlcGVuZCBvbiBnbG9iYWxzLmguCisJKHRlbWFj cyQoRVhFRVhUKSk6IFVzZSAkKEFMTE9CSlMpLgorCSogYXV0b2RlcHMubWsgKEFMTE9CSlMp OiBNb3ZlIHRvIE1ha2VmaWxlLmluLgorCSogZGVwcy5tayAodm0tbGltaXQubyk6CisJKiBt YWtlZmlsZS53MzItaW4gKCQoQkxEKS92bS1saW1pdC4kKE8pKToKKwlEbyBub3QgZGVwZW5k IG9uIG1lbS1saW1pdHMuaC4KKwkqIGVtYWNzLmMgKF9fZG9fZ2xvYmFsX2N0b3JzLCBfX2Rv X2dsb2JhbF9jdG9yc19hdXgpCisJKF9fZG9fZ2xvYmFsX2R0b3JzLCBfX0NUT1JfTElTVF9f LCBfX0RUT1JfTElTVF9fKQorCVtfX0dOVUNfXyAmJiAhT1JESU5BUllfTElOS106IFJlbW92 ZS4KKwkqIG1lbS1saW1pdHMuaCwgcHJlLWNydDAuYzogUmVtb3ZlLgorCSogdW5leGFpeC5j LCB1bmV4Y29mZi5jOiBEb24ndCBpbmNsdWRlIG1lbS1saW1pdHMuaC4KKwkqIHVuZXhjb2Zm LmMgKGV0ZXh0KTogTmV3IGRlY2wuCisJKG1ha2VfaGRyKTogVXNlIGl0IGluc3RlYWQgb2Yg c3RhcnRfb2ZfZGF0YS4KKwkqIHZtLWxpbWl0LmM6IE1vdmUgbW9zdCBvZiBtZW0tbGltaXRz LmgncyBjb250ZW50cyBoZXJlLgorCShkYXRhX3N0YXJ0KTogTmV3IGRlY2wuICBJdCdzIE9L IGlmIHRoaXMgaXMgYXBwcm94aW1hdGUsCisJc28gc2ltcGxpZnktYXdheSBzb21lIHVubmVj ZXNzYXJ5IGV4YWN0bmVzcy4KKwkoUE9JTlRFUik6IFJlbW92ZTsgYWxsIHVzZXMgcmVtb3Zl ZC4KKwkoZGF0YV9zcGFjZV9zdGFydCk6IE5vdyBjaGFyICosIHRvIGF2b2lkIGNhc3RzLgor CShleGNlZWRzX2xpc3BfcHRyKTogTmV3IGZ1bmN0aW9uLCByZXBsYWNpbmcgdGhlIG9sZAor CUVYQ0VFRFNfTElTUF9QVFIgbWFjcm8uICBBbGwgdXNlcyBjaGFuZ2VkLgorCShjaGVja19t ZW1vcnlfbGltaXRzKTogU2ltcGxpZnkgYW5kIHJlbW92ZSBjYXN0cy4KKwkoc3RhcnRfb2Zf ZGF0YSkgWyFDQU5OT1RfRFVNUCB8fCAhU1lTVEVNX01BTExPQ106IFJlbW92ZS4KKwkobWVt b3J5X3dhcm5pbmdzKTogVXNlIGRhdGFfc3RhcnQgaW5zdGVhZCBvZiBzdGFydF9vZl9kYXRh LgorCiAJQXNzdW1lIEM4OSBvciBiZXR0ZXIuCiAJKiByYWxsb2MuYyAoU0laRSwgUE9JTlRF UiwgTklMKToKIAkqIHZtLWxpbWl0LmMgKFBPSU5URVIpOgoKPT09IG1vZGlmaWVkIGZpbGUg J3NyYy9NYWtlZmlsZS5pbicKLS0tIHNyYy9NYWtlZmlsZS5pbgkyMDEzLTAxLTAyIDE2OjEz OjA0ICswMDAwCisrKyBzcmMvTWFrZWZpbGUuaW4JMjAxMy0wMi0yMiAyMDoxMDo1NCArMDAw MApAQCAtMzYsNyArMzYsNiBAQAogQ0ZMQUdTID0gQENGTEFHU0AKIENQUEZMQUdTID0gQENQ UEZMQUdTQAogTERGTEFHUyA9IEBMREZMQUdTQAotTERfRklSU1RGTEFHPUBMRF9GSVJTVEZM QUdACiBFWEVFWFQgPSBARVhFRVhUQAogdmVyc2lvbiA9IEB2ZXJzaW9uQAogIyBTdWJzdGl0 dXRlIGFuIGFzc2lnbm1lbnQgZm9yIHRoZSBNQUtFIHZhcmlhYmxlLCBiZWNhdXNlCkBAIC0x MDIsMTAgKzEwMSw4IEBACiAjIyBTeXN0ZW0tc3BlY2lmaWMgTERGTEFHUy4KIExEX1NXSVRD SF9TWVNURU09QExEX1NXSVRDSF9TWVNURU1ACiAKLSMjIFRoaXMgaG9sZHMgYW55IHNwZWNp YWwgb3B0aW9ucyBmb3IgbGlua2luZyB0ZW1hY3Mgb25seSAoaWUsIG5vdAotIyMgdXNlZCBi eSBjb25maWd1cmUpLiAgTm90IHVzZWQgZWxzZXdoZXJlIGJlY2F1c2UgaXQgc29tZXRpbWVz Ci0jIyBjb250YWlucyBvcHRpb25zIHRoYXQgaGF2ZSB0byBkbyB3aXRoIHVzaW5nIEVtYWNz J3MgY3J0MCwKLSMjIHdoaWNoIGFyZSBvbmx5IGdvb2Qgd2l0aCB0ZW1hY3MuCisjIyBUaGlz IGhvbGRzIGFueSBzcGVjaWFsIG9wdGlvbnMgZm9yIGxpbmtpbmcgdGVtYWNzIG9ubHkgKGku ZS4sIG5vdAorIyMgdXNlZCBieSBjb25maWd1cmUpLgogTERfU1dJVENIX1NZU1RFTV9URU1B Q1M9QExEX1NXSVRDSF9TWVNURU1fVEVNQUNTQAogCiAjIyBGbGFncyB0byBwYXNzIHRvIGxk IG9ubHkgZm9yIHRlbWFjcy4KQEAgLTEyMCwxNCArMTE3LDYgQEAKICMjIFNvbWUgc3lzdGVt cyBkZWZpbmUgdGhpcyB0byByZXF1ZXN0IHNwZWNpYWwgbGlicmFyaWVzLgogTElCU19TWVNU RU09QExJQlNfU1lTVEVNQAogCi0jIyBXaGVyZSB0byBmaW5kIGxpYmdjYy5hLCBpZiB1c2lu ZyBnY2MgYW5kIG5lY2Vzc2FyeS4KLUxJQl9HQ0M9QExJQl9HQ0NACi0KLUNSVF9ESVI9QENS VF9ESVJACi0jIyBNYXkgdXNlICRDUlRfRElSLgotTElCX1NUQU5EQVJEPUBMSUJfU1RBTkRB UkRACi1TVEFSVF9GSUxFUyA9IEBTVEFSVF9GSUxFU0AKLQogIyMgLWxtLCBvciBlbXB0eS4K IExJQl9NQVRIPUBMSUJfTUFUSEAKIApAQCAtMzg5LDE3ICszNzgsMTYgQEAKIAogIyMgTGlz dCBvZiBvYmplY3QgZmlsZXMgdGhhdCBtYWtlLWRvY2ZpbGUgc2hvdWxkIG5vdCBiZSB0b2xk IGFib3V0Lgogb3RoZXJvYmo9ICQoVEVSTUNBUF9PQkopICQoUFJFX0FMTE9DX09CSikgJChH TUFMTE9DX09CSikgJChSQUxMT0NfT0JKKSBcCi0gICQoUE9TVF9BTExPQ19PQkopICQoVk1M SU1JVF9PQkopICQoV0lER0VUX09CSikgJChMSUJPQkpTKQorICAkKFBPU1RfQUxMT0NfT0JK KSAkKFdJREdFVF9PQkopICQoTElCT0JKUykKIAorIyMgQWxsIG9iamVjdCBmaWxlcyBsaW5r ZWQgaW50byB0ZW1hY3MuICAkKFZNTElNSVRfT0JKKSBzaG91bGQgYmUgZmlyc3QuCitBTExP QkpTID0gJChWTUxJTUlUX09CSikgJChvYmopICQob3RoZXJvYmopCiAKICMjIENvbmZpZ3Vy ZSBpbnNlcnRzIHRoZSBmaWxlIGxpc3AubWsgYXQgdGhpcyBwb2ludCwgZGVmaW5pbmcgJGxp c3AuCiBAbGlzcF9mcmFnQAogCiAKICMjIENvbnN0cnVjdCBmdWxsIHNldCBvZiBsaWJyYXJp ZXMgdG8gYmUgbGlua2VkLgotIyMgTm90ZSB0aGF0IFN1bk9TIG5lZWRzIC1sbSB0byBjb21l IGJlZm9yZSAtbGM7IG90aGVyd2lzZSwgeW91IGdldAotIyMgZHVwbGljYXRlZCBzeW1ib2xz LiAgSWYgdGhlIHN0YW5kYXJkIGxpYnJhcmllcyB3ZXJlIGNvbXBpbGVkCi0jIyB3aXRoIEdD Qywgd2UgbWlnaHQgbmVlZCBMSUJfR0NDIGFnYWluIGFmdGVyIHRoZW0uCiBMSUJFUyA9ICQo TElCUykgJChXMzJfTElCUykgJChMSUJTX0dOVVNURVApICQoTElCWF9CQVNFKSAkKExJQklN QUdFKSBcCiAgICAkKExJQlhfT1RIRVIpICQoTElCU09VTkQpIFwKICAgICQoUlNWR19MSUJT KSAkKElNQUdFTUFHSUNLX0xJQlMpICQoTElCX0NMT0NLX0dFVFRJTUUpIFwKQEAgLTQwOSw3 ICszOTcsNyBAQAogICAgJChMSUJTX1RFUk1DQVApICQoR0VUTE9BREFWR19MSUJTKSAkKFNF VFRJTkdTX0xJQlMpICQoTElCU0VMSU5VWF9MSUJTKSBcCiAgICAkKEZSRUVUWVBFX0xJQlMp ICQoRk9OVENPTkZJR19MSUJTKSAkKExJQk9URl9MSUJTKSAkKE0xN05fRkxUX0xJQlMpIFwK ICAgICQoTElCQUNMX0xJQlMpICQoTElCR05VVExTX0xJQlMpICQoTElCX1BUSFJFQUQpICQo TElCX1BUSFJFQURfU0lHTUFTSykgXAotICAgJChMSUJfR0NDKSAkKExJQl9NQVRIKSAkKExJ Ql9TVEFOREFSRCkgJChMSUJfR0NDKQorICAgJChMSUJfTUFUSCkKIAogYWxsOiBlbWFjcyQo RVhFRVhUKSAkKE9USEVSX0ZJTEVTKQogLlBIT05ZOiBhbGwKQEAgLTQ1Niw3ICs0NDQsNyBA QAogCWNkICQobGlic3JjKTsgJChNQUtFKSAkKE1GTEFHUykgbWFrZS1kb2NmaWxlJChFWEVF WFQpCiAKIGJ1aWxkb2JqLmg6IE1ha2VmaWxlCi0JZWNobyAiI2RlZmluZSBCVUlMRE9CSiBc IiQob2JqKSAkKG90aGVyb2JqKSAiICJcIiIgPiBidWlsZG9iai5oCisJZWNobyAiI2RlZmlu ZSBCVUlMRE9CSiBcIiQoQUxMT0JKUykgIiAiXCIiID4kQAogCiBnbG9iYWxzLmg6IGdsLXN0 YW1wOyBAdHJ1ZQogCkBAIC00NjgsMTUgKzQ1NiwxNSBAQAogCSQoc3JjZGlyKS8uLi9idWls ZC1hdXgvbW92ZS1pZi1jaGFuZ2UgZ2wtdG1wIGdsb2JhbHMuaAogCWVjaG8gdGltZXN0YW1w ID4gJEAKIAotJChvYmopICQob3RoZXJvYmopOiBnbG9iYWxzLmgKKyQoQUxMT0JKUyk6IGds b2JhbHMuaAogCiAkKGxpYikvbGliZ251LmE6ICQoY29uZmlnX2gpCiAJY2QgJChsaWIpICYm ICQoTUFLRSkgbGliZ251LmEKIAotdGVtYWNzJChFWEVFWFQpOiAkKFNUQVJUX0ZJTEVTKSBz dGFtcC1vbGR4bWVudSAkKG9iaikgJChvdGhlcm9iaikgXAordGVtYWNzJChFWEVFWFQpOiBz dGFtcC1vbGR4bWVudSAkKEFMTE9CSlMpIFwKIAkgICAgICAgICAkKGxpYikvbGliZ251LmEg JChXMzJfUkVTKQotCSQoQ0MpICQoTERfRklSU1RGTEFHKSAkKEFMTF9DRkxBR1MpICQoVEVN QUNTX0xERkxBR1MpICQoTERGTEFHUykgXAotCSAgLW8gdGVtYWNzICQoU1RBUlRfRklMRVMp ICQob2JqKSAkKG90aGVyb2JqKSAkKGxpYikvbGliZ251LmEgJChMSUJFUykgXAorCSQoQ0Mp ICQoQUxMX0NGTEFHUykgJChURU1BQ1NfTERGTEFHUykgJChMREZMQUdTKSBcCisJICAtbyB0 ZW1hY3MgJChBTExPQkpTKSAkKGxpYikvbGliZ251LmEgJChMSUJFUykgXAogCSAgJChXMzJf UkVTX0xJTkspCiAJdGVzdCAiJChDQU5OT1RfRFVNUCkiID0gInllcyIgfHwgXAogCSAgdGVz dCAiWCQoUEFYQ1RMKSIgPSBYIHx8ICQoUEFYQ1RMKSAtciB0ZW1hY3MkKEVYRUVYVCkKCj09 PSBtb2RpZmllZCBmaWxlICdzcmMvYXV0b2RlcHMubWsnCi0tLSBzcmMvYXV0b2RlcHMubWsJ MjAxMC0wNy0wOCAwMzozMTowNCArMDAwMAorKysgc3JjL2F1dG9kZXBzLm1rCTIwMTMtMDIt MjIgMjA6MTA6NTQgKzAwMDAKQEAgLTIsNSArMiw0IEBACiAKICMjIFRoaXMgaXMgaW5zZXJ0 ZWQgaW4gc3JjL01ha2VmaWxlIGlmIEFVVE9fREVQRU5EPXllcy4KIAotQUxMT0JKUz0kKFNU QVJUX0ZJTEVTKSAke29ian0gJHtvdGhlcm9ian0KIC1pbmNsdWRlICQoQUxMT0JKUzolLm89 JHtERVBESVJ9LyUuZCkKCj09PSBtb2RpZmllZCBmaWxlICdzcmMvZGVwcy5taycKLS0tIHNy Yy9kZXBzLm1rCTIwMTMtMDEtMDIgMTY6MTM6MDQgKzAwMDAKKysrIHNyYy9kZXBzLm1rCTIw MTMtMDItMjIgMDg6MTE6MDUgKzAwMDAKQEAgLTE0NCw3ICsxNDQsNyBAQAogICAgZGlzcGV4 dGVybi5oIGxpc3AuaCBnbG9iYWxzLmggJChjb25maWdfaCkgc3lzdGltZS5oIGNvZGluZy5o IGNvbXBvc2l0ZS5oCiBnbWFsbG9jLm86IGdtYWxsb2MuYyAkKGNvbmZpZ19oKQogcmFsbG9j Lm86IHJhbGxvYy5jIGxpc3AuaCAkKGNvbmZpZ19oKQotdm0tbGltaXQubzogdm0tbGltaXQu YyBtZW0tbGltaXRzLmggbGlzcC5oIGdsb2JhbHMuaCAkKGNvbmZpZ19oKQordm0tbGltaXQu bzogdm0tbGltaXQuYyBsaXNwLmggZ2xvYmFscy5oICQoY29uZmlnX2gpCiBtYXJrZXIubzog bWFya2VyLmMgYnVmZmVyLmggY2hhcmFjdGVyLmggbGlzcC5oIGdsb2JhbHMuaCAkKGNvbmZp Z19oKQogbWluaWJ1Zi5vOiBtaW5pYnVmLmMgc3ludGF4LmggZnJhbWUuaCB3aW5kb3cuaCBr ZXlib2FyZC5oIHN5c3RpbWUuaCBcCiAgICBidWZmZXIuaCBjb21tYW5kcy5oIGNoYXJhY3Rl ci5oIG1zZG9zLmggJChJTlRFUlZBTFNfSCkga2V5bWFwLmggXAoKPT09IG1vZGlmaWVkIGZp bGUgJ3NyYy9lbWFjcy5jJwotLS0gc3JjL2VtYWNzLmMJMjAxMy0wMi0wNyAwNjoyMzo1NCAr MDAwMAorKysgc3JjL2VtYWNzLmMJMjAxMy0wMi0yMiAwODoxMTowNSArMDAwMApAQCAtNTIx LDMyICs1MjEsNiBAQAogc3RhdGljIGNoYXIgY29uc3QgZHVtcF90eltdID0gIlV0QzAiOwog I2VuZGlmCiAKLSNpZm5kZWYgT1JESU5BUllfTElOSwotLyogV2UgZG9uJ3QgaW5jbHVkZSBj cnRiZWdpbi5vIGFuZCBjcnRlbmQubyBpbiB0aGUgbGluaywKLSAgIHNvIHRoZXNlIGZ1bmN0 aW9ucyBhbmQgdmFyaWFibGVzIG1pZ2h0IGJlIG1pc3NlZC4KLSAgIFByb3ZpZGUgZHVtbXkg ZGVmaW5pdGlvbnMgdG8gYXZvaWQgZXJyb3IuCi0gICAoV2UgZG9uJ3QgaGF2ZSBhbnkgcmVh bCBjb25zdHJ1Y3RvcnMgb3IgZGVzdHJ1Y3RvcnMuKSAgKi8KLSNpZmRlZiBfX0dOVUNfXwot Ci0vKiBEZWZpbmUgYSBkdW1teSBmdW5jdGlvbiBGLiAgRGVjbGFyZSBGIHRvbywgdG8gcGFj aWZ5IGdjYwotICAgLVdtaXNzaW5nLXByb3RvdHlwZXMuICAqLwotI2RlZmluZSBERUZJTkVf RFVNTVlfRlVOQ1RJT04oZikgXAotICB2b2lkIGYgKHZvaWQpIEFUVFJJQlVURV9DT05TVCBF WFRFUk5BTExZX1ZJU0lCTEU7IHZvaWQgZiAodm9pZCkge30KLQotI2lmbmRlZiBHQ0NfQ1RP UlNfSU5fTElCQwotREVGSU5FX0RVTU1ZX0ZVTkNUSU9OIChfX2RvX2dsb2JhbF9jdG9ycykK LURFRklORV9EVU1NWV9GVU5DVElPTiAoX19kb19nbG9iYWxfY3RvcnNfYXV4KQotREVGSU5F X0RVTU1ZX0ZVTkNUSU9OIChfX2RvX2dsb2JhbF9kdG9ycykKLS8qIEdOVS9MaW51eCBoYXMg YSBidWcgaW4gaXRzIGxpYnJhcnk7IGF2b2lkIGFuIGVycm9yLiAgKi8KLSNpZm5kZWYgR05V X0xJTlVYCi1jaGFyICogX19DVE9SX0xJU1RfX1syXSBFWFRFUk5BTExZX1ZJU0lCTEUgPSB7 IChjaGFyICopICgtMSksIDAgfTsKLSNlbmRpZgotY2hhciAqIF9fRFRPUl9MSVNUX19bMl0g RVhURVJOQUxMWV9WSVNJQkxFID0geyAoY2hhciAqKSAoLTEpLCAwIH07Ci0jZW5kaWYgLyog R0NDX0NUT1JTX0lOX0xJQkMgKi8KLURFRklORV9EVU1NWV9GVU5DVElPTiAoX19tYWluKQot I2VuZGlmIC8qIF9fR05VQ19fICovCi0jZW5kaWYgLyogT1JESU5BUllfTElOSyAqLwotCiAv KiBUZXN0IHdoZXRoZXIgdGhlIG5leHQgYXJndW1lbnQgaW4gQVJHViBtYXRjaGVzIFNTVFIg b3IgYSBwcmVmaXggb2YKICAgIExTVFIgKGF0IGxlYXN0IE1JTkxFTiBjaGFyYWN0ZXJzKS4g IElmIHNvLCB0aGVuIGlmIFZBTFBUUiBpcyBub24tbnVsbAogICAgKHRoZSBhcmd1bWVudCBp cyBzdXBwb3NlZCB0byBoYXZlIGEgdmFsdWUpIHN0b3JlIGluICpWQUxQVFIgZWl0aGVyCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3JjL21ha2VmaWxlLnczMi1pbicKLS0tIHNyYy9tYWtlZmls ZS53MzItaW4JMjAxMy0wMi0xMyAwMDo1MDozOCArMDAwMAorKysgc3JjL21ha2VmaWxlLncz Mi1pbgkyMDEzLTAyLTIyIDA4OjExOjA1ICswMDAwCkBAIC0xNDkyLDcgKzE0OTIsNiBAQAog CiAkKEJMRCkvdm0tbGltaXQuJChPKSA6IFwKIAkkKFNSQykvdm0tbGltaXQuYyBcCi0JJChT UkMpL21lbS1saW1pdHMuaCBcCiAJJChTUkMpL3czMmhlYXAuaCBcCiAJJChOVF9JTkMpL3Vu aXN0ZC5oIFwKIAkkKENPTkZJR19IKSBcCgo9PT0gcmVtb3ZlZCBmaWxlICdzcmMvbWVtLWxp bWl0cy5oJwotLS0gc3JjL21lbS1saW1pdHMuaAkyMDEzLTAxLTAxIDA5OjExOjA1ICswMDAw CisrKyBzcmMvbWVtLWxpbWl0cy5oCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKQEAgLTEs NDMgKzAsMCBAQAotLyogSW5jbHVkZXMgZm9yIG1lbW9yeSBsaW1pdCB3YXJuaW5ncy4KLSAg IENvcHlyaWdodCAoQykgMTk5MCwgMTk5My0xOTk2LCAyMDAxLTIwMTMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLAotICAgSW5jLgotCi1UaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1h Y3MuCi0KLUdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci1pdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLUdOVSBFbWFjcyBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLU1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0K LVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCi1hbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0KLSNpZmRlZiBNU0RPUwotI2luY2x1 ZGUgPGRwbWkuaD4KLWV4dGVybiBpbnQgZXRleHQ7Ci0jZW5kaWYKLQotLyogU29tZSBzeXN0 ZW1zIG5lZWQgdGhpcyBiZWZvcmUgPHN5cy9yZXNvdXJjZS5oPi4gICovCi0jaW5jbHVkZSA8 c3lzL3R5cGVzLmg+Ci0KLSNpZmRlZiBIQVZFX1NZU19SRVNPVVJDRV9ICi0jIGluY2x1ZGUg PHN5cy90aW1lLmg+Ci0jIGluY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgotI2Vsc2UKLSMgaWYg SEFWRV9TWVNfVkxJTUlUX0gKLSMgIGluY2x1ZGUgPHN5cy92bGltaXQuaD4JLyogT2Jzb2xl dGUsIHNheXMgZ2xpYmMgKi8KLSMgZW5kaWYKLSNlbmRpZgotCi1leHRlcm4gY2hhciAqc3Rh cnRfb2ZfZGF0YSAodm9pZCkgQVRUUklCVVRFX0NPTlNUOwotI2lmIFVTRV9MU0JfVEFHIHx8 IFVJTlRQVFJfTUFYIDw9IFZBTF9NQVgKLSNkZWZpbmUgRVhDRUVEU19MSVNQX1BUUihwdHIp IDAKLSNlbHNlCi0jZGVmaW5lIEVYQ0VFRFNfTElTUF9QVFIocHRyKSBcCi0gICgoKHVpbnRw dHJfdCkgKHB0cikgJiB+REFUQV9TRUdfQklUUykgPj4gVkFMQklUUykKLSNlbmRpZgoKPT09 IHJlbW92ZWQgZmlsZSAnc3JjL3ByZS1jcnQwLmMnCi0tLSBzcmMvcHJlLWNydDAuYwkyMDEz LTAyLTEyIDE4OjMzOjQyICswMDAwCisrKyBzcmMvcHJlLWNydDAuYwkxOTcwLTAxLTAxIDAw OjAwOjAwICswMDAwCkBAIC0xLDEwICswLDAgQEAKLS8qIFRoaXMgZmlsZSBpcyBsb2FkZWQg YmVmb3JlIGNydDAubyBvbiBtYWNoaW5lcyB3aGVyZSB3ZSBkbyBub3QKLSAgIHJlbWFwIHBh cnQgb2YgdGhlIGRhdGEgc3BhY2UgaW50byB0ZXh0IHNwYWNlIGluIHVuZXhlYy4KLSAgIE9u IHRoZXNlIG1hY2hpbmVzLCB0aGVyZSBpcyBubyBwcm9ibGVtIHdpdGggc3RhbmRhcmQgY3J0 MC5vJ3MKLSAgIHRoYXQgbWFrZSBlbnZpcm9uIGFuIGluaXRpYWxpemVkIHZhcmlhYmxlLiAg SG93ZXZlciwgd2UgZG8KLSAgIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBsYWJlbCBkYXRhX3N0 YXJ0IGV4aXN0cyBhbnl3YXkuICAqLwotCi0vKiBDcmVhdGUgYSBsYWJlbCB0byBhcHBlYXIg YXQgdGhlIGJlZ2lubmluZyBvZiBkYXRhIHNwYWNlLgotICAgSXRzIHZhbHVlIGlzIG5vbnpl cm8gc28gdGhhdCBpdCBjYW5ub3QgYmUgcHV0IGludG8gYnNzLiAgKi8KLQotaW50IGRhdGFf c3RhcnQgPSAxOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy91bmV4YWl4LmMnCi0tLSBzcmMv dW5leGFpeC5jCTIwMTMtMDItMTUgMDY6MzU6NTQgKzAwMDAKKysrIHNyYy91bmV4YWl4LmMJ MjAxMy0wMi0yMiAwODoxMTowNSArMDAwMApAQCAtNTksOCArNTksNiBAQAogI2luY2x1ZGUg PHVuaXN0ZC5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CiAKLSNpbmNsdWRlICJtZW0tbGltaXRz LmgiCi0KIGV4dGVybiBjaGFyIF9kYXRhW107CiBleHRlcm4gY2hhciBfdGV4dFtdOwogCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3VuZXhjb2ZmLmMnCi0tLSBzcmMvdW5leGNvZmYuYwky MDEzLTAxLTAyIDE2OjEzOjA0ICswMDAwCisrKyBzcmMvdW5leGNvZmYuYwkyMDEzLTAyLTIy IDE5OjQzOjE3ICswMDAwCkBAIC05OSw3ICs5OSw3IEBACiAKICNpbmNsdWRlIDxzeXMvZmls ZS5oPgogCi0jaW5jbHVkZSAibWVtLWxpbWl0cy5oIgorZXh0ZXJuIGludCBldGV4dFtdOwog CiBzdGF0aWMgbG9uZyBibG9ja19jb3B5X3N0YXJ0OwkJLyogT2xkIGV4ZWN1dGFibGUgc3Rh cnQgcG9pbnQgKi8KIHN0YXRpYyBzdHJ1Y3QgZmlsZWhkciBmX2hkcjsJCS8qIEZpbGUgaGVh ZGVyICovCkBAIC0xNjgsNyArMTY4LDcgQEAKICAgcGFnZW1hc2sgPSBnZXRwYWdlc2l6ZSAo KSAtIDE7CiAKICAgLyogQWRqdXN0IHRleHQvZGF0YSBib3VuZGFyeS4gKi8KLSAgZGF0YV9z dGFydCA9IChpbnQpIHN0YXJ0X29mX2RhdGEgKCk7CisgIGRhdGFfc3RhcnQgPSAoaW50KSAo ZXRleHQgKyAxKTsKICAgZGF0YV9zdGFydCA9IEFERFJfQ09SUkVDVCAoZGF0YV9zdGFydCk7 CiAgIGRhdGFfc3RhcnQgPSBkYXRhX3N0YXJ0ICYgfnBhZ2VtYXNrOyAvKiAoRG93bikgdG8g cGFnZSBib3VuZGFyeS4gKi8KIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy92bS1saW1pdC5j JwotLS0gc3JjL3ZtLWxpbWl0LmMJMjAxMy0wMi0yMiAxOToyMzoxMiArMDAwMAorKysgc3Jj L3ZtLWxpbWl0LmMJMjAxMy0wMi0yMyAwMToyODo1MCArMDAwMApAQCAtMTksNyArMTksMzcg QEAKICNpbmNsdWRlIDxjb25maWcuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4gLyogZm9yICdl bnZpcm9uJywgb24gQUlYICovCiAjaW5jbHVkZSAibGlzcC5oIgotI2luY2x1ZGUgIm1lbS1s aW1pdHMuaCIKKworI2lmZGVmIE1TRE9TCisjaW5jbHVkZSA8ZHBtaS5oPgorZXh0ZXJuIGlu dCBldGV4dDsKKyNlbmRpZgorCisvKiBTb21lIHN5c3RlbXMgbmVlZCB0aGlzIGJlZm9yZSA8 c3lzL3Jlc291cmNlLmg+LiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2lmZGVm IEhBVkVfU1lTX1JFU09VUkNFX0gKKyMgaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyMgaW5jbHVk ZSA8c3lzL3Jlc291cmNlLmg+CisjZWxzZQorIyBpZiBIQVZFX1NZU19WTElNSVRfSAorIyAg aW5jbHVkZSA8c3lzL3ZsaW1pdC5oPgkvKiBPYnNvbGV0ZSwgc2F5cyBnbGliYyAqLworIyBl bmRpZgorI2VuZGlmCisKKy8qIFN0YXJ0IG9mIGRhdGEuICBJdCBpcyBPSyBpZiB0aGlzIGlz IGFwcHJveGltYXRlOyBpdCdzIHVzZWQgb25seSBhcworICAgYSBoZXVyaXN0aWMuICAqLwor I2lmZGVmIERBVEFfU1RBUlQKKyMgZGVmaW5lIGRhdGFfc3RhcnQgKChjaGFyICopIERBVEFf U1RBUlQpCisjZWxzZQorZXh0ZXJuIGNoYXIgZGF0YV9zdGFydFtdOworIyBpZm5kZWYgSEFW RV9EQVRBX1NUQVJUCisvKiBJbml0aWFsaXplIHRvIG5vbnplcm8sIHNvIHRoYXQgaXQncyBw dXQgaW50byBkYXRhIGFuZCBub3QgYnNzLgorICAgTGluayB0aGlzIGZpbGUncyBvYmplY3Qg Y29kZSBmaXJzdCwgc28gdGhhdCB0aGlzIHN5bWJvbCBpcyBuZWFyIHRoZQorICAgc3RhcnQg b2YgZGF0YS4gICovCitjaGFyIGRhdGFfc3RhcnRbMV0gPSB7IDEgfTsKKyMgZW5kaWYKKyNl bmRpZgogCiAvKgogICBMZXZlbCBudW1iZXIgb2Ygd2FybmluZ3MgYWxyZWFkeSBpc3N1ZWQu CkBAIC0zNSwxMiArNjUsMjAgQEAKICAgIDAgbWVhbnMgZG9uJ3QgaXNzdWUgdGhlbS4gICov CiBzdGF0aWMgdm9pZCAoKndhcm5fZnVuY3Rpb24pIChjb25zdCBjaGFyICopOwogCi0vKiBT dGFydCBvZiBkYXRhIHNwYWNlOyBjYW4gYmUgY2hhbmdlZCBieSBjYWxsaW5nIG1hbGxvY19p bml0LiAgKi8KLXN0YXRpYyB2b2lkICpkYXRhX3NwYWNlX3N0YXJ0OworLyogU3RhcnQgb2Yg ZGF0YSBzcGFjZTsgY2FuIGJlIGNoYW5nZWQgYnkgY2FsbGluZyBtZW1vcnlfd2FybmluZ3Mu ICAqLworc3RhdGljIGNoYXIgKmRhdGFfc3BhY2Vfc3RhcnQ7CiAKIC8qIE51bWJlciBvZiBi eXRlcyBvZiB3cml0YWJsZSBtZW1vcnkgd2UgY2FuIGV4cGVjdCB0byBiZSBhYmxlIHRvIGdl dC4gICovCiBzdGF0aWMgc2l6ZV90IGxpbV9kYXRhOwogDAorLyogUmV0dXJuIHRydWUgaWYg UFRSIGNhbm5vdCBiZSByZXByZXNlbnRlZCBhcyBhbiBFbWFjcyBMaXNwIG9iamVjdC4gICov CitzdGF0aWMgYm9vbAorZXhjZWVkc19saXNwX3B0ciAodm9pZCAqcHRyKQoreworICByZXR1 cm4gKCEgVVNFX0xTQl9UQUcKKwkgICYmIFZBTF9NQVggPCBVSU5UUFRSX01BWAorCSAgJiYg KCh1aW50cHRyX3QpIHB0ciAmIH5EQVRBX1NFR19CSVRTKSA+PiBWQUxCSVRTICE9IDApOwor fQogCiAjaWZkZWYgSEFWRV9HRVRSTElNSVQKIApAQCAtMTIyLDEwICsxNjAsMTIgQEAKIHsK ICNpZmRlZiBSRUxfQUxMT0MKICAgZXh0ZXJuIHZvaWQgKigqcmVhbF9tb3JlY29yZSkgKHB0 cmRpZmZfdCk7CisjZWxzZQorICB2b2lkICooKnJlYWxfbW9yZWNvcmUpIChwdHJkaWZmX3Qp ID0gMDsKICNlbmRpZgogICBleHRlcm4gdm9pZCAqKCpfX21vcmVjb3JlKSAocHRyZGlmZl90 KTsKIAotICB2b2lkICpjcDsKKyAgY2hhciAqY3A7CiAgIHNpemVfdCBmaXZlX3BlcmNlbnQ7 CiAgIHNpemVfdCBkYXRhX3NpemU7CiAgIGVudW0gd2FybmxldmVsIG5ld193YXJubGV2ZWw7 CkBAIC0xMzUsMTMgKzE3NSw4IEBACiAgIGZpdmVfcGVyY2VudCA9IGxpbV9kYXRhIC8gMjA7 CiAKICAgLyogRmluZCBjdXJyZW50IGVuZCBvZiBtZW1vcnkgYW5kIGlzc3VlIHdhcm5pbmcg aWYgZ2V0dGluZyBuZWFyIG1heCAqLwotI2lmZGVmIFJFTF9BTExPQwotICBpZiAocmVhbF9t b3JlY29yZSkKLSAgICBjcCA9IChjaGFyICopICgqcmVhbF9tb3JlY29yZSkgKDApOwotICBl bHNlCi0jZW5kaWYKLSAgY3AgPSAoY2hhciAqKSAoKl9fbW9yZWNvcmUpICgwKTsKLSAgZGF0 YV9zaXplID0gKGNoYXIgKikgY3AgLSAoY2hhciAqKSBkYXRhX3NwYWNlX3N0YXJ0OworICBj cCA9IChyZWFsX21vcmVjb3JlID8gcmVhbF9tb3JlY29yZSA6IF9fbW9yZWNvcmUpICgwKTsK KyAgZGF0YV9zaXplID0gY3AgLSBkYXRhX3NwYWNlX3N0YXJ0OwogCiAgIGlmICghd2Fybl9m dW5jdGlvbikKICAgICByZXR1cm47CkBAIC0xODgsNDkgKzIyMywxMCBAQAogCXdhcm5sZXZl bCA9IHdhcm5lZF84NTsKICAgICB9CiAKLSAgaWYgKEVYQ0VFRFNfTElTUF9QVFIgKGNwKSkK KyAgaWYgKGV4Y2VlZHNfbGlzcF9wdHIgKGNwKSkKICAgICAoKndhcm5fZnVuY3Rpb24pICgi V2FybmluZzogbWVtb3J5IGluIHVzZSBleGNlZWRzIGxpc3AgcG9pbnRlciBzaXplIik7CiB9 CiAMCi0jaWYgIWRlZmluZWQgKENBTk5PVF9EVU1QKSB8fCAhZGVmaW5lZCAoU1lTVEVNX01B TExPQykKLS8qIFNvbWUgc3lzdGVtcyB0aGF0IGNhbm5vdCBkdW1wIGFsc28gY2Fubm90IGlt cGxlbWVudCB0aGVzZS4gICovCi0KLS8qCi0gKglSZXR1cm4gdGhlIGFkZHJlc3Mgb2YgdGhl IHN0YXJ0IG9mIHRoZSBkYXRhIHNlZ21lbnQgcHJpb3IgdG8KLSAqCWRvaW5nIGFuIHVuZXhl Yy4gIEFmdGVyIHVuZXhlYyB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZC4KLSAqCVNl ZSBjcnQwLmMgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24gYW5kIGRlZmluaXRpb24gb2YgZGF0 YV9zdGFydC4KLSAqCi0gKglBcHBhcmVudGx5LCBvbiBCU0Qgc3lzdGVtcyB0aGlzIGlzIGV0 ZXh0IGF0IHN0YXJ0dXAuICBPbgotICoJVVNHIHN5c3RlbXMgKHN3YXBwaW5nKSB0aGlzIGlz IGhpZ2hseSBtbXUgZGVwZW5kZW50IGFuZAotICoJaXMgYWxzbyBkZXBlbmRlbnQgb24gd2hl dGhlciBvciBub3QgdGhlIHByb2dyYW0gaXMgcnVubmluZwotICoJd2l0aCBzaGFyZWQgdGV4 dC4gIEdlbmVyYWxseSB0aGVyZSBpcyBhIChwb3NzaWJseSBsYXJnZSkKLSAqCWdhcCBiZXR3 ZWVuIGVuZCBvZiB0ZXh0IGFuZCBzdGFydCBvZiBkYXRhIHdpdGggc2hhcmVkIHRleHQuCi0g KgotICovCi0KLWNoYXIgKgotc3RhcnRfb2ZfZGF0YSAodm9pZCkKLXsKLSNpZmRlZiBCU0Rf U1lTVEVNCi0gIGV4dGVybiBjaGFyIGV0ZXh0OwotICByZXR1cm4gKHZvaWQgKikgJmV0ZXh0 OwotI2VsaWYgZGVmaW5lZCBEQVRBX1NUQVJUCi0gIHJldHVybiAodm9pZCAqKSBEQVRBX1NU QVJUOwotI2VsaWYgZGVmaW5lZCBPUkRJTkFSWV9MSU5LCi0gIC8qCi0gICAqIFRoaXMgaXMg YSBoYWNrLiAgU2luY2Ugd2UncmUgbm90IGxpbmtpbmcgY3J0MC5jIG9yIHByZV9jcnQwLmMs Ci0gICAqIGRhdGFfc3RhcnQgaXNuJ3QgZGVmaW5lZC4gIFdlIHRha2UgdGhlIGFkZHJlc3Mg b2YgZW52aXJvbiwgd2hpY2gKLSAgICogaXMga25vd24gdG8gbGl2ZSBhdCBvciBuZWFyIHRo ZSBzdGFydCBvZiB0aGUgc3lzdGVtIGNydDAuYywgYW5kCi0gICAqIHdlIGRvbid0IHN3ZWF0 IHRoZSBoYW5kZnVsIG9mIGJ5dGVzIHRoYXQgbWlnaHQgbG9zZS4KLSAgICovCi0gIHJldHVy biAodm9pZCAqKSAmZW52aXJvbjsKLSNlbHNlCi0gIGV4dGVybiBpbnQgZGF0YV9zdGFydDsK LSAgcmV0dXJuICh2b2lkICopICZkYXRhX3N0YXJ0OwotI2VuZGlmCi19Ci0jZW5kaWYgLyog KG5vdCBDQU5OT1RfRFVNUCBvciBub3QgU1lTVEVNX01BTExPQykgKi8KLQwKIC8qIEVuYWJs ZSBtZW1vcnkgdXNhZ2Ugd2FybmluZ3MuCiAgICBTVEFSVCBzYXlzIHdoZXJlIHRoZSBlbmQg b2YgcHVyZSBzdG9yYWdlIGlzLgogICAgV0FSTkZVTiBzcGVjaWZpZXMgdGhlIGZ1bmN0aW9u IHRvIGNhbGwgdG8gaXNzdWUgYSB3YXJuaW5nLiAgKi8KQEAgLTI0MCwxMCArMjM2LDcgQEAK IHsKICAgZXh0ZXJuIHZvaWQgKCogX19hZnRlcl9tb3JlY29yZV9ob29rKSAodm9pZCk7ICAg ICAvKiBGcm9tIGdtYWxsb2MuYyAqLwogCi0gIGlmIChzdGFydCkKLSAgICBkYXRhX3NwYWNl X3N0YXJ0ID0gc3RhcnQ7Ci0gIGVsc2UKLSAgICBkYXRhX3NwYWNlX3N0YXJ0ID0gc3RhcnRf b2ZfZGF0YSAoKTsKKyAgZGF0YV9zcGFjZV9zdGFydCA9IHN0YXJ0ID8gc3RhcnQgOiBkYXRh X3N0YXJ0OwogCiAgIHdhcm5fZnVuY3Rpb24gPSB3YXJuZnVuOwogICBfX2FmdGVyX21vcmVj b3JlX2hvb2sgPSBjaGVja19tZW1vcnlfbGltaXRzOwoK --------------080709050008050603010502-- From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 23 05:49:01 2013 Received: (at 13783) by debbugs.gnu.org; 23 Feb 2013 10:49:01 +0000 Received: from localhost ([127.0.0.1]:45131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9Cf6-0003u1-Pv for submit@debbugs.gnu.org; Sat, 23 Feb 2013 05:49:01 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:45425) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9Cf5-0003tt-1d for 13783@debbugs.gnu.org; Sat, 23 Feb 2013 05:49:00 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MIO008005T6DA00@a-mtaout21.012.net.il> for 13783@debbugs.gnu.org; Sat, 23 Feb 2013 12:47:30 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MIO008RX5Z6BX30@a-mtaout21.012.net.il>; Sat, 23 Feb 2013 12:47:30 +0200 (IST) Date: Sat, 23 Feb 2013 12:47:17 +0200 From: Eli Zaretskii Subject: Re: simplify data_start configuration for Emacs In-reply-to: <51281D0D.4080602@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83bobbl32i.fsf@gnu.org> References: <512729DD.7040903@cs.ucla.edu> <83d2vsmrc0.fsf@gnu.org> <5127DB79.6000202@cs.ucla.edu> <83vc9kkp82.fsf@gnu.org> <51281D0D.4080602@cs.ucla.edu> X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 13783 Cc: 13783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Fri, 22 Feb 2013 17:36:13 -0800 > From: Paul Eggert > CC: 13783@debbugs.gnu.org > > With the patch, data_start is used only by vm-limit.c. > And vm-limit.c is compiled only when using gmalloc, > as its isn't valid when using a system malloc. > > > It seems like data_start and data_size derived from it matter only > > when displaying memory usage warnings -- is that correct? > > Yes. > > > If so, why doesn't this matter when system malloc is used? > > When the system malloc is used Emacs can't warn about low memory, > because it has no way of knowing when memory is low. I see, thanks. > > The MS-Windows build computes data_start and data_size inside > > unexw32.c at dump time -- is that good enough? (I'm asking because > > your change doesn't touch the Windows build.) > > Yes, it should be, but that points out a problem with the latest > patch -- it should use DATA_START for MS platforms. Here's a further > patch to fix that, and I'm attaching the resulting combined patch, > relative to trunk bzr 111860. Thanks. > --- src/unexcoff.c 2013-01-02 16:13:04 +0000 > +++ src/unexcoff.c 2013-02-22 19:43:17 +0000 > @@ -99,7 +99,7 @@ > > #include > > -#include "mem-limits.h" > +extern int etext[]; > > static long block_copy_start; /* Old executable start point */ > static struct filehdr f_hdr; /* File header */ > @@ -168,7 +168,7 @@ > pagemask = getpagesize () - 1; > > /* Adjust text/data boundary. */ > - data_start = (int) start_of_data (); > + data_start = (int) (etext + 1); I suggest to use DATA_START here (which is defined to '&etext + 1' by msdos/sed2v2.inp). From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 25 00:58:43 2013 Received: (at 13783-done) by debbugs.gnu.org; 25 Feb 2013 05:58:43 +0000 Received: from localhost ([127.0.0.1]:48682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9r5G-0005UB-Nx for submit@debbugs.gnu.org; Mon, 25 Feb 2013 00:58:43 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:46863) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9r5E-0005U3-4s for 13783-done@debbugs.gnu.org; Mon, 25 Feb 2013 00:58:41 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4C95CA60003; Sun, 24 Feb 2013 21:57:02 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wKjUZ25Ck4-w; Sun, 24 Feb 2013 21:57:01 -0800 (PST) Received: from [192.168.1.9] (pool-71-189-154-249.lsanca.fios.verizon.net [71.189.154.249]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id CC0B9A60002; Sun, 24 Feb 2013 21:57:01 -0800 (PST) Message-ID: <512AFD2D.4050209@cs.ucla.edu> Date: Sun, 24 Feb 2013 21:57:01 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: simplify data_start configuration for Emacs References: <512729DD.7040903@cs.ucla.edu> <83d2vsmrc0.fsf@gnu.org> <5127DB79.6000202@cs.ucla.edu> <83vc9kkp82.fsf@gnu.org> <51281D0D.4080602@cs.ucla.edu> <83bobbl32i.fsf@gnu.org> In-Reply-To: <83bobbl32i.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-Debbugs-Envelope-To: 13783-done Cc: 13783-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.0 (---) On 02/23/2013 02:47 AM, Eli Zaretskii wrote: > I suggest to use DATA_START here (which is defined to '&etext + 1' by > msdos/sed2v2.inp). Thanks, I did that and installed the fix as trunk bzr 111870. From unknown Mon Jun 23 14:57:43 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 25 Mar 2013 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator