From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#32452: 26.1; gnutls_try_handshake maxes out cpu retrying when server is a bit busy Date: Tue, 8 Mar 2022 19:01:25 -0800 Organization: UCLA Computer Science Department Message-ID: References: <87wosqwlu3.fsf@gmail.com> <87pmnc4p64.fsf@gnus.org> <87v8x3znmm.fsf@gnus.org> <6f364184-7fa8-04f3-44a9-22ce40b872e8@cs.ucla.edu> <8735k5vezs.fsf@gnus.org> <83ee3pprkr.fsf@gnu.org> <87pmn9txzo.fsf@gnus.org> <87ee3ns6x0.fsf@gnus.org> <78c5037a-ac96-e7be-532f-b1776ed25b2b@cs.ucla.edu> <87a6e9n0rg.fsf@gnus.org> <87czj5ld38.fsf@gnus.org> <87y21tjggy.fsf@gnus.org> <87czj3jgdd.fsf@gnus.org> <835yovjck2.fsf@gnu.org> <87czj1g2je.fsf@gnus.org> <87wnh9d5qj.fsf@gnus.org> <83tucdh55m.fsf@gnu.org> <87bkykcoje.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------Y0M85hF7lRu6Zngtm0noh8kQ" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35845"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Cc: 32452@debbugs.gnu.org, npostavs@gmail.com To: Lars Ingebrigtsen , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Mar 09 04:02:17 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRmaf-000997-Jj for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 09 Mar 2022 04:02:17 +0100 Original-Received: from localhost ([::1]:33178 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRmad-0007U4-LO for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 08 Mar 2022 22:02:15 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRmaS-0007Tp-Qv for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2022 22:02:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36109) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRmaQ-0003n6-1v for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2022 22:02:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nRmaP-0001AC-Pe for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2022 22:02:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 09 Mar 2022 03:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32452 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 32452-submit@debbugs.gnu.org id=B32452.16467948984443 (code B ref 32452); Wed, 09 Mar 2022 03:02:01 +0000 Original-Received: (at 32452) by debbugs.gnu.org; 9 Mar 2022 03:01:38 +0000 Original-Received: from localhost ([127.0.0.1]:58239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nRma1-00019a-1P for submit@debbugs.gnu.org; Tue, 08 Mar 2022 22:01:38 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:35054) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nRmZx-00019L-Pa for 32452@debbugs.gnu.org; Tue, 08 Mar 2022 22:01:35 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 0F18A160068; Tue, 8 Mar 2022 19:01:28 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 7X4M_UIaxOdq; Tue, 8 Mar 2022 19:01:25 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C120C160090; Tue, 8 Mar 2022 19:01:25 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Fv8I2aOZG6Rg; Tue, 8 Mar 2022 19:01:25 -0800 (PST) Original-Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 7FC59160068; Tue, 8 Mar 2022 19:01:25 -0800 (PST) Content-Language: en-US In-Reply-To: <87bkykcoje.fsf@gnus.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:228157 Archived-At: This is a multi-part message in MIME format. --------------Y0M85hF7lRu6Zngtm0noh8kQ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/5/22 09:11, Lars Ingebrigtsen wrote: > $(AM_V_at)$(CC) -shared $(CPPFLAGS) $(MODULE_CFLAGS) $(LDFLAGS) \ > -o $@ $< $(LIBGMP) \ > + ../lib/libgnu.a \ Unfortunately that won't work in general; the comment for mod-test.so says "In the compilation command, we can't use any object or archive file as source because those are not compiled with -fPIC" but as things stood mod-test.so was being linked with libgnu.a. Anyway, mod-test.so should be decoupled from Emacs as much as possible - that's the whole point of modules after all - so the mod-test.so rule shouldn't make assumptions about how Emacs internals use Gnulib. I installed the attached patches to lessen the coupling between mod-test.so and Emacs internals and I hope this fixes the problem. It may need to be adjusted a tad for platforms that lack nanosleep/clock_gettime/libgmp whatever, but the basic idea should work on these platforms with only minor twiddling. Even with these patches, mod-test.so uses "config.h"; but at least it doesn't use Gnulib code. --------------Y0M85hF7lRu6Zngtm0noh8kQ Content-Type: text/x-patch; charset=UTF-8; name="0001-Do-not-include-attribute.h-from-config.h.patch" Content-Disposition: attachment; filename="0001-Do-not-include-attribute.h-from-config.h.patch" Content-Transfer-Encoding: base64 RnJvbSA1Yjk2YTUxMzZhYWNjODJhNjM0ZDQxNDA3ZDQ0NzM0OTQ1OTZmMTk2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDggTWFyIDIwMjIgMTg6NDY6NDcgLTA4MDAKU3ViamVjdDogW1BBVENI IDEvMl0gRG8gbm90IGluY2x1ZGUgPGF0dHJpYnV0ZS5oPiBmcm9tIDxjb25maWcuaD4KTUlN RS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClRoaXMgaXMgYmVjYXVzZSBtb2Qt dGVzdC5jIHNob3VsZG7igJl0IHVzZSBzb3VyY2UgY29kZSBmcm9tIGxpYiwKYnV0IGl0IGRv ZXMgbmVlZCB0byBpbmNsdWRlIDxjb25maWcuaD4uCiogbGliLXNyYy9lYnJvd3NlLmMsIGxp Yi1zcmMvZW1hY3NjbGllbnQuYywgbGliLXNyYy9ldGFncy5jOgoqIGxpYi1zcmMvbWFrZS1k b2NmaWxlLmMsIGxpYi1zcmMvbW92ZW1haWwuYzoKKiBsaWItc3JjL3NlY2NvbXAtZmlsdGVy LmMsIHNyYy9keW5saWIuaCwgc3JjL2xpc3AuaDoKKiBzcmMvc3lzc2lnbmFsLmgsIHNyYy9z eXNzdGRpby5oLCBzcmMvc3lzdGhyZWFkLmgsIHNyYy90cGFyYW0uaDoKSW5jbHVkZSA8YXR0 cmlidXRlLmg+LgoqIHNyYy9jb25mX3Bvc3QuaDogRG8gbm90IGluY2x1ZGUgPGF0dHJpYnV0 ZS5oPi4KQWxsIHVzZXMgb2YgYXR0cmlidXRlLmggbWFjcm9zIHJlcGxhY2VkIHdpdGggdGhl aXIgX0dMXyBlcXVpdmFsZW50cy4KLS0tCiBsaWItc3JjL2Vicm93c2UuYyAgICAgICAgfCAg MSArCiBsaWItc3JjL2VtYWNzY2xpZW50LmMgICAgfCAgMSArCiBsaWItc3JjL2V0YWdzLmMg ICAgICAgICAgfCAgMSArCiBsaWItc3JjL21ha2UtZG9jZmlsZS5jICAgfCAgMSArCiBsaWIt c3JjL21vdmVtYWlsLmMgICAgICAgfCAgMSArCiBsaWItc3JjL3NlY2NvbXAtZmlsdGVyLmMg fCAgMyArKy0KIHNyYy9jb25mX3Bvc3QuaCAgICAgICAgICB8IDE5ICsrKysrKysrKy0tLS0t LS0tLS0KIHNyYy9keW5saWIuaCAgICAgICAgICAgICB8ICAxICsKIHNyYy9saXNwLmggICAg ICAgICAgICAgICB8ICAxICsKIHNyYy9zeXNzaWduYWwuaCAgICAgICAgICB8ICAyICsrCiBz cmMvc3lzc3RkaW8uaCAgICAgICAgICAgfCAgNCArKystCiBzcmMvc3lzdGhyZWFkLmggICAg ICAgICAgfCAgMiArKwogc3JjL3RwYXJhbS5oICAgICAgICAgICAgIHwgIDIgKysKIDEzIGZp bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYi1zcmMvZWJyb3dzZS5jIGIvbGliLXNyYy9lYnJvd3NlLmMKaW5kZXggYWM3 ZTc5MDE4Ny4uYjc3NTcyNzM0ZiAxMDA2NDQKLS0tIGEvbGliLXNyYy9lYnJvd3NlLmMKKysr IGIvbGliLXNyYy9lYnJvd3NlLmMKQEAgLTI2LDYgKzI2LDcgQEAgQ29weXJpZ2h0IChDKSAx OTkyLTIwMjIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjaW5jbHVkZSA8YXNz ZXJ0Lmg+CiAjaW5jbHVkZSA8Z2V0b3B0Lmg+CiAKKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4K ICNpbmNsdWRlIDxmbGV4bWVtYmVyLmg+CiAjaW5jbHVkZSA8bWluLW1heC5oPgogI2luY2x1 ZGUgPHVubG9ja2VkLWlvLmg+CmRpZmYgLS1naXQgYS9saWItc3JjL2VtYWNzY2xpZW50LmMg Yi9saWItc3JjL2VtYWNzY2xpZW50LmMKaW5kZXggMzY1ZTgwM2UxYy4uNzQwNmVmMzQ5MCAx MDA2NDQKLS0tIGEvbGliLXNyYy9lbWFjc2NsaWVudC5jCisrKyBiL2xpYi1zcmMvZW1hY3Nj bGllbnQuYwpAQCAtODAsNiArODAsNyBAQCBDb3B5cmlnaHQgKEMpIDE5ODYtMTk4NywgMTk5 NCwgMTk5OS0yMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogI2luY2x1ZGUg PHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKKyNpbmNsdWRlIDxhdHRyaWJ1 dGUuaD4KICNpbmNsdWRlIDxmaWxlbmFtZS5oPgogI2luY2x1ZGUgPGludHByb3BzLmg+CiAj aW5jbHVkZSA8bWluLW1heC5oPgpkaWZmIC0tZ2l0IGEvbGliLXNyYy9ldGFncy5jIGIvbGli LXNyYy9ldGFncy5jCmluZGV4IGFhNWJjODgzOWQuLjY1YjlmYWU4ZDUgMTAwNjQ0Ci0tLSBh L2xpYi1zcmMvZXRhZ3MuYworKysgYi9saWItc3JjL2V0YWdzLmMKQEAgLTExMiw2ICsxMTIs NyBAQCBDb3B5cmlnaHQgKEMpIDE5ODQsIDE5ODctMTk4OSwgMTk5My0xOTk1LCAxOTk4LTIw MjIgRnJlZSBTb2Z0d2FyZQogIyBkZWZpbmUgT19DTE9FWEVDIE9fTk9JTkhFUklUCiAjZW5k aWYgLyogV0lORE9XU05UICovCiAKKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KICNpbmNsdWRl IDxpbnR0eXBlcy5oPgogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHVuaXN0ZC5o PgpkaWZmIC0tZ2l0IGEvbGliLXNyYy9tYWtlLWRvY2ZpbGUuYyBiL2xpYi1zcmMvbWFrZS1k b2NmaWxlLmMKaW5kZXggZjQyYjE5ODhhMi4uZDJkNGIxZDI3NyAxMDA2NDQKLS0tIGEvbGli LXNyYy9tYWtlLWRvY2ZpbGUuYworKysgYi9saWItc3JjL21ha2UtZG9jZmlsZS5jCkBAIC00 Miw2ICs0Miw3IEBAIENvcHlyaWdodCAoQykgMTk4NS0xOTg2LCAxOTkyLTE5OTQsIDE5OTcs IDE5OTktMjAyMiBGcmVlIFNvZnR3YXJlCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVk ZSA8c3RyaW5nLmg+CiAKKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KICNpbmNsdWRlIDxiaW5h cnktaW8uaD4KICNpbmNsdWRlIDxjLWN0eXBlLmg+CiAjaW5jbHVkZSA8aW50cHJvcHMuaD4K ZGlmZiAtLWdpdCBhL2xpYi1zcmMvbW92ZW1haWwuYyBiL2xpYi1zcmMvbW92ZW1haWwuYwpp bmRleCA4ODg2ODhmOTBiLi5hYTNjMTVlNzJlIDEwMDY0NAotLS0gYS9saWItc3JjL21vdmVt YWlsLmMKKysrIGIvbGliLXNyYy9tb3ZlbWFpbC5jCkBAIC02OSw2ICs2OSw3IEBAIENvcHly aWdodCAoQykgMTk4NiwgMTk5Mi0xOTk0LCAxOTk2LCAxOTk5LCAyMDAxLTIwMjIgRnJlZSBT b2Z0d2FyZQogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCisj aW5jbHVkZSA8YXR0cmlidXRlLmg+CiAjaW5jbHVkZSA8dW5sb2NrZWQtaW8uaD4KIAogI2lu Y2x1ZGUgInN5c3dhaXQuaCIKZGlmZiAtLWdpdCBhL2xpYi1zcmMvc2VjY29tcC1maWx0ZXIu YyBiL2xpYi1zcmMvc2VjY29tcC1maWx0ZXIuYwppbmRleCBiNTE1ODUxMDEwLi45ZjBkZTdk NjRmIDEwMDY0NAotLS0gYS9saWItc3JjL3NlY2NvbXAtZmlsdGVyLmMKKysrIGIvbGliLXNy Yy9zZWNjb21wLWZpbHRlci5jCkBAIC01OSw3ICs1OSw4IEBAIENvcHlyaWdodCAoQykgMjAy MC0yMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogI2luY2x1ZGUgPHNlY2Nv bXAuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAotI2luY2x1ZGUgInZlcmlmeS5oIgorI2lu Y2x1ZGUgPGF0dHJpYnV0ZS5oPgorI2luY2x1ZGUgPHZlcmlmeS5oPgogCiAjaWZuZGVmIEFS Q0hfQ0VUX1NUQVRVUwogI2RlZmluZSBBUkNIX0NFVF9TVEFUVVMgMHgzMDAxCmRpZmYgLS1n aXQgYS9zcmMvY29uZl9wb3N0LmggYi9zcmMvY29uZl9wb3N0LmgKaW5kZXggZGQzNTBiOGRj OC4uNTEwOGU0NGVmYiAxMDA2NDQKLS0tIGEvc3JjL2NvbmZfcG9zdC5oCisrKyBiL3NyYy9j b25mX3Bvc3QuaApAQCAtMzIsMTMgKzMyLDExIEBAIENvcHlyaWdodCAoQykgMTk4OCwgMTk5 My0xOTk0LCAxOTk5LTIwMDIsIDIwMDQtMjAyMiBGcmVlIFNvZnR3YXJlCiAvKiBUbyBoZWxw IG1ha2UgZGVwZW5kZW5jaWVzIGNsZWFyZXIgZWxzZXdoZXJlLCB0aGlzIGZpbGUgdHlwaWNh bGx5CiAgICBkb2VzIG5vdCAjaW5jbHVkZSBvdGhlciBmaWxlcy4gIFRoZSBleGNlcHRpb25z IGFyZSBzdGRib29sLmgKICAgIGJlY2F1c2UgaXQgaXMgdW5saWtlbHkgdG8gaW50ZXJmZXJl IHdpdGggY29uZmlndXJhdGlvbiBhbmQgYm9vbCBpcwotICAgc3VjaCBhIGNvcmUgcGFydCBv ZiB0aGUgQyBsYW5ndWFnZSwgYXR0cmlidXRlLmggYmVjYXVzZSBpdHMKLSAgIEFUVFJJQlVU RV8qIG1hY3JvcyBhcmUgdXNlZCBoZXJlLCBhbmQgbXMtdzMyLmggKERPU19OVAorICAgc3Vj aCBhIGNvcmUgcGFydCBvZiB0aGUgQyBsYW5ndWFnZSwgYW5kIG1zLXczMi5oIChET1NfTlQK ICAgIG9ubHkpIGJlY2F1c2UgaXQgaGlzdG9yaWNhbGx5IHdhcyBpbmNsdWRlZCBoZXJlIGFu ZCBjaGFuZ2luZyB0aGF0CiAgICB3b3VsZCB0YWtlIHNvbWUgd29yay4gICovCiAKICNpbmNs dWRlIDxzdGRib29sLmg+Ci0jaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAKICNpZiBkZWZpbmVk IFdJTkRPV1NOVCAmJiAhZGVmaW5lZCBERUZFUl9NU19XMzJfSAogIyBpbmNsdWRlIDxtcy13 MzIuaD4KQEAgLTI3OSw4ICsyNzcsOCBAQCAjZGVmaW5lIHNldGVudl9UWiBlbWFjc19zZXRl bnZfVFoKIGV4dGVybiBjaGFyICplbWFjc19nZXRlbnZfVFogKHZvaWQpOwogZXh0ZXJuIGlu dCBlbWFjc19zZXRlbnZfVFogKGNoYXIgY29uc3QgKik7CiAKLSNkZWZpbmUgTk9fSU5MSU5F IEFUVFJJQlVURV9OT0lOTElORQotI2RlZmluZSBFWFRFUk5BTExZX1ZJU0lCTEUgQVRUUklC VVRFX0VYVEVSTkFMTFlfVklTSUJMRQorI2RlZmluZSBOT19JTkxJTkUgX0dMX0FUVFJJQlVU RV9OT0lOTElORQorI2RlZmluZSBFWFRFUk5BTExZX1ZJU0lCTEUgX0dMX0FUVFJJQlVURV9F WFRFUk5BTExZX1ZJU0lCTEUKIAogI2lmIEdOVUNfUFJFUkVRICg0LCA0LCAwKSAmJiBkZWZp bmVkIF9fR0xJQkNfTUlOT1JfXwogIyBkZWZpbmUgUFJJTlRGX0FSQ0hFVFlQRSBfX2dudV9w cmludGZfXwpAQCAtMzEwLDkgKzMwOCw5IEBAICNkZWZpbmUgRVhURVJOQUxMWV9WSVNJQkxF IEFUVFJJQlVURV9FWFRFUk5BTExZX1ZJU0lCTEUKICMgZGVmaW5lIFBSSU5URl9BUkNIRVRZ UEUgX19wcmludGZfXwogI2VuZGlmCiAjZGVmaW5lIEFUVFJJQlVURV9GT1JNQVRfUFJJTlRG KHN0cmluZ19pbmRleCwgZmlyc3RfdG9fY2hlY2spIFwKLSAgQVRUUklCVVRFX0ZPUk1BVCAo KFBSSU5URl9BUkNIRVRZUEUsIHN0cmluZ19pbmRleCwgZmlyc3RfdG9fY2hlY2spKQorICBf R0xfQVRUUklCVVRFX0ZPUk1BVCAoKFBSSU5URl9BUkNIRVRZUEUsIHN0cmluZ19pbmRleCwg Zmlyc3RfdG9fY2hlY2spKQogCi0jZGVmaW5lIEFSR19OT05OVUxMIEFUVFJJQlVURV9OT05O VUxMCisjZGVmaW5lIEFSR19OT05OVUxMIF9HTF9BVFRSSUJVVEVfTk9OTlVMTAogCiAvKiBE ZWNsYXJlIE5BTUUgdG8gYmUgYSBwb2ludGVyIHRvIGFuIG9iamVjdCBvZiB0eXBlIFRZUEUs IGluaXRpYWxpemVkCiAgICB0byB0aGUgYWRkcmVzcyBBRERSLCB3aGljaCBtYXkgYmUgb2Yg YSBkaWZmZXJlbnQgdHlwZS4gIEFjY2Vzc2VzCkBAIC0zMjAsMTUgKzMxOCwxNiBAQCAjZGVm aW5lIEFSR19OT05OVUxMIEFUVFJJQlVURV9OT05OVUxMCiAgICBiZWhhdmlvciwgZXZlbiBp ZiBvcHRpb25zIGxpa2UgZ2NjIC1mc3RyaWN0LWFsaWFzaW5nIGFyZSB1c2VkLiAgKi8KIAog I2RlZmluZSBERUNMQVJFX1BPSU5URVJfQUxJQVMobmFtZSwgdHlwZSwgYWRkcikgXAotICB0 eXBlIEFUVFJJQlVURV9NQVlfQUxJQVMgKm5hbWUgPSAodHlwZSAqKSAoYWRkcikKKyAgdHlw ZSBfR0xfQVRUUklCVVRFX01BWV9BTElBUyAqbmFtZSA9ICh0eXBlICopIChhZGRyKQogCiAj aWYgMyA8PSBfX0dOVUNfXwogIyBkZWZpbmUgQVRUUklCVVRFX1NFQ1RJT04obmFtZSkgX19h dHRyaWJ1dGVfXygoc2VjdGlvbiAobmFtZSkpKQogI2Vsc2UKLSNkZWZpbmUgQVRUUklCVVRF X1NFQ1RJT04obmFtZSkKKyMgZGVmaW5lIEFUVFJJQlVURV9TRUNUSU9OKG5hbWUpCiAjZW5k aWYKIAotI2RlZmluZSBBVFRSSUJVVEVfTUFMTE9DX1NJWkUoYXJncykgQVRUUklCVVRFX01B TExPQyBBVFRSSUJVVEVfQUxMT0NfU0laRSAoYXJncykKKyNkZWZpbmUgQVRUUklCVVRFX01B TExPQ19TSVpFKGFyZ3MpIFwKKyAgX0dMX0FUVFJJQlVURV9NQUxMT0MgX0dMX0FUVFJJQlVU RV9BTExPQ19TSVpFIChhcmdzKQogCiAvKiBXb3JrIGFyb3VuZCBHQ0MgYnVnIDU5NjAwOiB3 aGVuIGEgZnVuY3Rpb24gaXMgaW5saW5lZCwgdGhlIGlubGluZWQKICAgIGNvZGUgbWF5IGhh dmUgaXRzIGFkZHJlc3NlcyBzYW5pdGl6ZWQgZXZlbiBpZiB0aGUgZnVuY3Rpb24gaGFzIHRo ZQpkaWZmIC0tZ2l0IGEvc3JjL2R5bmxpYi5oIGIvc3JjL2R5bmxpYi5oCmluZGV4IGFjM2Q4 ZTU4YWIuLjAzYjhmOTgzNTYgMTAwNjQ0Ci0tLSBhL3NyYy9keW5saWIuaAorKysgYi9zcmMv ZHlubGliLmgKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgRFlOTElCX0gKICNkZWZpbmUg RFlOTElCX0gKIAorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogI2luY2x1ZGUgPHN0ZGJvb2wu aD4KIAogdHlwZWRlZiB2b2lkICpkeW5saWJfaGFuZGxlX3B0cjsKZGlmZiAtLWdpdCBhL3Ny Yy9saXNwLmggYi9zcmMvbGlzcC5oCmluZGV4IGRlZWNhOWJjODYuLjc3OGJkMWJmYTUgMTAw NjQ0Ci0tLSBhL3NyYy9saXNwLmgKKysrIGIvc3JjL2xpc3AuaApAQCAtMzEsNiArMzEsNyBA QCAjZGVmaW5lIEVNQUNTX0xJU1BfSAogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjaW5jbHVk ZSA8bGltaXRzLmg+CiAKKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KICNpbmNsdWRlIDxpbnRw cm9wcy5oPgogI2luY2x1ZGUgPHZlcmlmeS5oPgogCmRpZmYgLS1naXQgYS9zcmMvc3lzc2ln bmFsLmggYi9zcmMvc3lzc2lnbmFsLmgKaW5kZXggMDcwNTVjMDRiZS4uMDJmZTQ0YTM4MiAx MDA2NDQKLS0tIGEvc3JjL3N5c3NpZ25hbC5oCisrKyBiL3NyYy9zeXNzaWduYWwuaApAQCAt MjIsNiArMjIsOCBAQCAjZGVmaW5lIEVNQUNTX1NZU1NJR05BTF9ICiAKICNpbmNsdWRlIDxz aWduYWwuaD4KIAorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgorCiBleHRlcm4gdm9pZCBpbml0 X3NpZ25hbHMgKHZvaWQpOwogZXh0ZXJuIHZvaWQgYmxvY2tfY2hpbGRfc2lnbmFsIChzaWdz ZXRfdCAqKTsKIGV4dGVybiB2b2lkIHVuYmxvY2tfY2hpbGRfc2lnbmFsIChzaWdzZXRfdCBj b25zdCAqKTsKZGlmZiAtLWdpdCBhL3NyYy9zeXNzdGRpby5oIGIvc3JjL3N5c3N0ZGlvLmgK aW5kZXggNWJjZmU3ZDhhNS4uNzI3YTQ2NmJlNSAxMDA2NDQKLS0tIGEvc3JjL3N5c3N0ZGlv LmgKKysrIGIvc3JjL3N5c3N0ZGlvLmgKQEAgLTI0LDcgKzI0LDkgQEAgI2RlZmluZSBFTUFD U19TWVNTVERJT19ICiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4K ICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgInVubG9ja2VkLWlvLmgiCisKKyNpbmNs dWRlIDxhdHRyaWJ1dGUuaD4KKyNpbmNsdWRlIDx1bmxvY2tlZC1pby5oPgogCiBleHRlcm4g RklMRSAqZW1hY3NfZm9wZW4gKGNoYXIgY29uc3QgKiwgY2hhciBjb25zdCAqKSBBVFRSSUJV VEVfTUFMTE9DOwogZXh0ZXJuIHZvaWQgZXJycHV0YyAoaW50KTsKZGlmZiAtLWdpdCBhL3Ny Yy9zeXN0aHJlYWQuaCBiL3NyYy9zeXN0aHJlYWQuaAppbmRleCBmYjFhMGE3MmQ2Li5iZjRl MDMwNmNkIDEwMDY0NAotLS0gYS9zcmMvc3lzdGhyZWFkLmgKKysrIGIvc3JjL3N5c3RocmVh ZC5oCkBAIC0yMSw2ICsyMSw4IEBAICNkZWZpbmUgU1lTVEhSRUFEX0gKIAogI2luY2x1ZGUg PHN0ZGJvb2wuaD4KIAorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgorCiAjaWZkZWYgVEhSRUFE U19FTkFCTEVECiAKICNpZmRlZiBIQVZFX1BUSFJFQUQKZGlmZiAtLWdpdCBhL3NyYy90cGFy YW0uaCBiL3NyYy90cGFyYW0uaAppbmRleCA2MzYxZjEzOGVhLi42NTNmMDFiZGRlIDEwMDY0 NAotLS0gYS9zcmMvdHBhcmFtLmgKKysrIGIvc3JjL3RwYXJhbS5oCkBAIC0yMCw2ICsyMCw4 IEBAIENvcHlyaWdodCAoQykgMjAxMS0yMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogI2lmbmRlZiBFTUFDU19UUEFSQU1fSAogI2RlZmluZSBFTUFDU19UUEFSQU1fSAog CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CisKIC8qIERvbid0IHRyeSB0byBpbmNsdWRlIHRl cm1jYXAuaC4gIE9uIHNvbWUgc3lzdGVtcywgY29uZmlndXJlIGZpbmRzIGEKICAgIG5vbi1z dGFuZGFyZCB0ZXJtY2FwLmggdGhhdCB0aGUgbWFpbiBidWlsZCB3b24ndCBmaW5kLiAgKi8K IAotLSAKMi4zNS4xCgo= --------------Y0M85hF7lRu6Zngtm0noh8kQ Content-Type: text/x-patch; charset=UTF-8; name="0002-Decouple-mod-test.c-from-Gnulib.patch" Content-Disposition: attachment; filename="0002-Decouple-mod-test.c-from-Gnulib.patch" Content-Transfer-Encoding: base64 RnJvbSAzYjg2YmMxNjJjY2ExOTkxYTFjZTY2NDQ1ZTVkOGYwZDhmM2JjN2IyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDggTWFyIDIwMjIgMTg6NDY6NDcgLTA4MDAKU3ViamVjdDogW1BBVENI IDIvMl0gRGVjb3VwbGUgbW9kLXRlc3QuYyBmcm9tIEdudWxpYgpNSU1FLVZlcnNpb246IDEu MApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKbW9kLXRlc3QuYyBzaG91bGQgbm90IHVzZSBHbnVsaWIg Y29kZSwgYXMgdGhhdCBjcmVhdGVzCnVubmVjZXNzYXJ5IGNvdXBsaW5nIGJldHdlZW4gRW1h Y3MgaW50ZXJuYWxzIGFuZCB0aGlzIHRlc3QgbW9kdWxlLgpBbHNvIEdudWxpYiBjb2RlIGlz IGNvbXBpbGVkIHdpdGhvdXQgLWZQSUMgd2hlcmVhcyBtb2QtdGVzdC5jCm5lZWRzIC1mUElD IGFuZCByZWNvbXBpbGluZyBHbnVsaWIgd2l0aCAtZlBJQyB3b3VsZCBiZSB0b28gcGFpbmZ1 bC4KKiBzcmMvTWFrZWZpbGUuaW4gKExJQl9OQU5PU0xFRVApOiBOZXcgbWFjcm8uCihMSUJF Uyk6IFVzZSBpdC4KKiB0ZXN0L01ha2VmaWxlLmluIChSRVBMQUNFX0ZSRUUsIEZSRUVfU09V UkNFXzAsIEZSRUVfU09VUkNFXzApOgpSZW1vdmUuICBBbGwgdXNlcyByZW1vdmVkLgooTElC X0NMT0NLX0dFVFRJTUUsIExJQl9OQU5PU0xFRVApOiBOZXcgbWFjcm9zLgooTU9EVUxFX0NG TEFHUyk6IERvIG5vdCAtSSBmcm9tIGxpYiBhcyB0aGF0IHdvdWxkIGluY2x1ZGUgR251bGli Cm1vZGlmaWNhdGlvbnMgdG8gc3RhbmRhcmQgLmggZmlsZXMgKGUuZy4sICIjZGVmaW5lIG5h bm9zbGVlcApycGxfbmFub3NsZWVwIikgYW5kIHdlIGRvbuKAmXQgd2FudCB0aGUgR251bGli IHJlcGxhY2VtZW50cy4KSW5zdGVhZCwgZm9yIGdtcC5oIChvbiBwbGF0Zm9ybXMgbGFja2lu ZyA8Z21wLmg+KSBzaW1wbHkgJy1JLicKd2l0aCBhIHN1aXRhYmxlIGdtcC5oLgooZ21wLmgp OiBOZXcgcnVsZSB0byBjcmVhdGUgYSBzdWl0YWJsZSBnbXAuaC4KKCQodGVzdF9tb2R1bGUp KTogRGVwZW5kIG9uIGNvbmZpZy5oIHNpbmNlIHRoZSBjb2RlIHVzZXMgY29uZmlnLmguCkRl cGVuZCBvbiBnbXAuaCBpZiB3ZSBuZWVkIHRvIGNyZWF0ZSBhIHN1aXRhYmxlIG9uZS4KSWYg Y29tcGlsaW5nIG1pbmktZ21wLmgsIGNvbXBpbGUgdGhlIG9yaWdpbmFsIG9uZSBhbmQgbm90 CnRoZSBFbWFjcy1zcGVjaWZpYyBvbmUsIHRvIGxlc3NlbiBjb3VwbGluZyB3aXRoIEVtYWNz IGludGVybmFscy4KTGluayB3aXRoIExJQl9DTE9DS19HRVRUSU1FIGFuZCBMSUJfTkFOT1NM RUVQLgooY2xlYW4pOiBSZW1vdmUgZ21wLmguCiogdGVzdC9zcmMvZW1hY3MtbW9kdWxlLXJl c291cmNlcy9tb2QtdGVzdC5jOiBEb27igJl0IGluY2x1ZGUgdGltZXNwZWMuaC4KQWxsIHVz ZXMgb2YgdGltZXNwZWMuaCBBUElzIGNoYW5nZWQgdG8gdXNlIHN5c3RlbS1zdXBwbGllZCBB UElzLgpDaGFuZ2UgX1N0YXRpY19hc3NlcnQgdG8gcGxhaW4gYXNzZXJ0LCBzbyB0aGF0IHdl IG5lZWRu4oCZdCByZWx5Cm9uIEdudWxpYuKAmXMgX1N0YXRpY19hc3NlcnQuCih0aW1lc3Bl Y19sZSkgW0NMT0NLX1JFQUxUSU1FXTogTmV3IGZ1bmN0aW9uLgpDaGFuZ2UgdXNlIG9mIHRp bWVzcGVjX2NtcCBjaGFuZ2VkIHRvIHVzZSB0aGlzIGluc3RlYWQuCihGbW9kX3Rlc3Rfc2xl ZXBfdW50aWwsIEZtb2RfdGVzdF9uYW5vc2Vjb25kcyk6CkRlZmluZSB0aGVzZSBmdW5jdGlv bnMgYW5kIHRoZWlyIExpc3AgbmFtZXMgbW9kLXRlc3Qtc2xlZXAtdW50aWwKYW5kIG1vZC10 ZXN0LW5hbm9zZWNvbmRzIG9ubHkgaWYgQ0xPQ0tfUkVBTFRJTUUsCnNpbmNlIHRoZXkgbm93 IHdvbuKAmXQgd29yayBvbiBwbGF0Zm9ybXMgbGFja2luZyBDTE9DS19SRUFMVElNRS4KKEZt b2RfdGVzdF9uYW5vc2Vjb25kcyk6IEp1c3QgdXNlIF9TdGF0aWNfYXNzZXJ0IHNpbmNlIGl0 CnNob3VsZCB3b3JrIG9uIGFsbCBwbGF0Zm9ybXMuCiogdGVzdC9zcmMvZW1hY3MtbW9kdWxl LXRlc3RzLmVsIChtb2QtdGVzdC1zbGVlcC11bnRpbCkKKG1vZC10ZXN0LW5hbm9zZWNvbmRz LCBtb2QtdGVzdC1kb3VibGUpOgpTa2lwIHRlc3QgaWYgdGhlIGNvcnJlc3BvbmRpbmcgZnVu Y3Rpb25lIGlzIG5vdCBkZWZpbmVkLgotLS0KIHNyYy9NYWtlZmlsZS5pbiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAzICstCiB0ZXN0L01ha2VmaWxlLmluICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAyMiArKysrKystLS0tLS0KIHRlc3Qvc3JjL2VtYWNzLW1vZHVs ZS1yZXNvdXJjZXMvbW9kLXRlc3QuYyB8IDQyICsrKysrKysrKysrKysrLS0tLS0tLS0KIHRl c3Qvc3JjL2VtYWNzLW1vZHVsZS10ZXN0cy5lbCAgICAgICAgICAgICB8ICAzICsrCiA0IGZp bGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9NYWtlZmlsZS5pbiBiL3NyYy9NYWtlZmlsZS5pbgppbmRleCAzMzUzZmIx NmQ3Li4yYjdjNGJiMzE2IDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUuaW4KKysrIGIvc3Jj L01ha2VmaWxlLmluCkBAIC0xNDYsNiArMTQ2LDcgQEAgTTE3Tl9GTFRfTElCUyA9CiBMSUJf QUNMPUBMSUJfQUNMQAogTElCX0NMT0NLX0dFVFRJTUU9QExJQl9DTE9DS19HRVRUSU1FQAog TElCX0VBQ0NFU1M9QExJQl9FQUNDRVNTQAorTElCX05BTk9TTEVFUD1ATElCX05BTk9TTEVF UEAKIExJQl9USU1FUl9USU1FPUBMSUJfVElNRVJfVElNRUAKIAogREJVU19DRkxBR1MgPSBA REJVU19DRkxBR1NACkBAIC01NDgsNyArNTQ5LDcgQEAgbGlzcCA9CiBMSUJFUyA9ICQoTElC UykgJChXMzJfTElCUykgJChMSUJTX0dOVVNURVApICQoUEdUS19MSUJTKSAkKExJQlhfQkFT RSkgJChMSUJJTUFHRSkgXAogICAgJChMSUJYX09USEVSKSAkKExJQlNPVU5EKSBcCiAgICAk KFJTVkdfTElCUykgJChJTUFHRU1BR0lDS19MSUJTKSAkKExJQl9BQ0wpICQoTElCX0NMT0NL X0dFVFRJTUUpIFwKLSAgICQoV0VCS0lUX0xJQlMpIFwKKyAgICQoTElCX05BTk9TTEVFUCkg JChXRUJLSVRfTElCUykgXAogICAgJChMSUJfRUFDQ0VTUykgJChMSUJfVElNRVJfVElNRSkg JChEQlVTX0xJQlMpIFwKICAgICQoTElCX0VYRUNJTkZPKSAkKFhSQU5EUl9MSUJTKSAkKFhJ TkVSQU1BX0xJQlMpICQoWEZJWEVTX0xJQlMpIFwKICAgICQoWERCRV9MSUJTKSAkKFhTWU5D X0xJQlMpIFwKZGlmZiAtLWdpdCBhL3Rlc3QvTWFrZWZpbGUuaW4gYi90ZXN0L01ha2VmaWxl LmluCmluZGV4IDc5ZDNkY2Y5MmYuLjNiNmUxMTZlNjUgMTAwNjQ0Ci0tLSBhL3Rlc3QvTWFr ZWZpbGUuaW4KKysrIGIvdGVzdC9NYWtlZmlsZS5pbgpAQCAtNDksOCArNDksNiBAQCBTRVBD SEFSID0KIAogSEFWRV9OQVRJVkVfQ09NUCA9IEBIQVZFX05BVElWRV9DT01QQAogCi1SRVBM QUNFX0ZSRUUgPSBAUkVQTEFDRV9GUkVFQAotCiAtaW5jbHVkZSAke3RvcF9idWlsZGRpcn0v c3JjL3ZlcmJvc2UubWsKIAogIyBXZSBuZXZlciBjaGFuZ2UgZGlyZWN0b3J5IGJlZm9yZSBy dW5uaW5nIEVtYWNzLCBzbyBhIHJlbGF0aXZlIGZpbGUKQEAgLTI2NSwyNyArMjYzLDI5IEBA IEZQSUNfQ0ZMQUdTID0KIAogR01QX0ggPSBAR01QX0hACiBMSUJHTVAgPSBATElCR01QQAor TElCX0NMT0NLX0dFVFRJTUUgPSBATElCX0NMT0NLX0dFVFRJTUVACitMSUJfTkFOT1NMRUVQ ID0gQExJQl9OQU5PU0xFRVBACiAKLU1PRFVMRV9DRkxBR1MgPSAtSS4uL3NyYyAtSSQoc3Jj ZGlyKS8uLi9zcmMgLUkuLi9saWIgLUkkKHNyY2RpcikvLi4vbGliIFwKK01PRFVMRV9DRkxB R1MgPSAkKGFuZCAkKEdNUF9IKSwtSS4pIC1JLi4vc3JjIC1JJChzcmNkaXIpLy4uL3NyYyBc CiAgICQoRlBJQ19DRkxBR1MpICQoUFJPRklMSU5HX0NGTEFHUykgXAogICAkKFdBUk5fQ0ZM QUdTKSAkKFdFUlJPUl9DRkxBR1MpICQoQ0ZMQUdTKQogCitnbXAuaDoKKwllY2hvICcjaW5j bHVkZSAiJChzcmNkaXIpLy4uL2xpYi9taW5pLWdtcC5oIicgPiRACisKIHRlc3RfbW9kdWxl ID0gJCh0ZXN0X21vZHVsZV9kaXIpL21vZC10ZXN0JHtTT30KIHNyYy9lbWFjcy1tb2R1bGUt dGVzdHMubG9nIHNyYy9lbWFjcy1tb2R1bGUtdGVzdHMuZWxjOiAkKHRlc3RfbW9kdWxlKQog Ci1GUkVFX1NPVVJDRV8wID0KLUZSRUVfU09VUkNFXzEgPSAkKHNyY2RpcikvLi4vbGliL2Zy ZWUuYwotCiAjIEluIHRoZSBjb21waWxhdGlvbiBjb21tYW5kLCB3ZSBjYW4ndCB1c2UgYW55 IG9iamVjdCBvciBhcmNoaXZlIGZpbGUKICMgYXMgc291cmNlIGJlY2F1c2UgdGhvc2UgYXJl IG5vdCBjb21waWxlZCB3aXRoIC1mUElDLiAgVGhlcmVmb3JlIHdlCiAjIHVzZSBvbmx5IHNv dXJjZSBmaWxlcy4KLSQodGVzdF9tb2R1bGUpOiAkKHRlc3RfbW9kdWxlOiR7U099PS5jKSAu Li9zcmMvZW1hY3MtbW9kdWxlLmgKKyQodGVzdF9tb2R1bGUpOiAkKHRlc3RfbW9kdWxlOiR7 U099PS5jKSAuLi9zcmMvZW1hY3MtbW9kdWxlLmggXAorICAuLi9zcmMvY29uZmlnLmggJChh bmQgJChHTVBfSCksZ21wLmgpCiAJJChBTV9WX0NDTEQpJHtNS0RJUl9QfSAkKGRpciAkQCkK IAkkKEFNX1ZfYXQpJChDQykgLXNoYXJlZCAkKENQUEZMQUdTKSAkKE1PRFVMRV9DRkxBR1Mp ICQoTERGTEFHUykgXAogCSAgLW8gJEAgJDwgJChMSUJHTVApIFwKLQkgICQoYW5kICQoR01Q X0gpLCQoc3JjZGlyKS8uLi9saWIvbWluaS1nbXAtZ251bGliLmMpIFwKLQkgICQoRlJFRV9T T1VSQ0VfJChSRVBMQUNFX0ZSRUUpKSBcCi0JICAuLi9saWIvbGliZ251LmEKKwkgICQoYW5k ICQoR01QX0gpLCQoc3JjZGlyKS8uLi9saWIvbWluaS1nbXAuYykgXAorCSAgJChMSUJfQ0xP Q0tfR0VUVElNRSkgJChMSUJfTkFOT1NMRUVQKQogZW5kaWYKIAogc3JjL2VtYWNzLXRlc3Rz LmxvZzogLi4vbGliLXNyYy9zZWNjb21wLWZpbHRlci5jCkBAIC0zNDUsNyArMzQ1LDcgQEAg Y2xlYW46CiAJZmluZCAuICcoJyAtbmFtZSAnKi54bWwnIC1hICEgLXBhdGggJypyZXNvdXJj ZXMqJyAnKScgJChGSU5EX0RFTEVURSkKIAlybSAtZiAke3NyY2Rpcn0vbGlzcC9nbnVzL21t bC1zZWMtcmVzb3VyY2VzL3JhbmRvbV9zZWVkCiAJcm0gLWYgJCh0ZXN0X21vZHVsZV9kaXIp LyoubyAkKHRlc3RfbW9kdWxlX2RpcikvKi5zbyBcCi0JICAkKHRlc3RfbW9kdWxlX2Rpcikv Ki5kbGwKKwkgICQodGVzdF9tb2R1bGVfZGlyKS8qLmRsbCBnbXAuaAogCiBib290c3RyYXAt Y2xlYW46IGNsZWFuCiAJZmluZCAkKHNyY2RpcikgLW5hbWUgJyouZWxjJyAkKEZJTkRfREVM RVRFKQpkaWZmIC0tZ2l0IGEvdGVzdC9zcmMvZW1hY3MtbW9kdWxlLXJlc291cmNlcy9tb2Qt dGVzdC5jIGIvdGVzdC9zcmMvZW1hY3MtbW9kdWxlLXJlc291cmNlcy9tb2QtdGVzdC5jCmlu ZGV4IDAxNWMxZWZkOTcuLjE4N2FmODIxYzIgMTAwNjQ0Ci0tLSBhL3Rlc3Qvc3JjL2VtYWNz LW1vZHVsZS1yZXNvdXJjZXMvbW9kLXRlc3QuYworKysgYi90ZXN0L3NyYy9lbWFjcy1tb2R1 bGUtcmVzb3VyY2VzL21vZC10ZXN0LmMKQEAgLTQ3LDggKzQ3LDYgQEAKICNpbmNsdWRlIDxn bXAuaD4KICNpbmNsdWRlIDxlbWFjcy1tb2R1bGUuaD4KIAotI2luY2x1ZGUgInRpbWVzcGVj LmgiCi0KIGludCBwbHVnaW5faXNfR1BMX2NvbXBhdGlibGU7CiAKICNpZiBJTlRQVFJfTUFY IDw9IDAKQEAgLTc0LDkgKzcyLDYgQEAKICMgZXJyb3IgIklOVFBUUl9NQVggdG9vIGxhcmdl IgogI2VuZGlmCiAKLS8qIFNtb2tlIHRlc3QgdG8gdmVyaWZ5IHRoYXQgRU1BQ1NfTElNQl9N QVggaXMgZGVmaW5lZC4gKi8KLV9TdGF0aWNfYXNzZXJ0ICgwIDwgRU1BQ1NfTElNQl9NQVgs ICJFTUFDU19MSU1CX01BWCBtaXNzaW5nIG9yIGluY29ycmVjdCIpOwotCiAvKiBBbHdheXMg cmV0dXJuIHN5bWJvbCAndCcuICAqLwogc3RhdGljIGVtYWNzX3ZhbHVlCiBGbW9kX3Rlc3Rf cmV0dXJuX3QgKGVtYWNzX2VudiAqZW52LCBwdHJkaWZmX3QgbmFyZ3MsIGVtYWNzX3ZhbHVl IGFyZ3NbXSwKQEAgLTQyMiw2ICs0MTcsMTYgQEAgc2lnbmFsX2Vycm5vIChlbWFjc19lbnYg KmVudiwgY29uc3QgY2hhciAqZnVuY3Rpb24pCiAgIHNpZ25hbF9zeXN0ZW1fZXJyb3IgKGVu diwgZXJybm8sIGZ1bmN0aW9uKTsKIH0KIAorI2lmZGVmIENMT0NLX1JFQUxUSU1FCisKKy8q IFdoZXRoZXIgQSA8PSBCLiAgKi8KK3N0YXRpYyBib29sCit0aW1lc3BlY19sZSAoc3RydWN0 IHRpbWVzcGVjIGEsIHN0cnVjdCB0aW1lc3BlYyBiKQoreworICByZXR1cm4gKGEudHZfc2Vj IDwgYi50dl9zZWMKKwkgIHx8IChhLnR2X3NlYyA9PSBiLnR2X3NlYyAmJiBhLnR2X25zZWMg PD0gYi50dl9uc2VjKSk7Cit9CisKIC8qIEEgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiB0aGF0 IG9jY2FzaW9uYWxseSBjYWxscyBgc2hvdWxkX3F1aXQnIG9yCiAgICBgcHJvY2Vzc19pbnB1 dCcuICAqLwogCkBAIC00MzQsMTEgKzQzOSwxMyBAQCBGbW9kX3Rlc3Rfc2xlZXBfdW50aWwg KGVtYWNzX2VudiAqZW52LCBwdHJkaWZmX3QgbmFyZ3MsIGVtYWNzX3ZhbHVlICphcmdzLAog ICBpZiAoZW52LT5ub25fbG9jYWxfZXhpdF9jaGVjayAoZW52KSkKICAgICByZXR1cm4gTlVM TDsKICAgY29uc3QgYm9vbCBwcm9jZXNzX2lucHV0ID0gZW52LT5pc19ub3RfbmlsIChlbnYs IGFyZ3NbMV0pOwotICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgYW1vdW50ID0gbWFrZV90aW1l c3BlYygwLCAgMTAwMDAwMDApOworICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgYW1vdW50ID0g eyAudHZfbnNlYyA9IDEwMDAwMDAwIH07CiAgIHdoaWxlICh0cnVlKQogICAgIHsKLSAgICAg IGNvbnN0IHN0cnVjdCB0aW1lc3BlYyBub3cgPSBjdXJyZW50X3RpbWVzcGVjICgpOwotICAg ICAgaWYgKHRpbWVzcGVjX2NtcCAobm93LCB1bnRpbCkgPj0gMCkKKyAgICAgIHN0cnVjdCB0 aW1lc3BlYyBub3c7CisgICAgICBpZiAoY2xvY2tfZ2V0dGltZSAoQ0xPQ0tfUkVBTFRJTUUs ICZub3cpICE9IDApCisJcmV0dXJuIE5VTEw7CisgICAgICBpZiAodGltZXNwZWNfbGUgKHVu dGlsLCBub3cpKQogICAgICAgICBicmVhazsKICAgICAgIGlmIChuYW5vc2xlZXAgKCZhbW91 bnQsIE5VTEwpICYmIGVycm5vICE9IEVJTlRSKQogICAgICAgICB7CkBAIC00NTIsNiArNDU5 LDcgQEAgRm1vZF90ZXN0X3NsZWVwX3VudGlsIChlbWFjc19lbnYgKmVudiwgcHRyZGlmZl90 IG5hcmdzLCBlbWFjc192YWx1ZSAqYXJncywKICAgICB9CiAgIHJldHVybiBlbnYtPmludGVy biAoZW52LCAiZmluaXNoZWQiKTsKIH0KKyNlbmRpZgogCiBzdGF0aWMgZW1hY3NfdmFsdWUK IEZtb2RfdGVzdF9hZGRfbmFub3NlY29uZCAoZW1hY3NfZW52ICplbnYsIHB0cmRpZmZfdCBu YXJncywgZW1hY3NfdmFsdWUgKmFyZ3MsCkBAIC01NTMsNiArNTYxLDcgQEAgbWFrZV9iaWdf aW50ZWdlciAoZW1hY3NfZW52ICplbnYsIGNvbnN0IG1wel90IHZhbHVlKQogICByZXR1cm4g cmVzdWx0OwogfQogCisjaWZkZWYgQ0xPQ0tfUkVBTFRJTUUKIHN0YXRpYyBlbWFjc192YWx1 ZQogRm1vZF90ZXN0X25hbm9zZWNvbmRzIChlbWFjc19lbnYgKmVudiwgcHRyZGlmZl90IG5h cmdzLCBlbWFjc192YWx1ZSAqYXJncywgdm9pZCAqZGF0YSkgewogICBhc3NlcnQgKG5hcmdz ID09IDEpOwpAQCAtNTYwLDExICs1NjksNiBAQCBGbW9kX3Rlc3RfbmFub3NlY29uZHMgKGVt YWNzX2VudiAqZW52LCBwdHJkaWZmX3QgbmFyZ3MsIGVtYWNzX3ZhbHVlICphcmdzLCB2b2lk CiAgIG1wel90IG5hbm9zZWNvbmRzOwogICBhc3NlcnQgKExPTkdfTUlOIDw9IHRpbWUudHZf c2VjICYmIHRpbWUudHZfc2VjIDw9IExPTkdfTUFYKTsKICAgbXB6X2luaXRfc2V0X3NpIChu YW5vc2Vjb25kcywgdGltZS50dl9zZWMpOwotI2lmZGVmIF9fTUlOR1czMl9fCi0gIF9TdGF0 aWNfYXNzZXJ0ICgxMDAwMDAwMDAwIDw9IFVMT05HX01BWCwgInVuc3VwcG9ydGVkIGFyY2hp dGVjdHVyZSIpOwotI2Vsc2UKLSAgc3RhdGljX2Fzc2VydCAoMTAwMDAwMDAwMCA8PSBVTE9O R19NQVgsICJ1bnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUiKTsKLSNlbmRpZgogICBtcHpfbXVs X3VpIChuYW5vc2Vjb25kcywgbmFub3NlY29uZHMsIDEwMDAwMDAwMDApOwogICBhc3NlcnQg KDAgPD0gdGltZS50dl9uc2VjICYmIHRpbWUudHZfbnNlYyA8PSBVTE9OR19NQVgpOwogICBt cHpfYWRkX3VpIChuYW5vc2Vjb25kcywgbmFub3NlY29uZHMsIHRpbWUudHZfbnNlYyk7CkBA IC01NzIsNiArNTc2LDcgQEAgRm1vZF90ZXN0X25hbm9zZWNvbmRzIChlbWFjc19lbnYgKmVu diwgcHRyZGlmZl90IG5hcmdzLCBlbWFjc192YWx1ZSAqYXJncywgdm9pZAogICBtcHpfY2xl YXIgKG5hbm9zZWNvbmRzKTsKICAgcmV0dXJuIHJlc3VsdDsKIH0KKyNlbmRpZgogCiBzdGF0 aWMgZW1hY3NfdmFsdWUKIEZtb2RfdGVzdF9kb3VibGUgKGVtYWNzX2VudiAqZW52LCBwdHJk aWZmX3QgbmFyZ3MsIGVtYWNzX3ZhbHVlICphcmdzLApAQCAtNjMxLDcgKzYzNiw3IEBAIHNs ZWVwX2Zvcl9oYWxmX3NlY29uZCAodm9pZCkKICNpZmRlZiBXSU5ET1dTTlQKICAgU2xlZXAg KDUwMCk7CiAjZWxzZQotICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgc2xlZXAgPSB7MCwgNTAw MDAwMDAwfTsKKyAgY29uc3Qgc3RydWN0IHRpbWVzcGVjIHNsZWVwID0geyAudHZfbnNlYyA9 IDUwMDAwMDAwMCB9OwogICBpZiAobmFub3NsZWVwICgmc2xlZXAsIE5VTEwpICE9IDApCiAg ICAgcGVycm9yICgibmFub3NsZWVwIik7CiAjZW5kaWYKQEAgLTc2Myw2ICs3NjgsMTEgQEAg YmluZF9mdW5jdGlvbiAoZW1hY3NfZW52ICplbnYsIGNvbnN0IGNoYXIgKm5hbWUsIGVtYWNz X3ZhbHVlIFNmdW4pCiBpbnQKIGVtYWNzX21vZHVsZV9pbml0IChzdHJ1Y3QgZW1hY3NfcnVu dGltZSAqZXJ0KQogeworICAvKiBUaGVzZSBzbW9rZSB0ZXN0cyBkb24ndCB1c2UgX1N0YXRp Y19hc3NlcnQgYmVjYXVzZSB0b28gbWFueQorICAgICBjb21waWxlcnMgbGFjayBzdXBwb3J0 IGZvciBfU3RhdGljX2Fzc2VydC4gICovCisgIGFzc2VydCAoMCA8IEVNQUNTX0xJTUJfTUFY KTsKKyAgYXNzZXJ0ICgxMDAwMDAwMDAwIDw9IFVMT05HX01BWCk7CisKICAgLyogQ2hlY2sg dGhhdCBFTUFDU19NQUpPUl9WRVJTSU9OIGlzIGRlZmluZWQgYW5kIGFuIGludGVncmFsCiAg ICAgIGNvbnN0YW50LiAgKi8KICAgY2hhciBkdW1teVtFTUFDU19NQUpPUl9WRVJTSU9OXTsK QEAgLTgxNSw5ICs4MjUsMTMgQEAgI2RlZmluZSBERUZVTihsc3ltLCBjc3ltLCBhbWluLCBh bWF4LCBkb2MsIGRhdGEpIFwKICAgREVGVU4gKCJtb2QtdGVzdC1pbnZhbGlkLWxvYWQiLCBG bW9kX3Rlc3RfaW52YWxpZF9sb2FkLCAwLCAwLCBOVUxMLCBOVUxMKTsKICAgREVGVU4gKCJt b2QtdGVzdC1pbnZhbGlkLWZpbmFsaXplciIsIEZtb2RfdGVzdF9pbnZhbGlkX2ZpbmFsaXpl ciwgMCwgMCwKICAgICAgICAgIE5VTEwsIE5VTEwpOworI2lmZGVmIENMT0NLX1JFQUxUSU1F CiAgIERFRlVOICgibW9kLXRlc3Qtc2xlZXAtdW50aWwiLCBGbW9kX3Rlc3Rfc2xlZXBfdW50 aWwsIDIsIDIsIE5VTEwsIE5VTEwpOworI2VuZGlmCiAgIERFRlVOICgibW9kLXRlc3QtYWRk LW5hbm9zZWNvbmQiLCBGbW9kX3Rlc3RfYWRkX25hbm9zZWNvbmQsIDEsIDEsIE5VTEwsIE5V TEwpOworI2lmZGVmIENMT0NLX1JFQUxUSU1FCiAgIERFRlVOICgibW9kLXRlc3QtbmFub3Nl Y29uZHMiLCBGbW9kX3Rlc3RfbmFub3NlY29uZHMsIDEsIDEsIE5VTEwsIE5VTEwpOworI2Vu ZGlmCiAgIERFRlVOICgibW9kLXRlc3QtZG91YmxlIiwgRm1vZF90ZXN0X2RvdWJsZSwgMSwg MSwgTlVMTCwgTlVMTCk7CiAgIERFRlVOICgibW9kLXRlc3QtbWFrZS1mdW5jdGlvbi13aXRo LWZpbmFsaXplciIsCiAgICAgICAgICBGbW9kX3Rlc3RfbWFrZV9mdW5jdGlvbl93aXRoX2Zp bmFsaXplciwgMCwgMCwgTlVMTCwgTlVMTCk7CmRpZmYgLS1naXQgYS90ZXN0L3NyYy9lbWFj cy1tb2R1bGUtdGVzdHMuZWwgYi90ZXN0L3NyYy9lbWFjcy1tb2R1bGUtdGVzdHMuZWwKaW5k ZXggZWM4M2Y5MWYwMC4uMTA5OWZkMDQ2NyAxMDA2NDQKLS0tIGEvdGVzdC9zcmMvZW1hY3Mt bW9kdWxlLXRlc3RzLmVsCisrKyBiL3Rlc3Qvc3JjL2VtYWNzLW1vZHVsZS10ZXN0cy5lbApA QCAtMzM2LDYgKzMzNiw3IEBAIG1vZHVsZS9sb2FkLWhpc3RvcnkKIChlcnQtZGVmdGVzdCBt b2QtdGVzdC1zbGVlcC11bnRpbCAoKQogICAiQ2hlY2sgdGhhdCBgbW9kLXRlc3Qtc2xlZXAt dW50aWwnIGVpdGhlciByZXR1cm5zIG5vcm1hbGx5IG9yIHF1aXRzLgogSW50ZXJhY3RpdmVs eSwgeW91IGNhbiB0cnkgaGl0dGluZyBcXFtrZXlib2FyZC1xdWl0XSB0byBxdWl0LiIKKyAg KHNraXAtdW5sZXNzIChmYm91bmRwICdtb2QtdGVzdC1zbGVlcC11bnRpbCkpCiAgIChkb2xp c3QgKGFyZyAnKG5pbCB0KSkKICAgICA7OyBHdWFyZCBhZ2FpbnN0IHNvbWUgY2FsbGVyIHNl dHRpbmcgYGluaGliaXQtcXVpdCcuCiAgICAgKHdpdGgtbG9jYWwtcXVpdApAQCAtMzkwLDYg KzM5MSw3IEBAIG1vZC10ZXN0LWFkZC1uYW5vc2Vjb25kL2ludmFsaWQKIAogKGVydC1kZWZ0 ZXN0IG1vZC10ZXN0LW5hbm9zZWNvbmRzICgpCiAgICJUZXN0IHRydW5jYXRpb24gd2hlbiBj b252ZXJ0aW5nIHRvIGBzdHJ1Y3QgdGltZXNwZWMnLiIKKyAgKHNraXAtdW5sZXNzIChmYm91 bmRwICdtb2QtdGVzdC1uYW5vc2Vjb25kcykpCiAgIChkb2xpc3QgKHRlc3QtY2FzZSAnKCgw IC4gMCkKICAgICAgICAgICAgICAgICAgICAgICAgKC0xIC4gLTEwMDAwMDAwMDApCiAgICAg ICAgICAgICAgICAgICAgICAgICgoMSAuIDEwMDAwMDAwMDApIC4gMSkKQEAgLTQwOCw2ICs0 MTAsNyBAQCBtb2QtdGVzdC1uYW5vc2Vjb25kcwogICAgICAgICAoc2hvdWxkICg9IChtb2Qt dGVzdC1uYW5vc2Vjb25kcyBpbnB1dCkgZXhwZWN0ZWQpKSkpKSkKIAogKGVydC1kZWZ0ZXN0 IG1vZC10ZXN0LWRvdWJsZSAoKQorICAoc2tpcC11bmxlc3MgKGZib3VuZHAgJ21vZC10ZXN0 LWRvdWJsZSkpCiAgIChkb2xpc3QgKGlucHV0IChsaXN0IDAgMSAyIC0xIDQyIDEyMzQ1Njc4 OTAxMjM0NTY3ODkwCiAgICAgICAgICAgICAgICAgICAgICAgIG1vc3QtcG9zaXRpdmUtZml4 bnVtICgxKyBtb3N0LXBvc2l0aXZlLWZpeG51bSkKICAgICAgICAgICAgICAgICAgICAgICAg bW9zdC1uZWdhdGl2ZS1maXhudW0gKDEtIG1vc3QtbmVnYXRpdmUtZml4bnVtKSkpCi0tIAoy LjM1LjEKCg== --------------Y0M85hF7lRu6Zngtm0noh8kQ--