From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Brown Newsgroups: gmane.emacs.bugs Subject: bug#14569: 24.3.50; bootstrap fails on Cygwin Date: Tue, 11 Jun 2013 15:26:56 -0400 Message-ID: <51B77A00.2060908@cornell.edu> References: <51B5DA82.4010703@alice.it> <3EC77598-24B8-42DD-8983-5069E64AAB60@swipnet.se> <51B62175.10307@alice.it> <06F80BBC-D7CD-4E6C-97AD-EB8E476E2FC0@swipnet.se> <83sj0olh38.fsf@gnu.org> <51B7717D.6060702@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070908090205040903060504" X-Trace: ger.gmane.org 1370979277 22393 80.91.229.3 (11 Jun 2013 19:34:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 11 Jun 2013 19:34:37 +0000 (UTC) Cc: 14569@debbugs.gnu.org, angelo.graziosi@alice.it To: Paul Eggert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jun 11 21:34:38 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UmUKz-0006ku-M6 for geb-bug-gnu-emacs@m.gmane.org; Tue, 11 Jun 2013 21:34:38 +0200 Original-Received: from localhost ([::1]:60930 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UmUKz-00034L-8v for geb-bug-gnu-emacs@m.gmane.org; Tue, 11 Jun 2013 15:34:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UmUKt-00033j-H3 for bug-gnu-emacs@gnu.org; Tue, 11 Jun 2013 15:34:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UmUEM-0002Vi-AB for bug-gnu-emacs@gnu.org; Tue, 11 Jun 2013 15:27:58 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52732) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UmUEM-0002Va-3z for bug-gnu-emacs@gnu.org; Tue, 11 Jun 2013 15:27:46 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1UmUEc-0002gf-1U for bug-gnu-emacs@gnu.org; Tue, 11 Jun 2013 15:28:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ken Brown Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 11 Jun 2013 19:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14569 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 14569-submit@debbugs.gnu.org id=B14569.137097886810291 (code B ref 14569); Tue, 11 Jun 2013 19:28:01 +0000 Original-Received: (at 14569) by debbugs.gnu.org; 11 Jun 2013 19:27:48 +0000 Original-Received: from localhost ([127.0.0.1]:56967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UmUEN-0002fr-HQ for submit@debbugs.gnu.org; Tue, 11 Jun 2013 15:27:48 -0400 Original-Received: from limestone4.mail.cornell.edu ([128.253.83.164]:45970) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UmUEJ-0002fB-Gm for 14569@debbugs.gnu.org; Tue, 11 Jun 2013 15:27:45 -0400 X-CornellRouted: This message has been Routed already. Original-Received: from authusersmtp.mail.cornell.edu ([10.16.197.8]) by limestone4.mail.cornell.edu (8.14.4/8.14.4) with ESMTP id r5BJRAWB008610; Tue, 11 Jun 2013 15:27:10 -0400 (EDT) Original-Received: from [128.84.234.241] (dhcp241.math.cornell.edu [128.84.234.241]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id r5BJRAHS014122 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 11 Jun 2013 15:27:11 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 In-Reply-To: <51B7717D.6060702@cs.ucla.edu> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:74979 Archived-At: This is a multi-part message in MIME format. --------------070908090205040903060504 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/11/2013 2:50 PM, Paul Eggert wrote: > On 06/11/13 09:58, Eli Zaretskii wrote: >> Can you find out (by looking at the glib sources) when and why would >> g_spawn_close_pid call 'abort'? It might give us some clues. > > On POSIX platforms, g_spawn_close_pid does nothing. > So apparently glib is compiled for Windows (i.e., > glib/gspawn.c is not being compiled, but glib/gspawn-win32.c > is being compiled instead. No, this is not the case. I just replicated the glib build to make sure. Cygwin is a POSIX platform, to the extent possible. > The Emacs code that tickles gnulib is written this way: > > #if defined HAVE_GLIB && !defined WINDOWSNT > /* Tickle glib's child-handling code. Ask glib to wait for Emacs itself; > this should always fail, but is enough to initialize glib's > private SIGCHLD handler. */ > g_source_unref (g_child_watch_source_new (getpid ())); > #endif > > I did notice one problem: the code previously invoked > g_child_watch_source_new (0), which is not safe if Emacs > has already forked -- perhaps Cygwin was doing that? > So I changed it to g_child_watch_source_new (getpid ()) > in trunk bzr 112929. > > Another thought is that there may be a mismatch between > glib builds. Since WINDOWSNT is not defined for Cygwin builds, > a Cygwin Emacs will call g_child_watch_source_new. My reading of > the bleeding-edge glib source code is that a Cygwin glib should call > waitpid and mess with the SIGCHLD handler, just as a > POSIX glib would, so the above Emacs code is correct. > But if you're building under Cygwin and linking with > a mingw glib, the above code may well run into problems. > Is this a possibility that we should worry about? No. This does not happen. The Cygwin glib maintainer takes pains to patch the source if necessary to make sure that Cygwin is not treated like Windows. See, for instance, the attached patch that is used in the Cygwin build. Ken --------------070908090205040903060504 Content-Type: text/plain; charset=windows-1252; name="2.32.1-not-win32.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="2.32.1-not-win32.patch" LS0tIG9yaWdzcmMvZ2xpYi0yLjI3LjIvY29uZmlndXJlLmFjCTIwMTAtMTAtMjkgMjE6MzY6 NTEuMDAwMDAwMDAwIC0wNTAwCisrKyBzcmMvZ2xpYi0yLjI3LjIvY29uZmlndXJlLmFjCTIw MTAtMTEtMDQgMTQ6NTM6NTMuNjE2NDMzOTAwIC0wNTAwCkBAIC0xODU1LDcgKzE4NTUsNyBA QCBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKIEFDX01TR19D SEVDS0lORyhmb3IgcGxhdGZvcm0tZGVwZW5kZW50IHNvdXJjZSkKIGNhc2UgIiRob3N0IiBp bgotICAqLSotY3lnd2luKnwqLSotbWluZ3cqKQorICAqLSotbWluZ3cqKQogICAgIFBMQVRG T1JNREVQPWd3aW4zMi5sbwogICAgIDs7CiAgICopCkBAIC0yNjk2LDkgKzI2OTYsNiBAQCBk bmwgKioqIFdpbjMyIEFQSSBsaWJzICoqKgogZG5sICoqKioqKioqKioqKioqKioqKioqKioK IAogY2FzZSAkaG9zdCBpbgotICAqLSotY3lnd2luKikKLQlHX0xJQlNfRVhUUkE9Ii1sdXNl cjMyIC1sa2VybmVsMzIiCi0gICAgOzsKICAgKi0qLW1pbmd3KikKIAlHX0xJQlNfRVhUUkE9 Ii1sd3MyXzMyIC1sb2xlMzIiCiAgICAgOzsKLS0tIG9yaWdzcmMvZ2xpYi0yLjMyLjEvZG9j cy9yZWZlcmVuY2UvZ2lvL01ha2VmaWxlLmFtCTIwMTItMDMtMTEgMTk6NDI6MzkuMDAwMDAw MDAwIC0wNTAwCisrKyBzcmMvZ2xpYi0yLjMyLjEvZG9jcy9yZWZlcmVuY2UvZ2lvL01ha2Vm aWxlLmFtCTIwMTItMDQtMzAgMDQ6MDI6MDYuMjQ0NzIzMTAwIC0wNTAwCkBAIC03Nyw2ICs3 Nyw4IEBAIElHTk9SRV9IRklMRVMgPSBcCiAJZ3VuaXh2b2x1bWUuaAkJCVwKIAlndW5peHZv bHVtZW1vbml0b3IuaAkJXAogCWd3aW4zMmFwcGluZm8uaAkJCVwKKwlnd2luMzJpbnB1dHN0 cmVhbS5oCQlcCisJZ3dpbjMyb3V0cHV0c3RyZWFtLmgJCVwKIAlnd2luMzJtb3VudC5oCQkJ XAogCWd3aW4zMnJlc29sdmVyLmgJCVwKIAlnd2luMzJ2b2x1bWVtb25pdG9yLmgKLS0tIG9y aWdzcmMvZ2xpYi0yLjMyLjIvZ2lvL2dpb21vZHVsZS1wcml2LmgJMjAxMi0wNC0zMCAxMToy NDowMi4wMDAwMDAwMDAgLTA1MDAKKysrIHNyYy9nbGliLTIuMzIuMi9naW8vZ2lvbW9kdWxl LXByaXYuaAkyMDEyLTA1LTAxIDAwOjMzOjE4LjcyNTIzNTYwMCAtMDUwMApAQCAtMzUsNyAr MzUsNyBAQCBncG9pbnRlciBfZ19pb19tb2R1bGVfZ2V0X2RlZmF1bHQgKGNvbnN0CiAJCQkJ ICAgY29uc3QgZ2NoYXIgICAgICAgICAqZW52dmFyLAogCQkJCSAgIEdJT01vZHVsZVZlcmlm eUZ1bmMgIHZlcmlmeV9mdW5jKTsKIAotI2lmZGVmIEdfUExBVEZPUk1fV0lOMzIKKyNpZmRl ZiBHX09TX1dJTjMyCiB2b2lkICpfZ19pb193aW4zMl9nZXRfbW9kdWxlICh2b2lkKTsKICNl bmRpZgogCi0tLSBvcmlnc3JjL2dsaWItMi4yNy4yL2dpby9naW9tb2R1bGUuYwkyMDEwLTEw LTE2IDIyOjMxOjIzLjAwMDAwMDAwMCAtMDUwMAorKysgc3JjL2dsaWItMi4yNy4yL2dpby9n aW9tb2R1bGUuYwkyMDEwLTExLTA0IDE0OjUzOjUzLjYxNjQzMzkwMCAtMDUwMApAQCAtNDc4 LDcgKzQ3OCw3IEBAIGV4dGVybiBHVHlwZSBfZ193aW5odHRwX3Zmc19nZXRfdHlwZSAodm8K IAogZXh0ZXJuIEdUeXBlIF9nX2R1bW15X3Byb3h5X3Jlc29sdmVyX2dldF90eXBlICh2b2lk KTsKIAotI2lmZGVmIEdfUExBVEZPUk1fV0lOMzIKKyNpZmRlZiBHX09TX1dJTjMyCiAKICNp bmNsdWRlIDx3aW5kb3dzLmg+CiAKLS0tIG9yaWdzcmMvZ2xpYi0yLjI3LjIvZ2lvL3Rlc3Rz L2xpdmUtZy1maWxlLmMJMjAxMC0wNy0wOSAwNjoyMzozMy4wMDAwMDAwMDAgLTA1MDAKKysr IHNyYy9nbGliLTIuMjcuMi9naW8vdGVzdHMvbGl2ZS1nLWZpbGUuYwkyMDEwLTExLTA0IDE0 OjUzOjUzLjYzMjAzMzkwMCAtMDUwMApAQCAtMTE0OCw3ICsxMTQ4LDcgQEAgbWFpbiAoaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkgIHdyaXRlX3Rlc3QgPSBUUlVFOwogCSAgb25seV9j cmVhdGVfc3RydWN0ID0gRkFMU0U7CiAJICB0YXJnZXRfcGF0aCA9IERFRkFVTFRfVEVTVF9E SVI7Ci0jaWZkZWYgR19QTEFURk9STV9XSU4zMgorI2lmZGVmIEdfT1NfV0lOMzIKIAkgIHBv c2l4X2NvbXBhdCA9IEZBTFNFOwogI2Vsc2UKIAkgIHBvc2l4X2NvbXBhdCA9IFRSVUU7Ci0t LSBvcmlnc3JjL2dsaWItMi4zMi4xL2dsaWIvZ2F0b21pYy5jCTIwMTItMDMtMTEgMTk6NDI6 NDEuMDAwMDAwMDAwIC0wNTAwCisrKyBzcmMvZ2xpYi0yLjMyLjEvZ2xpYi9nYXRvbWljLmMJ MjAxMi0wNC0zMCAwMjoxNjozMy4zMTQ1MDAyMDAgLTA1MDAKQEAgLTQ2NCw3ICs0NjQsNyBA QCBnc2l6ZQogICByZXR1cm4gZ19hdG9taWNfcG9pbnRlcl94b3IgKCh2b2xhdGlsZSBncG9p bnRlciAqKSBhdG9taWMsIHZhbCk7CiB9CiAKLSNlbGlmIGRlZmluZWQgKEdfUExBVEZPUk1f V0lOMzIpCisjZWxpZiBkZWZpbmVkIChHX09TX1dJTjMyKQogCiAjaW5jbHVkZSA8d2luZG93 cy5oPgogI2lmICFkZWZpbmVkKF9NX0FNRDY0KSAmJiAhZGVmaW5lZCAoX01fSUE2NCkgJiYg IWRlZmluZWQoX01fWDY0KQotLS0gb3JpZ3NyYy9nbGliLTIuMzIuMS9nbGliL2djaGFyc2V0 LmMJMjAxMi0wMy0xMSAxOTo0Mjo0MS4wMDAwMDAwMDAgLTA1MDAKKysrIHNyYy9nbGliLTIu MzIuMS9nbGliL2djaGFyc2V0LmMJMjAxMi0wNC0zMCAwMjoxNzowMS41NjMxMTU5MDAgLTA1 MDAKQEAgLTQ5Niw3ICs0OTYsNyBAQCBndWVzc19jYXRlZ29yeV92YWx1ZSAoY29uc3QgZ2No YXIgKmNhdGVnCiAgIGlmICgocmV0dmFsICE9IE5VTEwpICYmIChyZXR2YWxbMF0gIT0gJ1ww JykpCiAgICAgcmV0dXJuIHJldHZhbDsKIAotI2lmZGVmIEdfUExBVEZPUk1fV0lOMzIKKyNp ZmRlZiBHX09TX1dJTjMyCiAgIC8qIGdfd2luMzJfZ2V0bG9jYWxlKCkgZmlyc3QgY2hlY2tz IGZvciBMQ19BTEwsIExDX01FU1NBR0VTIGFuZAogICAgKiBMQU5HLCB3aGljaCB3ZSBhbHJl YWR5IGRpZCBhYm92ZS4gT2ggd2VsbC4gVGhlIG1haW4gcG9pbnQgb2YKICAgICogY2FsbGlu ZyBnX3dpbjMyX2dldGxvY2FsZSgpIGlzIHRvIGdldCB0aGUgdGhyZWFkJ3MgbG9jYWxlIGFz IHVzZWQKLS0tIG9yaWdzcmMvZ2xpYi0yLjI3LjIvZ2xpYi9nY29udmVydC5jCTIwMTAtMDkt MTMgMDg6NDA6NTMuMDAwMDAwMDAwIC0wNTAwCisrKyBzcmMvZ2xpYi0yLjI3LjIvZ2xpYi9n Y29udmVydC5jCTIwMTAtMTEtMDQgMTQ6NTM6NTMuNjQ3NjM0MDAwIC0wNTAwCkBAIC0zMyw5 ICszMyw2IEBACiAKICNpZmRlZiBHX09TX1dJTjMyCiAjaW5jbHVkZSAid2luX2ljb252LmMi Ci0jZW5kaWYKLQotI2lmZGVmIEdfUExBVEZPUk1fV0lOMzIKICNkZWZpbmUgU1RSSUNUCiAj aW5jbHVkZSA8d2luZG93cy5oPgogI3VuZGVmIFNUUklDVApAQCAtMTI2Myw3ICsxMjYwLDcg QEAgZ19sb2NhbGVfZnJvbV91dGY4IChjb25zdCBnY2hhciAqdXRmOHN0cgogCQkgICAgICBj aGFyc2V0LCAiVVRGLTgiLCBieXRlc19yZWFkLCBieXRlc193cml0dGVuLCBlcnJvcik7CiB9 CiAKLSNpZm5kZWYgR19QTEFURk9STV9XSU4zMgorI2lmbmRlZiBHX09TX1dJTjMyCiAKIHR5 cGVkZWYgc3RydWN0IF9HRmlsZW5hbWVDaGFyc2V0Q2FjaGUgR0ZpbGVuYW1lQ2hhcnNldENh Y2hlOwogCkBAIC0xMzc5LDcgKzEzNzYsNyBAQCBnX2dldF9maWxlbmFtZV9jaGFyc2V0cyAo R19DT05TVF9SRVRVUk4KICAgcmV0dXJuIGNhY2hlLT5pc191dGY4OwogfQogCi0jZWxzZSAv KiBHX1BMQVRGT1JNX1dJTjMyICovCisjZWxzZSAvKiBHX09TX1dJTjMyICovCiAKIGdib29s ZWFuCiBnX2dldF9maWxlbmFtZV9jaGFyc2V0cyAoR19DT05TVF9SRVRVUk4gZ2NoYXIgKioq ZmlsZW5hbWVfY2hhcnNldHMpIApAQCAtMTQwOCw3ICsxNDA1LDcgQEAgZ19nZXRfZmlsZW5h bWVfY2hhcnNldHMgKEdfQ09OU1RfUkVUVVJOCiAjZW5kaWYKIH0KIAotI2VuZGlmIC8qIEdf UExBVEZPUk1fV0lOMzIgKi8KKyNlbmRpZiAvKiBHX09TX1dJTjMyICovCiAKIHN0YXRpYyBn Ym9vbGVhbgogZ2V0X2ZpbGVuYW1lX2NoYXJzZXQgKGNvbnN0IGdjaGFyICoqZmlsZW5hbWVf Y2hhcnNldCkKLS0tIG9yaWdzcmMvZ2xpYi0yLjMyLjEvZ2xpYi9nZmlsZXV0aWxzLmMJMjAx Mi0wMy0xMSAxOTo0Mjo0MS4wMDAwMDAwMDAgLTA1MDAKKysrIHNyYy9nbGliLTIuMzIuMS9n bGliL2dmaWxldXRpbHMuYwkyMDEyLTA0LTMwIDAyOjE3OjE5LjMxMzEzMTIwMCAtMDUwMApA QCAtMjE3Niw3ICsyMTc2LDcgQEAgZ19wYXRoX3NraXBfcm9vdCAoY29uc3QgZ2NoYXIgKmZp bGVfbmFtZQogewogICBnX3JldHVybl92YWxfaWZfZmFpbCAoZmlsZV9uYW1lICE9IE5VTEws IE5VTEwpOwogCi0jaWZkZWYgR19QTEFURk9STV9XSU4zMgorI2lmZGVmIEdfT1NfV0lOMzIK ICAgLyogU2tpcCBcXHNlcnZlclxzaGFyZSBvciAvL3NlcnZlci9zaGFyZSAqLwogICBpZiAo R19JU19ESVJfU0VQQVJBVE9SIChmaWxlX25hbWVbMF0pICYmCiAgICAgICBHX0lTX0RJUl9T RVBBUkFUT1IgKGZpbGVfbmFtZVsxXSkgJiYKQEAgLTIxODYsNyArMjE4Niw2IEBAIGdfcGF0 aF9za2lwX3Jvb3QgKGNvbnN0IGdjaGFyICpmaWxlX25hbWUKICAgICAgIGdjaGFyICpwOwog ICAgICAgcCA9IHN0cmNociAoZmlsZV9uYW1lICsgMiwgR19ESVJfU0VQQVJBVE9SKTsKIAot I2lmZGVmIEdfT1NfV0lOMzIKICAgICAgIHsKICAgICAgICAgZ2NoYXIgKnE7CiAKQEAgLTIx OTQsNyArMjE5Myw2IEBAIGdfcGF0aF9za2lwX3Jvb3QgKGNvbnN0IGdjaGFyICpmaWxlX25h bWUKICAgICAgICAgaWYgKHAgPT0gTlVMTCB8fCAocSAhPSBOVUxMICYmIHEgPCBwKSkKICAg ICAgICAgcCA9IHE7CiAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgaWYgKHAgJiYgcCA+IGZp bGVfbmFtZSArIDIgJiYgcFsxXSkKICAgICAgICAgewotLS0gb3JpZ3NyYy9nbGliLTIuMjcu Mi9nbGliL2dsaWIuaAkyMDEwLTA5LTE3IDE3OjAxOjAzLjAwMDAwMDAwMCAtMDUwMAorKysg c3JjL2dsaWItMi4yNy4yL2dsaWIvZ2xpYi5oCTIwMTAtMTEtMDQgMTQ6NTM6NTMuNjQ3NjM0 MDAwIC0wNTAwCkBAIC05MCw3ICs5MCw3IEBACiAjaW5jbHVkZSA8Z2xpYi9ndmFyaWFudC5o PgogI2luY2x1ZGUgPGdsaWIvZ3ZlcnNpb24uaD4KICNpbmNsdWRlIDxnbGliL2d2ZXJzaW9u bWFjcm9zLmg+Ci0jaWZkZWYgR19QTEFURk9STV9XSU4zMgorI2lmZGVmIEdfT1NfV0lOMzIK ICNpbmNsdWRlIDxnbGliL2d3aW4zMi5oPgogI2VuZGlmCiAKLS0tIG9yaWdzcmMvZ2xpYi0y LjI3LjIvZ2xpYi9ndXRmOC5jCTIwMTAtMDktMDQgMjI6Mzk6MjcuMDAwMDAwMDAwIC0wNTAw CisrKyBzcmMvZ2xpYi0yLjI3LjIvZ2xpYi9ndXRmOC5jCTIwMTAtMTEtMDQgMTQ6NTM6NTMu NjYzMjM0MDAwIC0wNTAwCkBAIC0yNyw3ICsyNyw3IEBACiAjZW5kaWYKICNpbmNsdWRlIDxz dHJpbmcuaD4KIAotI2lmZGVmIEdfUExBVEZPUk1fV0lOMzIKKyNpZmRlZiBHX09TX1dJTjMy CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNkZWZpbmUgU1RSSUNUCiAjaW5jbHVkZSA8d2luZG93 cy5oPgotLS0gb3JpZ3NyYy9nbGliLTIuMzIuMS9nbGliL2d1dGlscy5jCTIwMTItMDMtMTEg MTk6NDI6NDIuMDAwMDAwMDAwIC0wNTAwCisrKyBzcmMvZ2xpYi0yLjMyLjEvZ2xpYi9ndXRp bHMuYwkyMDEyLTA0LTMwIDAyOjEzOjE4LjEzOTMzNjgwMCAtMDUwMApAQCAtNzEsNyArNzEs NyBAQAogI2luY2x1ZGUgImdhcnJheS5oIgogI2luY2x1ZGUgImdsaWJpbnRsLmgiCiAKLSNp ZmRlZiBHX1BMQVRGT1JNX1dJTjMyCisjaWZkZWYgR19PU19XSU4zMgogI2luY2x1ZGUgImdj b252ZXJ0LmgiCiAjaW5jbHVkZSAiZ3dpbjMyLmgiCiAjZW5kaWYKQEAgLTg1LDE2ICs4NSwx MyBAQAogICogVGhlc2UgYXJlIHBvcnRhYmxlIHV0aWxpdHkgZnVuY3Rpb25zLgogICovCiAK LSNpZmRlZiBHX1BMQVRGT1JNX1dJTjMyCisjaWZkZWYgR19PU19XSU4zMgogIyAgaW5jbHVk ZSA8d2luZG93cy5oPgogIyAgaWZuZGVmIEdFVF9NT0RVTEVfSEFORExFX0VYX0ZMQUdfRlJP TV9BRERSRVNTCiAjICAgIGRlZmluZSBHRVRfTU9EVUxFX0hBTkRMRV9FWF9GTEFHX1VOQ0hB TkdFRF9SRUZDT1VOVCAyCiAjICAgIGRlZmluZSBHRVRfTU9EVUxFX0hBTkRMRV9FWF9GTEFH X0ZST01fQUREUkVTUyA0CiAjICBlbmRpZgogIyAgaW5jbHVkZSA8bG1jb25zLmg+CQkvKiBG b3IgVU5MRU4gKi8KLSNlbmRpZiAvKiBHX1BMQVRGT1JNX1dJTjMyICovCi0KLSNpZmRlZiBH X09TX1dJTjMyCiAjICBpbmNsdWRlIDxkaXJlY3QuaD4KICMgIGluY2x1ZGUgPHNobG9iai5o PgogICAgLyogb2xkZXIgU0RLIChlLmcuIG1zdmMgNS4wKSBkb2VzIG5vdCBoYXZlIHRoZXNl Ki8KQEAgLTEzMCw3ICsxMjcsNyBAQAogI2luY2x1ZGUgPGxhbmdpbmZvLmg+CiAjZW5kaWYK IAotI2lmZGVmIEdfUExBVEZPUk1fV0lOMzIKKyNpZmRlZiBHX09TX1dJTjMyCiAKIGdjaGFy ICoKIF9nbGliX2dldF9kbGxfZGlyZWN0b3J5ICh2b2lkKQotLS0gb3JpZ3NyYy9nbGliLTIu MjcuMi9nbGliL2d1dGlscy5oCTIwMTAtMTAtMjkgMjE6MzY6NTIuMDAwMDAwMDAwIC0wNTAw CisrKyBzcmMvZ2xpYi0yLjI3LjIvZ2xpYi9ndXRpbHMuaAkyMDEwLTExLTA0IDE0OjUzOjUz LjY3ODgzNDAwMCAtMDUwMApAQCAtNDU4LDcgKzQ1OCw3IEBAIEdfRU5EX0RFQ0xTCiAgKiBP biBub24tV2luZG93cyBwbGF0Zm9ybXMsIGV4cGFuZHMgdG8gbm90aGluZy4KICAqLwogCi0j aWZuZGVmIEdfUExBVEZPUk1fV0lOMzIKKyNpZm5kZWYgR19PU19XSU4zMgogIyBkZWZpbmUg R19XSU4zMl9ETExNQUlOX0ZPUl9ETExfTkFNRShzdGF0aWMsIGRsbF9uYW1lKQogI2Vsc2UK ICMgZGVmaW5lIEdfV0lOMzJfRExMTUFJTl9GT1JfRExMX05BTUUoc3RhdGljLCBkbGxfbmFt ZSkJCQlcCkBAIC00ODYsNiArNDg2LDYgQEAgRGxsTWFpbiAoSElOU1RBTkNFIGhpbnN0RExM LAkJCQkJCVwKIAogI2VuZGlmCS8qICFHX0RJU0FCTEVfREVQUkVDQVRFRCAqLwogCi0jZW5k aWYgLyogR19QTEFURk9STV9XSU4zMiAqLworI2VuZGlmIC8qIEdfT1NfV0lOMzIgKi8KIAog I2VuZGlmIC8qIF9fR19VVElMU19IX18gKi8KLS0tIG9yaWdzcmMvZ2xpYi0yLjI3LjIvZ2xp Yi9nd2luMzIuaAkyMDA5LTAzLTMxIDE4OjA0OjIwLjAwMDAwMDAwMCAtMDUwMAorKysgc3Jj L2dsaWItMi4yNy4yL2dsaWIvZ3dpbjMyLmgJMjAxMC0xMS0wNCAxNDo1Mzo1My42Nzg4MzQw MDAgLTA1MDAKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ3R5cGVzLmg+ CiAKLSNpZmRlZiBHX1BMQVRGT1JNX1dJTjMyCisjaWZkZWYgR19PU19XSU4zMgogCiBHX0JF R0lOX0RFQ0xTCiAKQEAgLTQxLDggKzQxLDYgQEAgR19CRUdJTl9ERUNMUwogI2RlZmluZSBN QVhQQVRITEVOIDEwMjQKICNlbmRpZgogCi0jaWZkZWYgR19PU19XSU4zMgotCiAvKgogICog VG8gZ2V0IHByb3RvdHlwZXMgZm9yIHRoZSBmb2xsb3dpbmcgUE9TSVhpc2ggZnVuY3Rpb25z LCB5b3UgaGF2ZSB0bwogICogaW5jbHVkZSB0aGUgaW5kaWNhdGVkIG5vbi1QT1NJWCBoZWFk ZXJzLiBUaGUgZnVuY3Rpb25zIGFyZSBkZWZpbmVkCkBAIC02Nyw3ICs2NSw2IEBAIEdfQkVH SU5fREVDTFMKICAqLwogZ2ludAkJZ193aW4zMl9mdHJ1bmNhdGUJKGdpbnQJCSBmLAogCQkJ CQkgZ3VpbnQJCSBzaXplKTsKLSNlbmRpZiAvKiBHX09TX1dJTjMyICovCiAKIC8qIFRoZSBN UyBzZXRsb2NhbGUgdXNlcyBsb2NhbGUgbmFtZXMgb2YgdGhlIGZvcm0gIkVuZ2xpc2hfVW5p dGVkCiAgKiBTdGF0ZXMuMTI1MiIgZXRjLiBXZSB3YW50IHRoZSBVbml4aXNoIHN0YW5kYXJk IGZvcm0gImVuIiwgInpoX1RXIgpAQCAtMTA5LDYgKzEwNiw2IEBAIGdjaGFyKiAgICAgICAg ICBnX3dpbjMyX2xvY2FsZV9maWxlbmFtZV8KIAogR19FTkRfREVDTFMKIAotI2VuZGlmCSAv KiBHX1BMQVRGT1JNX1dJTjMyICovCisjZW5kaWYJIC8qIEdfT1NfV0lOMzIgKi8KIAogI2Vu ZGlmIC8qIF9fR19XSU4zMl9IX18gKi8KLS0tIG9yaWdzcmMvZ2xpYi0yLjI3LjIvZ2xpYi9s aWJjaGFyc2V0L2xvY2FsY2hhcnNldC5jCTIwMDktMDMtMzEgMTg6MDQ6MjAuMDAwMDAwMDAw IC0wNTAwCisrKyBzcmMvZ2xpYi0yLjI3LjIvZ2xpYi9saWJjaGFyc2V0L2xvY2FsY2hhcnNl dC5jCTIwMTAtMTEtMDQgMTQ6NTM6NTMuNjc4ODM0MDAwIC0wNTAwCkBAIC00NiwxMCArNDYs NiBAQAogIyAgIGluY2x1ZGUgPGxvY2FsZS5oPgogIyAgZW5kaWYKICMgZW5kaWYKLSMgaWZk ZWYgX19DWUdXSU5fXwotIyAgZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KLSMgIGluY2x1 ZGUgPHdpbmRvd3MuaD4KLSMgZW5kaWYKICNlbGlmIGRlZmluZWQgV0lOMzJfTkFUSVZFCiAj IGRlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCiAjIGluY2x1ZGUgPHdpbmRvd3MuaD4KQEAg LTExMSw3ICsxMDcsNyBAQCBfZ19sb2NhbGVfZ2V0X2NoYXJzZXRfYWxpYXNlcyAodm9pZCkK ICAgY3AgPSBjaGFyc2V0X2FsaWFzZXM7CiAgIGlmIChjcCA9PSBOVUxMKQogICAgIHsKLSNp ZiAhKGRlZmluZWQgVk1TIHx8IGRlZmluZWQgV0lOMzJfTkFUSVZFIHx8IGRlZmluZWQgX19D WUdXSU5fXykKKyNpZiAhKGRlZmluZWQgVk1TIHx8IGRlZmluZWQgV0lOMzJfTkFUSVZFKQog ICAgICAgRklMRSAqZnA7CiAgICAgICBjb25zdCBjaGFyICpkaXI7CiAgICAgICBjb25zdCBj aGFyICpiYXNlID0gImNoYXJzZXQuYWxpYXMiOwpAQCAtMjM3LDcgKzIzMyw3IEBAIF9nX2xv Y2FsZV9nZXRfY2hhcnNldF9hbGlhc2VzICh2b2lkKQogCSAgICJERUNLT1JFQU4iICJcMCIg IkVVQy1LUiIgIlwwIjsKICMgZW5kaWYKIAotIyBpZiBkZWZpbmVkIFdJTjMyX05BVElWRSB8 fCBkZWZpbmVkIF9fQ1lHV0lOX18KKyMgaWYgZGVmaW5lZCBXSU4zMl9OQVRJVkUKICAgICAg IC8qIFRvIGF2b2lkIHRoZSB0cm91YmxlcyBvZiBpbnN0YWxsaW5nIGEgc2VwYXJhdGUgZmls ZSBpbiB0aGUgc2FtZQogCSBkaXJlY3RvcnkgYXMgdGhlIERMTCBhbmQgb2YgcmV0cmlldmlu ZyB0aGUgRExMJ3MgZGlyZWN0b3J5IGF0CiAJIHJ1bnRpbWUsIHNpbXBseSBpbmxpbmUgdGhl IGFsaWFzZXMgaGVyZS4gICovCkBAIC0yOTIsNTMgKzI4OCw2IEBAIF9nX2xvY2FsZV9jaGFy c2V0X3JhdyAodm9pZCkKICAgLyogTW9zdCBzeXN0ZW1zIHN1cHBvcnQgbmxfbGFuZ2luZm8g KENPREVTRVQpIG5vd2FkYXlzLiAgKi8KICAgY29kZXNldCA9IG5sX2xhbmdpbmZvIChDT0RF U0VUKTsKIAotIyAgaWZkZWYgX19DWUdXSU5fXwotICAvKiBDeWd3aW4gMjAwNiBkb2VzIG5v dCBoYXZlIGxvY2FsZXMuICBubF9sYW5naW5mbyAoQ09ERVNFVCkgYWx3YXlzCi0gICAgIHJl dHVybnMgIlVTLUFTQ0lJIi4gIEFzIGxvbmcgYXMgdGhpcyBpcyBub3QgZml4ZWQsIHJldHVy biB0aGUgc3VmZml4Ci0gICAgIG9mIHRoZSBsb2NhbGUgbmFtZSBmcm9tIHRoZSBlbnZpcm9u bWVudCB2YXJpYWJsZXMgKGlmIHByZXNlbnQpIG9yCi0gICAgIHRoZSBjb2RlcGFnZSBhcyBh IG51bWJlci4gICovCi0gIGlmIChjb2Rlc2V0ICE9IE5VTEwgJiYgc3RyY21wIChjb2Rlc2V0 LCAiVVMtQVNDSUkiKSA9PSAwKQotICAgIHsKLSAgICAgIGNvbnN0IGNoYXIgKmxvY2FsZTsK LSAgICAgIHN0YXRpYyBjaGFyIGJ1ZlsyICsgMTAgKyAxXTsKLQotICAgICAgbG9jYWxlID0g Z2V0ZW52ICgiTENfQUxMIik7Ci0gICAgICBpZiAobG9jYWxlID09IE5VTEwgfHwgbG9jYWxl WzBdID09ICdcMCcpCi0JewotCSAgbG9jYWxlID0gZ2V0ZW52ICgiTENfQ1RZUEUiKTsKLQkg IGlmIChsb2NhbGUgPT0gTlVMTCB8fCBsb2NhbGVbMF0gPT0gJ1wwJykKLQkgICAgbG9jYWxl ID0gZ2V0ZW52ICgiTEFORyIpOwotCX0KLSAgICAgIGlmIChsb2NhbGUgIT0gTlVMTCAmJiBs b2NhbGVbMF0gIT0gJ1wwJykKLQl7Ci0JICAvKiBJZiB0aGUgbG9jYWxlIG5hbWUgY29udGFp bnMgYW4gZW5jb2RpbmcgYWZ0ZXIgdGhlIGRvdCwgcmV0dXJuCi0JICAgICBpdC4gICovCi0J ICBjb25zdCBjaGFyICpkb3QgPSBzdHJjaHIgKGxvY2FsZSwgJy4nKTsKLQotCSAgaWYgKGRv dCAhPSBOVUxMKQotCSAgICB7Ci0JICAgICAgY29uc3QgY2hhciAqbW9kaWZpZXI7Ci0KLQkg ICAgICBkb3QrKzsKLQkgICAgICAvKiBMb29rIGZvciB0aGUgcG9zc2libGUgQC4uLiB0cmFp bGVyIGFuZCByZW1vdmUgaXQsIGlmIGFueS4gICovCi0JICAgICAgbW9kaWZpZXIgPSBzdHJj aHIgKGRvdCwgJ0AnKTsKLQkgICAgICBpZiAobW9kaWZpZXIgPT0gTlVMTCkKLQkJcmV0dXJu IGRvdDsKLQkgICAgICBpZiAobW9kaWZpZXIgLSBkb3QgPCBzaXplb2YgKGJ1ZikpCi0JCXsK LQkJICBtZW1jcHkgKGJ1ZiwgZG90LCBtb2RpZmllciAtIGRvdCk7Ci0JCSAgYnVmIFttb2Rp ZmllciAtIGRvdF0gPSAnXDAnOwotCQkgIHJldHVybiBidWY7Ci0JCX0KLQkgICAgfQotCX0K LQotICAgICAgLyogV29lMzIgaGFzIGEgZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBsb2NhbGUn cyBjb2RlcGFnZSBhcyBhIG51bWJlci4gICovCi0gICAgICBzcHJpbnRmIChidWYsICJDUCV1 IiwgR2V0QUNQICgpKTsKLSAgICAgIGNvZGVzZXQgPSBidWY7Ci0gICAgfQotIyAgZW5kaWYK LQogIyBlbHNlCiAKICAgLyogT24gb2xkIHN5c3RlbXMgd2hpY2ggbGFjayBpdCwgdXNlIHNl dGxvY2FsZSBvciBnZXRlbnYuICAqLwotLS0gb3JpZ3NyYy9nbGliLTIuMjcuMi9nbGliL3Rl c3RzL3VyaS5jCTIwMTAtMDctMDUgMjI6Mjk6MjEuMDAwMDAwMDAwIC0wNTAwCisrKyBzcmMv Z2xpYi0yLjI3LjIvZ2xpYi90ZXN0cy91cmkuYwkyMDEwLTExLTA0IDE0OjUzOjU4LjA5MzY0 MTcwMCAtMDUwMApAQCAtNTYsNyArNTYsNyBAQCB0b191cmlfdGVzdHNbXSA9IHsKICAgeyAi YzpcXHdpbmRvd3MiLCAib3RoZXJob3N0IiwgTlVMTCwgR19DT05WRVJUX0VSUk9SX05PVF9B QlNPTFVURV9QQVRIfSwKICNlbmRpZgogICB7ICJldGMiLCAibG9jYWxob3N0IiwgTlVMTCwg R19DT05WRVJUX0VSUk9SX05PVF9BQlNPTFVURV9QQVRIfSwKLSNpZm5kZWYgR19QTEFURk9S TV9XSU4zMgorI2lmbmRlZiBHX09TX1dJTjMyCiAgIHsgIi9ldGMvXHhFNVx4RTRceEY2Iiwg TlVMTCwgImZpbGU6Ly8vZXRjLyVFNSVFNCVGNiIgfSwKICAgeyAiL2V0Yy9ceEMzXHhCNlx4 QzNceEE0XHhDM1x4QTUiLCBOVUxMLCAiZmlsZTovLy9ldGMvJUMzJUI2JUMzJUE0JUMzJUE1 In0sCiAjZW5kaWYKLS0tIG9yaWdzcmMvZ2xpYi0yLjI3LjIvdGVzdHMvTWFrZWZpbGUuYW0J MjAxMC0wOC0xNiAxMzo0Mzo1NC4wMDAwMDAwMDAgLTA1MDAKKysrIHNyYy9nbGliLTIuMjcu Mi90ZXN0cy9NYWtlZmlsZS5hbQkyMDEwLTExLTA0IDE0OjUzOjUzLjY5NDQzNDAwMCAtMDUw MApAQCAtMTksNyArMTksOSBAQCBsaWJhZGRfbGliZ21vZHVsZSA9ICQobGliZ21vZHVsZSkK IGxpYmFkZF9saWJnbGliID0gJChsaWJnbGliKQogaWYgUExBVEZPUk1fV0lOMzIKIG5vX3Vu ZGVmaW5lZCA9IC1uby11bmRlZmluZWQKK2VuZGlmCiAKK2lmIE9TX1dJTjMyCiBtb2R1bGVf dGVzdF9leHAgPSBtb2R1bGUtdGVzdC5leHAKIAogbW9kdWxlLXRlc3QuZXhwOiBtb2R1bGUt dGVzdC5vCi0tLSBvcmlnc3JjL2dsaWItMi4yNy4yL3Rlc3RzL3Rlc3RnbGliLmMJMjAxMC0x MC0xNiAyMjozMToyMy4wMDAwMDAwMDAgLTA1MDAKKysrIHNyYy9nbGliLTIuMjcuMi90ZXN0 cy90ZXN0Z2xpYi5jCTIwMTAtMTEtMDQgMTQ6NTM6NTMuNjk0NDM0MDAwIC0wNTAwCkBAIC03 NDQsNyArNzQ0LDcgQEAgdGVzdF9pbmZvICh2b2lkKQogCiAgIGlmIChnX3Rlc3RfdmVyYm9z ZSgpKQogICAgIHsKLSNpZmRlZiBHX1BMQVRGT1JNX1dJTjMyCisjaWZkZWYgR19PU19XSU4z MgogICAgICAgZ19wcmludCAoImN1cnJlbnQgbG9jYWxlOiAlc1xuIiwgZ193aW4zMl9nZXRs b2NhbGUgKCkpOwogCiAgICAgICBnX3ByaW50ICgiZm91bmQgbW9yZS5jb20gYXMgJXNcbiIs IGdfZmluZF9wcm9ncmFtX2luX3BhdGggKCJtb3JlLmNvbSIpKTsK --------------070908090205040903060504--