From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106332 invoked by alias); 21 Sep 2015 21:03:19 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 105516 invoked by uid 89); 21 Sep 2015 21:03:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-wi0-f180.google.com Received: from mail-wi0-f180.google.com (HELO mail-wi0-f180.google.com) (209.85.212.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 21 Sep 2015 21:03:16 +0000 Received: by wiclk2 with SMTP id lk2so129997952wic.1 for ; Mon, 21 Sep 2015 14:03:13 -0700 (PDT) X-Received: by 10.194.79.196 with SMTP id l4mr27681617wjx.93.1442869393033; Mon, 21 Sep 2015 14:03:13 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.186.214 with HTTP; Mon, 21 Sep 2015 14:02:33 -0700 (PDT) From: =?UTF-8?B?TWFudWVsIEzDs3Blei1JYsOhw7Fleg==?= Date: Mon, 21 Sep 2015 21:42:00 -0000 Message-ID: Subject: [PATCH tree-inline v2] do not say "called from here" with UNKNOWN_LOCATION To: Gcc Patch List , Richard Biener Content-Type: multipart/mixed; boundary=047d7beb9f6ea1de1405204835ba X-SW-Source: 2015-09/txt/msg01611.txt.bz2 --047d7beb9f6ea1de1405204835ba Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 1465 In https://sourceware.org/ml/libc-alpha/2014-12/msg00300.html, we give a "called from here" note without actually having a location, which looks strange. I haven't been able to generate such a testcase. If this happens, try to at least point to the current function being called. If that locatio= n is also unknown, skip the extra note. gcc/ChangeLog: 2015-09-21 Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez * tree-inline.c (expand_call_inline): Use inform for extra note. Do not give a note with UNKNOWN_LOCATION. Replace input_location with gimple_location (stmt). Use true instead of TRUE. gcc/testsuite/ChangeLog: 2015-09-21 Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez * gcc.target/i386/inline_error.c (int bar): Use dg-message for note. * gcc.target/i386/pr57756.c (static __inline int caller): Likewise. * gcc.target/i386/pr59789.c (f1): Likewise. * gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise. * gcc.target/i386/intrinsics_6.c: Likewise. * gcc.dg/winline-5.c (int t): Likewise. * gcc.dg/winline-9.c (t): Likewise. * gcc.dg/always_inline2.c (q): Likewise. * gcc.dg/winline-2.c (inline int t): Likewise. * gcc.dg/winline-6.c: Likewise. * gcc.dg/winline-10.c (void g): Likewise. * gcc.dg/pr49243.c (void parse): Likewise. * gcc.dg/always_inline3.c (q2): Likewise. * gcc.dg/winline-3.c: Likewise. * gcc.dg/winline-7.c (inline void *t): Likewise. --047d7beb9f6ea1de1405204835ba Content-Type: text/plain; charset=US-ASCII; name="winline.diff" Content-Disposition: attachment; filename="winline.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ieuewf4y0 Content-length: 15295 SW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lubGluZV9l cnJvci5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L2lubGluZV9lcnJvci5jCShyZXZpc2lvbiAy Mjc5NjUpCisrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbmxp bmVfZXJyb3IuYwkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAgZm9v ICgpIC8qIHsgZGctZXJyb3IgImlubGluaW5nIGZhaWxlZCBpbgogICByZXR1 cm4gMDsKIH0KIAogaW50IGJhcigpCiB7Ci0gIHJldHVybiBmb28gKCk7IC8q IHsgZGctZXJyb3IgImNhbGxlZCBmcm9tIGhlcmUiIH0gKi8KKyAgcmV0dXJu IGZvbyAoKTsgLyogeyBkZy1tZXNzYWdlICJjYWxsZWQgZnJvbSBoZXJlIiB9 ICovCiB9CkluZGV4OiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9w cjU3NzU2LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1Nzc1Ni5jCShyZXZpc2lvbiAyMjc5 NjUpCisrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU3NzU2 LmMJKHdvcmtpbmcgY29weSkKQEAgLTksMTEgKzksMTEgQEAgX19pbmxpbmUg aW50IGNhbGxlZSAoKSAvKiB7IGRnLWVycm9yICJpbgogfQogCiBfX2F0dHJp YnV0ZV9fKCh0YXJnZXQoInNzZSIpKSkKIHN0YXRpYyBfX2lubGluZSBpbnQg Y2FsbGVyICgpCiB7Ci0gIHJldHVybiBjYWxsZWUoKTsgLyogeyBkZy1lcnJv ciAiY2FsbGVkIGZyb20gaGVyZSIgfSAgKi8KKyAgcmV0dXJuIGNhbGxlZSgp OyAvKiB7IGRnLW1lc3NhZ2UgImNhbGxlZCBmcm9tIGhlcmUiIH0gICovCiB9 CiAKIGludCBtYWluICgpCiB7CiAgIHJldHVybiBjYWxsZXIoKTsKSW5kZXg6 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk3ODkuYwo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9wcjU5Nzg5LmMJKHJldmlzaW9uIDIyNzk2NSkKKysrIGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk3ODkuYwkod29ya2luZyBj b3B5KQpAQCAtMTYsNyArMTYsNyBAQCBfbW1fc2V0X2VwaTMyIChpbnQgX19x MywgaW50IF9fcTIsIGludCBfCiAKIAogX19tMTI4aQogZjEodm9pZCkKIHsg LyogeyBkZy1tZXNzYWdlICJ3YXJuaW5nOiBTU0UgdmVjdG9yIHJldHVybiB3 aXRob3V0IFNTRSBlbmFibGVkIGNoYW5nZXMgdGhlIEFCSSIgfSAqLwotICBy ZXR1cm4gX21tX3NldF9lcGkzMiAoMCwgMCwgMCwgMCk7IC8qIHsgZGctZXJy b3IgImNhbGxlZCBmcm9tIGhlcmUiIH0gKi8KKyAgcmV0dXJuIF9tbV9zZXRf ZXBpMzIgKDAsIDAsIDAsIDApOyAvKiB7IGRnLW1lc3NhZ2UgImNhbGxlZCBm cm9tIGhlcmUiIH0gKi8KIH0KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2ludHJpbnNpY3NfNS5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludHJpbnNp Y3NfNS5jCShyZXZpc2lvbiAyMjc5NjUpCisrKyBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9pbnRyaW5zaWNzXzUuYwkod29ya2luZyBjb3B5KQpA QCAtOCw5ICs4LDkgQEAKIAogI2luY2x1ZGUgPHNtbWludHJpbi5oPgogCiBf X20xMjhpIGZvbyhfX20xMjhpICpWKQogewotICAgIHJldHVybiBfbW1fc3Ry ZWFtX2xvYWRfc2kxMjgoVik7IC8qIHsgZGctZXJyb3IgImNhbGxlZCBmcm9t IGhlcmUiIH0gKi8KKyAgICByZXR1cm4gX21tX3N0cmVhbV9sb2FkX3NpMTI4 KFYpOyAvKiB7IGRnLW1lc3NhZ2UgImNhbGxlZCBmcm9tIGhlcmUiIH0gKi8K IH0KIAogLyogeyBkZy1wcnVuZS1vdXRwdXQgIi4qaW5saW5pbmcgZmFpbGVk LioiIH0gICovCkluZGV4OiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9pbnRyaW5zaWNzXzYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbnRyaW5zaWNzXzYuYwko cmV2aXNpb24gMjI3OTY1KQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvaW50cmluc2ljc182LmMJKHdvcmtpbmcgY29weSkKQEAgLTgsOSAr OCw5IEBACiAKICNpbmNsdWRlIDxzbW1pbnRyaW4uaD4KIAogX19tMTI4aSBm b28oX19tMTI4aSAqVikKIHsKLSAgICByZXR1cm4gX21tX3N0cmVhbV9sb2Fk X3NpMTI4KFYpOyAvKiB7IGRnLWVycm9yICJjYWxsZWQgZnJvbSBoZXJlIiB9 ICovCisgICAgcmV0dXJuIF9tbV9zdHJlYW1fbG9hZF9zaTEyOChWKTsgLyog eyBkZy1tZXNzYWdlICJjYWxsZWQgZnJvbSBoZXJlIiB9ICovCiB9CiAKIC8q IHsgZGctcHJ1bmUtb3V0cHV0ICIuKmlubGluaW5nIGZhaWxlZC4qIiB9ICAq LwpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvd2lubGluZS01LmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv d2lubGluZS01LmMJKHJldmlzaW9uIDIyNzk2NSkKKysrIGdjYy90ZXN0c3Vp dGUvZ2NjLmRnL3dpbmxpbmUtNS5jCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw3 ICsxNSw3IEBAIGlubGluZSBpbnQgcSh2b2lkKSAvKiB7IGRnLXdhcm5pbmcg ImlubGkKIAliaWcoKTsKIAliaWcoKTsKIH0KIGludCB0ICh2b2lkKQogewot CXJldHVybiBxICgpOwkJIC8qIHsgZGctd2FybmluZyAiY2FsbGVkIGZyb20g aGVyZSIgfSAqLworCXJldHVybiBxICgpOwkJIC8qIHsgZGctbWVzc2FnZSAi Y2FsbGVkIGZyb20gaGVyZSIgfSAqLwogfQpJbmRleDogZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvd2lubGluZS05LmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvd2lubGluZS05LmMJKHJldmlzaW9u IDIyNzk2NSkKKysrIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3dpbmxpbmUtOS5j CSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBAIGludAogdCgpCiB7 CiAgIGlmIChhKQogICAgIGFhKCk7CiAgIGlmIChiKQotICAgIGJiKCk7IAkJ CS8qIHsgZGctd2FybmluZyAiY2FsbGVkIGZyb20gaGVyZSIgIiIgfSAqLwor ICAgIGJiKCk7IAkJCS8qIHsgZGctbWVzc2FnZSAiY2FsbGVkIGZyb20gaGVy ZSIgfSAqLwogfQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYWx3YXlz X2lubGluZTIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVz dHN1aXRlL2djYy5kZy9hbHdheXNfaW5saW5lMi5jCShyZXZpc2lvbiAyMjc5 NjUpCisrKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbHdheXNfaW5saW5lMi5j CSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogLyogeyBkZy1vcHRp b25zICItTzIgLWZnbnU4OS1pbmxpbmUiIH0gKi8KIGlubGluZSBfX2F0dHJp YnV0ZV9fICgoYWx3YXlzX2lubGluZSkpIHZvaWQgdCh2b2lkKTsgLyogeyBk Zy1lcnJvciAiYm9keSBub3QgYXZhaWxhYmxlIiB9ICovCiB2b2lkCiBxKHZv aWQpCiB7Ci0gIHQoKTsgCQkJCS8qIHsgZGctZXJyb3IgImNhbGxlZCBmcm9t IGhlcmUiIH0gKi8KKyAgdCgpOyAJCQkJLyogeyBkZy1tZXNzYWdlICJjYWxs ZWQgZnJvbSBoZXJlIiB9ICovCiB9CkluZGV4OiBnY2MvdGVzdHN1aXRlL2dj Yy5kZy93aW5saW5lLTIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBn Y2MvdGVzdHN1aXRlL2djYy5kZy93aW5saW5lLTIuYwkocmV2aXNpb24gMjI3 OTY1KQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvd2lubGluZS0yLmMJKHdv cmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBACiAvKiB7IGRnLW9wdGlvbnMg Ii1XaW5saW5lIC1PMiAtZmdudTg5LWlubGluZSIgfSAqLwogCiBpbmxpbmUg aW50IHEodm9pZCk7CQkgLyogeyBkZy13YXJuaW5nICJib2R5IG5vdCBhdmFp bGFibGUiICIiIH0gKi8KIGlubGluZSBpbnQgdCh2b2lkKQogewotCXJldHVy biBxKCk7CQkgLyogeyBkZy13YXJuaW5nICJjYWxsZWQgZnJvbSBoZXJlIiAi IiB9ICovCisJcmV0dXJuIHEoKTsJCSAvKiB7IGRnLW1lc3NhZ2UgImNhbGxl ZCBmcm9tIGhlcmUiIH0gKi8KIH0KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL3dpbmxpbmUtNi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdj Yy90ZXN0c3VpdGUvZ2NjLmRnL3dpbmxpbmUtNi5jCShyZXZpc2lvbiAyMjc5 NjUpCisrKyBnY2MvdGVzdHN1aXRlL2djYy5kZy93aW5saW5lLTYuYwkod29y a2luZyBjb3B5KQpAQCAtMTUsNyArMTUsNyBAQCBpbmxpbmUgaW50IHEodm9p ZCkgLyogeyBkZy13YXJuaW5nICJsYXJnCiAJYmlnKCk7CiAJYmlnKCk7CiB9 CiBpbmxpbmUgaW50IHQgKHZvaWQpCiB7Ci0JcmV0dXJuIHEgKCkgKyAxOwkg LyogeyBkZy13YXJuaW5nICJjYWxsZWQgZnJvbSBoZXJlIiB9ICovCisJcmV0 dXJuIHEgKCkgKyAxOwkgLyogeyBkZy1tZXNzYWdlICJjYWxsZWQgZnJvbSBo ZXJlIiB9ICovCiB9CkluZGV4OiBnY2MvdGVzdHN1aXRlL2djYy5kZy93aW5s aW5lLTEwLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvd2lubGluZS0xMC5jCShyZXZpc2lvbiAyMjc5NjUpCisr KyBnY2MvdGVzdHN1aXRlL2djYy5kZy93aW5saW5lLTEwLmMJKHdvcmtpbmcg Y29weSkKQEAgLTksOSArOSw5IEBAIGlubGluZSB2b2lkIGYgKHgpCS8qIHsg ZGctd2FybmluZyAiaW5saW4KICAgYXNtICgiIik7CiB9CiAKIHZvaWQgZyAo c3RydWN0IHMgeCkKIHsKLSAgZiAoeCk7IAkJLyogeyBkZy13YXJuaW5nICJj YWxsZWQgZnJvbSBoZXJlIiAiIiB9ICovCisgIGYgKHgpOyAJCS8qIHsgZGct bWVzc2FnZSAiY2FsbGVkIGZyb20gaGVyZSIgfSAqLwogfQogCiB2b2lkIGYg KGludCB4KTsJCS8qIHsgZGctd2FybmluZyAiZm9sbG93cyBub24tcHJvdG90 eXBlIGRlZmluaXRpb24iIH0gKi8KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL3ByNDkyNDMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2Mv dGVzdHN1aXRlL2djYy5kZy9wcjQ5MjQzLmMJKHJldmlzaW9uIDIyNzk2NSkK KysrIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNDkyNDMuYwkod29ya2luZyBj b3B5KQpAQCAtMTgsOCArMTgsOCBAQCBzdGF0aWMgaW5saW5lIGludCB3cmFw cGVyKGNvbnN0IGNoYXIgKipzCiB9CiAKIHZvaWQgcGFyc2UoY29uc3QgY2hh ciAqZGF0YSkKIHsKICAgICBjb25zdCBjaGFyICpzID0gZGF0YTsKLSAgICBp ZiAoISh3cmFwcGVyKCZzKSA9PSAtMSAmJiAocyAtIGRhdGEpID09IDEpKSAv KiB7IGRnLXdhcm5pbmcgImNhbGxlZCBmcm9tIGhlcmUiIH0gKi8KKyAgICBp ZiAoISh3cmFwcGVyKCZzKSA9PSAtMSAmJiAocyAtIGRhdGEpID09IDEpKSAv KiB7IGRnLW1lc3NhZ2UgImNhbGxlZCBmcm9tIGhlcmUiIH0gKi8KIAlfX2J1 aWx0aW5fYWJvcnQoKTsKIH0KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLmRn L2Fsd2F5c19pbmxpbmUzLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYWx3YXlzX2lubGluZTMuYwkocmV2aXNp b24gMjI3OTY1KQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYWx3YXlzX2lu bGluZTMuYwkod29ya2luZyBjb3B5KQpAQCAtNCw4ICs0LDggQEAgaW50IGRv X3NvbWV0aGluZ19ldmlsICh2b2lkKTsKIGlubGluZSBfX2F0dHJpYnV0ZV9f ICgoYWx3YXlzX2lubGluZSkpIHZvaWQKIHEyKHZvaWQpIC8qIHsgZGctZXJy b3IgInJlY3Vyc2l2ZSBpbmxpbmluZyIgfSAqLwogewogICBpZiAoZG9fc29t ZXRoaW5nX2V2aWwgKCkpCiAgICAgcmV0dXJuOwotICBxMigpOyAJCQkvKiB7 IGRnLWVycm9yICJjYWxsZWQgZnJvbSBoZXJlIiB9ICovCisgIHEyKCk7IAkJ CS8qIHsgZGctbWVzc2FnZSAiY2FsbGVkIGZyb20gaGVyZSIgfSAqLwogICBx MigpOyAvKiBXaXRoIC1PMiB3ZSBkb24ndCB3YXJuIGhlcmUsIGl0IGlzIGVs aW1pbmF0ZWQgYnkgdGFpbCByZWN1cnNpb24uICAqLwogfQpJbmRleDogZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvd2lubGluZS0zLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvd2lubGluZS0zLmMJ KHJldmlzaW9uIDIyNzk2NSkKKysrIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3dp bmxpbmUtMy5jCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw3ICsxNSw3IEBAIGlu bGluZSBpbnQgcSh2b2lkKSAvKiB7IGRnLXdhcm5pbmcgIm1heC0KIAliaWco KTsKIAliaWcoKTsKIH0KIGlubGluZSBpbnQgdCAodm9pZCkKIHsKLQlyZXR1 cm4gcSAoKTsJCSAvKiB7IGRnLXdhcm5pbmcgImNhbGxlZCBmcm9tIGhlcmUi ICIiIH0gKi8KKwlyZXR1cm4gcSAoKTsJCSAvKiB7IGRnLW1lc3NhZ2UgImNh bGxlZCBmcm9tIGhlcmUiIH0gKi8KIH0KSW5kZXg6IGdjYy90ZXN0c3VpdGUv Z2NjLmRnL3dpbmxpbmUtNy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3dpbmxpbmUtNy5jCShyZXZpc2lvbiAy Mjc5NjUpCisrKyBnY2MvdGVzdHN1aXRlL2djYy5kZy93aW5saW5lLTcuYwko d29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgaW5saW5lIHZvaWQgKnEg KHZvaWQpIC8qIHsgZGctd2FybmluZyAiKAogewogCXJldHVybiBhbGxvY2Eg KDEwKTsKIH0KIGlubGluZSB2b2lkICp0ICh2b2lkKQogewotCXJldHVybiBx ICgpOwkJIC8qIHsgZGctd2FybmluZyAiY2FsbGVkIGZyb20gaGVyZSIgfSAq LworCXJldHVybiBxICgpOwkJIC8qIHsgZGctbWVzc2FnZSAiY2FsbGVkIGZy b20gaGVyZSIgfSAqLwogfQpJbmRleDogZ2NjL3RyZWUtaW5saW5lLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3RyZWUtaW5saW5lLmMJKHJl dmlzaW9uIDIyNzk2NSkKKysrIGdjYy90cmVlLWlubGluZS5jCSh3b3JraW5n IGNvcHkpCkBAIC00MzgyLDI3ICs0MzgyLDIwIEBAIGV4cGFuZF9jYWxsX2lu bGluZSAoYmFzaWNfYmxvY2sgYmIsIGdpbXAKICAgaGFzaF9tYXA8dHJlZSwg dHJlZT4gKmRzdDsKICAgaGFzaF9tYXA8dHJlZSwgdHJlZT4gKnN0ID0gTlVM TDsKICAgdHJlZSByZXR1cm5fc2xvdDsKICAgdHJlZSBtb2RpZnlfZGVzdDsK ICAgdHJlZSByZXR1cm5fYm91bmRzID0gTlVMTDsKLSAgbG9jYXRpb25fdCBz YXZlZF9sb2NhdGlvbjsKICAgc3RydWN0IGNncmFwaF9lZGdlICpjZ19lZGdl OwogICBjZ3JhcGhfaW5saW5lX2ZhaWxlZF90IHJlYXNvbjsKICAgYmFzaWNf YmxvY2sgcmV0dXJuX2Jsb2NrOwogICBlZGdlIGU7CiAgIGdpbXBsZV9zdG10 X2l0ZXJhdG9yIGdzaSwgc3RtdF9nc2k7Ci0gIGJvb2wgc3VjY2Vzc2Z1bGx5 X2lubGluZWQgPSBGQUxTRTsKKyAgYm9vbCBzdWNjZXNzZnVsbHlfaW5saW5l ZCA9IGZhbHNlOwogICBib29sIHB1cmdlX2RlYWRfYWJub3JtYWxfZWRnZXM7 CiAgIGdjYWxsICpjYWxsX3N0bXQ7CiAgIHVuc2lnbmVkIGludCBpOwogCi0g IC8qIFNldCBpbnB1dF9sb2NhdGlvbiBoZXJlIHNvIHdlIGdldCB0aGUgcmln aHQgaW5zdGFudGlhdGlvbiBjb250ZXh0Ci0gICAgIGlmIHdlIGNhbGwgaW5z dGFudGlhdGVfZGVjbCBmcm9tIGlubGluYWJsZV9mdW5jdGlvbl9wLiAgKi8K LSAgLyogRklYTUU6IGluc3RhbnRpYXRlX2RlY2wgaXNuJ3QgY2FsbGVkIGJ5 IGlubGluYWJsZV9mdW5jdGlvbl9wLiAgKi8KLSAgc2F2ZWRfbG9jYXRpb24g PSBpbnB1dF9sb2NhdGlvbjsKLSAgaW5wdXRfbG9jYXRpb24gPSBnaW1wbGVf bG9jYXRpb24gKHN0bXQpOwotCiAgIC8qIEZyb20gaGVyZSBvbiwgd2UncmUg b25seSBpbnRlcmVzdGVkIGluIENBTExfRVhQUnMuICAqLwogICBjYWxsX3N0 bXQgPSBkeW5fY2FzdCA8Z2NhbGwgKj4gKHN0bXQpOwogICBpZiAoIWNhbGxf c3RtdCkKICAgICBnb3RvIGVncmVzczsKIApAQCAtNDQ1MiwxMSArNDQ0NSwx NSBAQCBleHBhbmRfY2FsbF9pbmxpbmUgKGJhc2ljX2Jsb2NrIGJiLCBnaW1w CiAJICAvKiBQUiAyMDA5MDIxOC0xXzAuYy4gQm9keSBjYW4gYmUgcHJvdmlk ZWQgYnkgYW5vdGhlciBtb2R1bGUuICovCiAJICAmJiAocmVhc29uICE9IENJ Rl9CT0RZX05PVF9BVkFJTEFCTEUgfHwgIWZsYWdfZ2VuZXJhdGVfbHRvKSkK IAl7CiAJICBlcnJvciAoImlubGluaW5nIGZhaWxlZCBpbiBjYWxsIHRvIGFs d2F5c19pbmxpbmUgJXErRjogJXMiLCBmbiwKIAkJIGNncmFwaF9pbmxpbmVf ZmFpbGVkX3N0cmluZyAocmVhc29uKSk7Ci0JICBlcnJvciAoImNhbGxlZCBm cm9tIGhlcmUiKTsKKwkgIGlmIChnaW1wbGVfbG9jYXRpb24gKHN0bXQpICE9 IFVOS05PV05fTE9DQVRJT04pCisJICAgIGluZm9ybSAoZ2ltcGxlX2xvY2F0 aW9uIChzdG10KSwgImNhbGxlZCBmcm9tIGhlcmUiKTsKKwkgIGVsc2UgaWYg KERFQ0xfU09VUkNFX0xPQ0FUSU9OIChjZnVuLT5kZWNsKSAhPSBVTktOT1dO X0xPQ0FUSU9OKQorCSAgICBpbmZvcm0gKERFQ0xfU09VUkNFX0xPQ0FUSU9O IChjZnVuLT5kZWNsKSwKKyAgICAgICAgICAgICAgICAgICAiY2FsbGVkIGZy b20gdGhpcyBmdW5jdGlvbiIpOwogCX0KICAgICAgIGVsc2UgaWYgKHdhcm5f aW5saW5lCiAJICAgICAgICYmIERFQ0xfREVDTEFSRURfSU5MSU5FX1AgKGZu KQogCSAgICAgICAmJiAhREVDTF9OT19JTkxJTkVfV0FSTklOR19QIChmbikK IAkgICAgICAgJiYgIURFQ0xfSU5fU1lTVEVNX0hFQURFUiAoZm4pCkBAIC00 NDY1LDEzICs0NDYxLDE5IEBAIGV4cGFuZF9jYWxsX2lubGluZSAoYmFzaWNf YmxvY2sgYmIsIGdpbXAKIAkgICAgICAgLyogRG8gbm90IHdhcm4gYWJvdXQg bm90IGlubGluZWQgcmVjdXJzaXZlIGNhbGxzLiAgKi8KIAkgICAgICAgJiYg IWNnX2VkZ2UtPnJlY3Vyc2l2ZV9wICgpCiAJICAgICAgIC8qIEF2b2lkIHdh cm5pbmdzIGR1cmluZyBlYXJseSBpbmxpbmUgcGFzcy4gKi8KIAkgICAgICAg JiYgc3ltdGFiLT5nbG9iYWxfaW5mb19yZWFkeSkKIAl7Ci0JICB3YXJuaW5n IChPUFRfV2lubGluZSwgImlubGluaW5nIGZhaWxlZCBpbiBjYWxsIHRvICVx K0Y6ICVzIiwKLQkJICAgZm4sIF8oY2dyYXBoX2lubGluZV9mYWlsZWRfc3Ry aW5nIChyZWFzb24pKSk7Ci0JICB3YXJuaW5nIChPUFRfV2lubGluZSwgImNh bGxlZCBmcm9tIGhlcmUiKTsKKwkgIGlmICh3YXJuaW5nIChPUFRfV2lubGlu ZSwgImlubGluaW5nIGZhaWxlZCBpbiBjYWxsIHRvICVxK0Y6ICVzIiwKKwkJ ICAgICAgIGZuLCBfKGNncmFwaF9pbmxpbmVfZmFpbGVkX3N0cmluZyAocmVh c29uKSkpKQorCSAgICB7CisJICAgICAgaWYgKGdpbXBsZV9sb2NhdGlvbiAo c3RtdCkgIT0gVU5LTk9XTl9MT0NBVElPTikKKwkJaW5mb3JtIChnaW1wbGVf bG9jYXRpb24gKHN0bXQpLCAiY2FsbGVkIGZyb20gaGVyZSIpOworCSAgICAg IGVsc2UgaWYgKERFQ0xfU09VUkNFX0xPQ0FUSU9OIChjZnVuLT5kZWNsKSAh PSBVTktOT1dOX0xPQ0FUSU9OKQorCQlpbmZvcm0gKERFQ0xfU09VUkNFX0xP Q0FUSU9OIChjZnVuLT5kZWNsKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ImNhbGxlZCBmcm9tIHRoaXMgZnVuY3Rpb24iKTsKKwkgICAgfQogCX0KICAg ICAgIGdvdG8gZWdyZXNzOwogICAgIH0KICAgZm4gPSBjZ19lZGdlLT5jYWxs ZWUtPmRlY2w7CiAgIGNnX2VkZ2UtPmNhbGxlZS0+Z2V0X3VudHJhbnNmb3Jt ZWRfYm9keSAoKTsKQEAgLTQ1MzIsMTEgKzQ1MzMsMTIgQEAgZXhwYW5kX2Nh bGxfaW5saW5lIChiYXNpY19ibG9jayBiYiwgZ2ltcAogICAgICBub3QgcmVm ZXIgdG8gdGhlbSBpbiBhbnkgd2F5IHRvIG5vdCBicmVhayBHQyBmb3IgbG9j YXRpb25zLiAgKi8KICAgaWYgKGdpbXBsZV9ibG9jayAoc3RtdCkpCiAgICAg ewogICAgICAgaWQtPmJsb2NrID0gbWFrZV9ub2RlIChCTE9DSyk7CiAgICAg ICBCTE9DS19BQlNUUkFDVF9PUklHSU4gKGlkLT5ibG9jaykgPSBmbjsKLSAg ICAgIEJMT0NLX1NPVVJDRV9MT0NBVElPTiAoaWQtPmJsb2NrKSA9IExPQ0FU SU9OX0xPQ1VTIChpbnB1dF9sb2NhdGlvbik7CisgICAgICBCTE9DS19TT1VS Q0VfTE9DQVRJT04gKGlkLT5ibG9jaykgCisJPSBMT0NBVElPTl9MT0NVUyAo Z2ltcGxlX2xvY2F0aW9uIChzdG10KSk7CiAgICAgICBwcmVwZW5kX2xleGlj YWxfYmxvY2sgKGdpbXBsZV9ibG9jayAoc3RtdCksIGlkLT5ibG9jayk7CiAg ICAgfQogCiAgIC8qIExvY2FsIGRlY2xhcmF0aW9ucyB3aWxsIGJlIHJlcGxh Y2VkIGJ5IHRoZWlyIGVxdWl2YWxlbnRzIGluIHRoaXMKICAgICAgbWFwLiAg Ki8KQEAgLTQ3OTcsMTQgKzQ3OTgsMTMgQEAgZXhwYW5kX2NhbGxfaW5saW5l IChiYXNpY19ibG9jayBiYiwgZ2ltcAogCiAgIC8qIFVwZGF0ZSBjYWxsZ3Jh cGggaWYgbmVlZGVkLiAgKi8KICAgY2dfZWRnZS0+Y2FsbGVlLT5yZW1vdmUg KCk7CiAKICAgaWQtPmJsb2NrID0gTlVMTF9UUkVFOwotICBzdWNjZXNzZnVs bHlfaW5saW5lZCA9IFRSVUU7CisgIHN1Y2Nlc3NmdWxseV9pbmxpbmVkID0g dHJ1ZTsKIAogIGVncmVzczoKLSAgaW5wdXRfbG9jYXRpb24gPSBzYXZlZF9s b2NhdGlvbjsKICAgcmV0dXJuIHN1Y2Nlc3NmdWxseV9pbmxpbmVkOwogfQog CiAvKiBFeHBhbmQgY2FsbCBzdGF0ZW1lbnRzIHJlYWNoYWJsZSBmcm9tIFNU TVRfUC4KICAgIFdlIGNhbiBvbmx5IGhhdmUgQ0FMTF9FWFBScyBhcyB0aGUg InRvcGxldmVsIiB0cmVlIGNvZGUgb3IgbmVzdGVkCg== --047d7beb9f6ea1de1405204835ba--