From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Improve GDB performance on inferior dlopen calls (Gary Benson, BZ 698001). Date: Sat, 27 Jun 2026 23:55:13 GMT Message-ID: <178260451385.1.13099025116898821364.rpms-gdb-b9aa4c4c7b1d@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: b9aa4c4c7b1db71584032e03d0bee50c13664456 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogYjlhYTRjNGM3YjFkYjcxNTg0MDMyZTAzZDBiZWU1MGMxMzY2 NDQ1NgogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wOC0wOVQxNToxODoyOSswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArMzc4Ly0xIGluIDMgZmlsZShzKQogICAgICAgICAgICBV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jL2I5YWE0YzRj N2IxZGI3MTU4NDAzMmUwM2QwYmVlNTBjMTM2NjQ0NTY/YnJhbmNoPWdkYi0xNy4yLXJlYmFzZS1m NDQKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgSW1wcm92ZSBHREIgcGVyZm9ybWFuY2Ug b24gaW5mZXJpb3IgZGxvcGVuIGNhbGxzIChHYXJ5IEJlbnNvbiwgQlogNjk4MDAxKS4KW3B5dGhv bl0gRml4IGNyYXNoIHdoZW4gcHJldHR5IHByaW50ZXIgZmFpbHMgKFBoaWwgTXVsZG9vbiwgQlog NzEyNzE1KS4KRml4IGNyYXNoIG9uIGludmFsaWQgQysrIG1hbmdsZWQgbmFtZXMgKEJaIDcyOTI4 MykuCgotLS0KZGlmZiAtLWdpdCBhL2dkYi1kbG9wZW4tc2tpcF9pbmxpbmVfZnJhbWVzLXBlcmYu cGF0Y2ggYi9nZGItZGxvcGVuLXNraXBfaW5saW5lX2ZyYW1lcy1wZXJmLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNDFkZDIKLS0tIC9kZXYvbnVsbAorKysgYi9n ZGItZGxvcGVuLXNraXBfaW5saW5lX2ZyYW1lcy1wZXJmLnBhdGNoCkBAIC0wLDAgKzEsOTAgQEAK K2RpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKK2luZGV4IDkxZTBmYzIu LjFkN2M4MDggMTAwNjQ0CistLS0gYS9nZGIvaW5mcnVuLmMKKysrKyBiL2dkYi9pbmZydW4uYwor QEAgLTMxMTEsNiArMzExMSw1NiBAQCBmaWxsX2luX3N0b3BfZnVuYyAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCisgICAgIH0KKyB9CisgCisrLyogQXJndW1lbnQgZm9yIGF0X3NvbGliX2V2ZW50 X2JyZWFrcG9pbnRfaGVscGVyLiAgKi8KKysKKytzdHJ1Y3Qgc29saWJfZXZlbnRfYnJlYWtwb2lu dF9oZWxwZXJfYXJnCisreworKyAgQ09SRV9BRERSIHByZXZfcGM7CisrICBpbnQgc2hsaWJfYnBf Y291bnQ7CisrICBpbnQgb3RoZXJfYnBfY291bnQ7CisrfTsKKysKKysvKiBIZWxwZXIgZm9yIGF0 X3NvbGliX2V2ZW50X2JyZWFrcG9pbnQuICAqLworKworK3N0YXRpYyBpbnQKKythdF9zb2xpYl9l dmVudF9icmVha3BvaW50X2hlbHBlciAoc3RydWN0IGJyZWFrcG9pbnQgKmIsIHZvaWQgKmFyZ3Ap CisreworKyAgc3RydWN0IHNvbGliX2V2ZW50X2JyZWFrcG9pbnRfaGVscGVyX2FyZyAqYXJnCisr ICAgID0gKHN0cnVjdCBzb2xpYl9ldmVudF9icmVha3BvaW50X2hlbHBlcl9hcmcgKikgYXJncDsg CisrICBzdHJ1Y3QgYnBfbG9jYXRpb24gKmxvYzsKKysKKysgIGZvciAobG9jID0gYi0+bG9jOyBs b2M7IGxvYyA9IGxvYy0+bmV4dCkKKysgICAgeworKyAgICAgIGlmIChsb2MtPnBzcGFjZSA9PSBj dXJyZW50X3Byb2dyYW1fc3BhY2UKKysJICAmJiAobG9jLT5hZGRyZXNzID09IHN0b3BfcGMgfHwg bG9jLT5hZGRyZXNzID09IGFyZy0+cHJldl9wYykpCisrCXsKKysJICBpZiAoYi0+dHlwZSA9PSBi cF9zaGxpYl9ldmVudCkKKysJICAgIGFyZy0+c2hsaWJfYnBfY291bnQrKzsKKysJICBlbHNlCisr CSAgICB7CisrCSAgICAgIGFyZy0+b3RoZXJfYnBfY291bnQrKzsKKysJICAgICAgcmV0dXJuIDE7 IC8qIHF1aWNrIGV4aXQgKi8KKysJICAgIH0KKysJfQorKyAgICB9CisrCisrICByZXR1cm4gMDsg LyogY2Fycnkgb24gbG9va2luZyAqLworK30KKysKKysvKiBOb256ZXJvIGlmIHRoZSBsb2NhdGlv biBzdG9wb2VkIGF0IGlzIHRoZSBzaGxpYiBldmVudCBicmVha3BvaW50LiAgKi8KKysKKytzdGF0 aWMgaW50CisrYXRfc29saWJfZXZlbnRfYnJlYWtwb2ludCAoc3RydWN0IGV4ZWN1dGlvbl9jb250 cm9sX3N0YXRlICplY3MpCisreworKyAgc3RydWN0IHNvbGliX2V2ZW50X2JyZWFrcG9pbnRfaGVs cGVyX2FyZyBhcmc7CisrICBhcmcucHJldl9wYyA9IGVjcy0+ZXZlbnRfdGhyZWFkLT5wcmV2X3Bj OworKyAgYXJnLnNobGliX2JwX2NvdW50ID0gYXJnLm90aGVyX2JwX2NvdW50ID0gMDsKKysKKysg IGl0ZXJhdGVfb3Zlcl9icmVha3BvaW50cyAoYXRfc29saWJfZXZlbnRfYnJlYWtwb2ludF9oZWxw ZXIsICZhcmcpOworKworKyAgcmV0dXJuIGFyZy5zaGxpYl9icF9jb3VudCAmJiAhYXJnLm90aGVy X2JwX2NvdW50OworK30KKysKKyAvKiBHaXZlbiBhbiBleGVjdXRpb24gY29udHJvbCBzdGF0ZSB0 aGF0IGhhcyBiZWVuIGZyZXNobHkgZmlsbGVkIGluCisgICAgYnkgYW4gZXZlbnQgZnJvbSB0aGUg aW5mZXJpb3IsIGZpZ3VyZSBvdXQgd2hhdCBpdCBtZWFucyBhbmQgdGFrZQorICAgIGFwcHJvcHJp YXRlIGFjdGlvbi4gICovCitAQCAtMzk2NCwxMSArNDAxNCwyMyBAQCBoYW5kbGVfaW5mZXJpb3Jf ZXZlbnQgKHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQorICAgZWNzLT5yYW5k b21fc2lnbmFsID0gMDsKKyAgIHN0b3BwZWRfYnlfcmFuZG9tX3NpZ25hbCA9IDA7CisgCistICAv KiBIaWRlIGlubGluZWQgZnVuY3Rpb25zIHN0YXJ0aW5nIGhlcmUsIHVubGVzcyB3ZSBqdXN0IHBl cmZvcm1lZCBzdGVwaSBvcgorLSAgICAgbmV4dGkuICBBZnRlciBzdGVwaSBhbmQgbmV4dGksIGFs d2F5cyBzaG93IHRoZSBpbm5lcm1vc3QgZnJhbWUgKG5vdCBhbnkKKy0gICAgIGlubGluZSBmdW5j dGlvbiBjYWxsIHNpdGVzKS4gICovCistICBpZiAoZWNzLT5ldmVudF90aHJlYWQtPmNvbnRyb2wu c3RlcF9yYW5nZV9lbmQgIT0gMSkKKy0gICAgc2tpcF9pbmxpbmVfZnJhbWVzIChlY3MtPnB0aWQp OworKyAgLyogSWYgd2UgaGF2ZSBzdG9wcGVkIGF0IHRoZSBzb2xpYiBldmVudCBicmVha3BvaW50 IGFuZAorKyAgICAgc3RvcF9vbl9zb2xpYl9ldmVudHMgaXMgbm90IHNldCB0aGVuIHdlIGNhbiBh dm9pZCBjYWxsaW5nCisrICAgICBhbnl0aGluZyB0aGF0IGNhbGxzIGZpbmRfcGNfc2VjdGlvbi4g IFRoaXMgc2F2ZXMgYSBsb3QKKysgICAgIG9mIHRpbWUgd2hlbiB0aGUgaW5mZXJpb3IgbG9hZHMg YSBsb3Qgb2Ygc2hhcmVkIGxpYnJhcmllcywKKysgICAgIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBz ZWN0aW9uIG1hcCBnZXRzIHJlZ2VuZXJhdGVkIGV2ZXJ5CisrICAgICB0aW1lIHdlIHN0b3AuICAq LworKyAgaWYgKHN0b3Bfb25fc29saWJfZXZlbnRzCisrICAgICAgfHwgZWNzLT5ldmVudF90aHJl YWQtPnN1c3BlbmQuc3RvcF9zaWduYWwgIT0gVEFSR0VUX1NJR05BTF9UUkFQCisrICAgICAgfHwg c3RvcF9hZnRlcl90cmFwCisrICAgICAgfHwgIWF0X3NvbGliX2V2ZW50X2JyZWFrcG9pbnQgKGVj cykpCisrICAgIHsKKysgICAgICAvKiBIaWRlIGlubGluZWQgZnVuY3Rpb25zIHN0YXJ0aW5nIGhl cmUsIHVubGVzcyB3ZSBqdXN0CisrCSBwZXJmb3JtZWQgc3RlcGkgb3IgbmV4dGkuICBBZnRlciBz dGVwaSBhbmQgbmV4dGksIGFsd2F5cyBzaG93CisrCSB0aGUgaW5uZXJtb3N0IGZyYW1lIChub3Qg YW55IGlubGluZSBmdW5jdGlvbiBjYWxsIHNpdGVzKS4gICovCisrICAgICAgaWYgKGVjcy0+ZXZl bnRfdGhyZWFkLT5jb250cm9sLnN0ZXBfcmFuZ2VfZW5kICE9IDEpCisrCXNraXBfaW5saW5lX2Zy YW1lcyAoZWNzLT5wdGlkKTsKKysgICAgfQorIAorICAgaWYgKGVjcy0+ZXZlbnRfdGhyZWFkLT5z dXNwZW5kLnN0b3Bfc2lnbmFsID09IFRBUkdFVF9TSUdOQUxfVFJBUAorICAgICAgICYmIGVjcy0+ ZXZlbnRfdGhyZWFkLT5jb250cm9sLnRyYXBfZXhwZWN0ZWQKCmRpZmYgLS1naXQgYS9nZGItdXBz dHJlYW0ucGF0Y2ggYi9nZGItdXBzdHJlYW0ucGF0Y2gKaW5kZXggYjczZDRkMi4uYjM4MGMyZiAx MDA2NDQKLS0tIGEvZ2RiLXVwc3RyZWFtLnBhdGNoCisrKyBiL2dkYi11cHN0cmVhbS5wYXRjaApA QCAtOTM3LDMgKzkzNywyODEgQEAgaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAx MS0wNy9tc2cwMDIyNC5odG1sCiAgfTsKICAKICBzdGF0aWMgdm9pZAorCisKKworW3BhdGNoXVtw eXRob25dIEZpeCBzaWdzZWd2IHdoZW4gYSBwcmludGVyIGZhaWxzIHRvIHJldHVybiBhIHZhbHVl IGFuZCBzdHJpbmdfcHJpbnQgaXMgc2V0LgoraHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1w YXRjaGVzLzIwMTEtMDcvbXNnMDA3MTkuaHRtbAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dk Yi1jdnMvMjAxMS0wNy9tc2cwMDIzNC5odG1sCisKKyMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDEx LzA3LzI3IDE5OjMxOjMwCTEuMTMyMzYKKyMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDExLzA3LzI4 IDEwOjM2OjM3CTEuMTMyMzcKKyMjIC0xLDMgKzEsOCBAQAorKzIwMTEtMDctMjggIFBoaWwgTXVs ZG9vbiAgPHBtdWxkb29uQHJlZGhhdC5jb20+CisrCisrCSogdmFyb2JqLmMgKHZhbHVlX2dldF9w cmludF92YWx1ZSk6IE1vdmUgaGludCBjaGVjayBsYXRlciBpbnRvIHRoZQorKwlmdW5jdGlvbi4g IENvbW1lbnQgZnVuY3Rpb24uICBGcmVlIHRoZXZhbHVlIGJlZm9yZSByZXVzaW5nIGl0LgorKwor IDIwMTEtMDctMjcgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4K KyAJICAgIFBlZHJvIEFsdmVzICA8cGVkcm9AY29kZXNvdXJjZXJ5LmNvbT4KKyAKKy0tLSBzcmMv Z2RiL3Zhcm9iai5jCTIwMTEvMDcvMTggMDk6MjE6NDMJMS4xODAKKysrKyBzcmMvZ2RiL3Zhcm9i ai5jCTIwMTEvMDcvMjggMTA6MzY6NDAJMS4xODEKK0BAIC0yNjEwLDI1ICsyNjEwLDIxIEBACisg CisgCWlmIChQeU9iamVjdF9IYXNBdHRyICh2YWx1ZV9mb3JtYXR0ZXIsIGdkYnB5X3RvX3N0cmlu Z19jc3QpKQorIAkgIHsKKy0JICAgIGNoYXIgKmhpbnQ7CisgCSAgICBzdHJ1Y3QgdmFsdWUgKnJl cGxhY2VtZW50OworIAkgICAgUHlPYmplY3QgKm91dHB1dCA9IE5VTEw7CisgCistCSAgICBoaW50 ID0gZ2RicHlfZ2V0X2Rpc3BsYXlfaGludCAodmFsdWVfZm9ybWF0dGVyKTsKKy0JICAgIGlmICho aW50KQorLQkgICAgICB7CistCQlpZiAoIXN0cmNtcCAoaGludCwgInN0cmluZyIpKQorLQkJICBz dHJpbmdfcHJpbnQgPSAxOworLQkJeGZyZWUgKGhpbnQpOworLQkgICAgICB9CistCisgCSAgICBv dXRwdXQgPSBhcHBseV92YXJvYmpfcHJldHR5X3ByaW50ZXIgKHZhbHVlX2Zvcm1hdHRlciwKKyAJ CQkJCQkgICZyZXBsYWNlbWVudCwKKyAJCQkJCQkgIHN0Yik7CisrCisrCSAgICAvKiBJZiB3ZSBo YXZlIHN0cmluZyBsaWtlIG91dHB1dCAuLi4gICovCisgCSAgICBpZiAob3V0cHV0KQorIAkgICAg ICB7CisgCQltYWtlX2NsZWFudXBfcHlfZGVjcmVmIChvdXRwdXQpOworIAorKwkJLyogSWYgdGhp cyBpcyBhIGxhenkgc3RyaW5nLCBleHRyYWN0IGl0LiAgRm9yIGxhenkKKysJCSAgIHN0cmluZ3Mg d2UgYWx3YXlzIHByaW50IGFzIGEgc3RyaW5nLCBzbyBzZXQKKysJCSAgIHN0cmluZ19wcmludC4g ICovCisgCQlpZiAoZ2RicHlfaXNfbGF6eV9zdHJpbmcgKG91dHB1dCkpCisgCQkgIHsKKyAJCSAg ICBnZGJweV9leHRyYWN0X2xhenlfc3RyaW5nIChvdXRwdXQsICZzdHJfYWRkciwgJnR5cGUsCitA QCAtMjYzOCwxMiArMjYzNCwyNyBAQAorIAkJICB9CisgCQllbHNlCisgCQkgIHsKKysJCSAgICAv KiBJZiBpdCBpcyBhIHJlZ3VsYXIgKG5vbi1sYXp5KSBzdHJpbmcsIGV4dHJhY3QKKysJCSAgICAg ICBpdCBhbmQgY29weSB0aGUgY29udGVudHMgaW50byBUSEVWQUxVRS4gIElmIHRoZQorKwkJICAg ICAgIGhpbnQgc2F5cyB0byBwcmludCBpdCBhcyBhIHN0cmluZywgc2V0CisrCQkgICAgICAgc3Ry aW5nX3ByaW50LiAgT3RoZXJ3aXNlIGp1c3QgcmV0dXJuIHRoZSBleHRyYWN0ZWQKKysJCSAgICAg ICBzdHJpbmcgYXMgYSB2YWx1ZS4gICovCisrCisgCQkgICAgUHlPYmplY3QgKnB5X3N0cgorIAkJ ICAgICAgPSBweXRob25fc3RyaW5nX3RvX3RhcmdldF9weXRob25fc3RyaW5nIChvdXRwdXQpOwor IAorIAkJICAgIGlmIChweV9zdHIpCisgCQkgICAgICB7CisgCQkJY2hhciAqcyA9IFB5U3RyaW5n X0FzU3RyaW5nIChweV9zdHIpOworKwkJCWNoYXIgKmhpbnQ7CisrCisrCQkJaGludCA9IGdkYnB5 X2dldF9kaXNwbGF5X2hpbnQgKHZhbHVlX2Zvcm1hdHRlcik7CisrCQkJaWYgKGhpbnQpCisrCQkJ ICB7CisrCQkJICAgIGlmICghc3RyY21wIChoaW50LCAic3RyaW5nIikpCisrCQkJICAgICAgc3Ry aW5nX3ByaW50ID0gMTsKKysJCQkgICAgeGZyZWUgKGhpbnQpOworKwkJCSAgfQorIAorIAkJCWxl biA9IFB5U3RyaW5nX1NpemUgKHB5X3N0cik7CisgCQkJdGhldmFsdWUgPSB4bWVtZHVwIChzLCBs ZW4gKyAxLCBsZW4gKyAxKTsKK0BAIC0yNjYyLDYgKzI2NzMsOSBAQAorIAkJICAgICAgZ2RicHlf cHJpbnRfc3RhY2sgKCk7CisgCQkgIH0KKyAJICAgICAgfQorKwkgICAgLyogSWYgdGhlIHByaW50 ZXIgcmV0dXJuZWQgYSByZXBsYWNlbWVudCB2YWx1ZSwgc2V0IFZBTFVFCisrCSAgICAgICB0byBS RVBMQUNFTUVOVC4gIElmIHRoZXJlIGlzIG5vdCBhIHJlcGxhY2VtZW50IHZhbHVlLAorKwkgICAg ICAganVzdCB1c2UgdGhlIHZhbHVlIHBhc3NlZCB0byB0aGlzIGZ1bmN0aW9uLiAgKi8KKyAJICAg IGlmIChyZXBsYWNlbWVudCkKKyAJICAgICAgdmFsdWUgPSByZXBsYWNlbWVudDsKKyAJICB9CitA QCAtMjY3MiwxMiArMjY4NiwxOCBAQAorICAgZ2V0X2Zvcm1hdHRlZF9wcmludF9vcHRpb25zICgm b3B0cywgZm9ybWF0X2NvZGVbKGludCkgZm9ybWF0XSk7CisgICBvcHRzLmRlcmVmX3JlZiA9IDA7 CisgICBvcHRzLnJhdyA9IDE7CisrCisrICAvKiBJZiB0aGUgVEhFVkFMVUUgaGFzIGNvbnRlbnRz LCBpdCBpcyBhIHJlZ3VsYXIgc3RyaW5nLiAgKi8KKyAgIGlmICh0aGV2YWx1ZSkKKyAgICAgTEFf UFJJTlRfU1RSSU5HIChzdGIsIHR5cGUsIHRoZXZhbHVlLCBsZW4sIGVuY29kaW5nLCAwLCAmb3B0 cyk7CisgICBlbHNlIGlmIChzdHJpbmdfcHJpbnQpCisrICAgIC8qIE90aGVyd2lzZSwgaWYgc3Ry aW5nX3ByaW50IGlzIHNldCwgYW5kIGl0IGlzIG5vdCBhIHJlZ3VsYXIKKysgICAgICAgc3RyaW5n LCBpdCBpcyBhIGxhenkgc3RyaW5nLiAgKi8KKyAgICAgdmFsX3ByaW50X3N0cmluZyAodHlwZSwg ZW5jb2RpbmcsIHN0cl9hZGRyLCBsZW4sIHN0YiwgJm9wdHMpOworICAgZWxzZQorKyAgICAvKiBB bGwgb3RoZXIgY2FzZXMuICAqLworICAgICBjb21tb25fdmFsX3ByaW50ICh2YWx1ZSwgc3RiLCAw LCAmb3B0cywgY3VycmVudF9sYW5ndWFnZSk7CisrCisgICB0aGV2YWx1ZSA9IHVpX2ZpbGVfeHN0 cmR1cCAoc3RiLCBOVUxMKTsKKyAKKyAgIGRvX2NsZWFudXBzIChvbGRfY2hhaW4pOworIyMjIHNy Yy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDExLzA3LzI3IDIxOjE4OjM5CTEuMjgxNgorIyMj IHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDExLzA3LzI4IDEwOjM2OjQwCTEuMjgxNwor IyMgLTEsMyArMSwxMCBAQAorKzIwMTEtMDctMjggIFBoaWwgTXVsZG9vbiAgPHBtdWxkb29uQHJl ZGhhdC5jb20+CisrCisrCSogZ2RiLnB5dGhvbi9weS1taS5leHA6IFRlc3QgcHJpbnRlcnMgcmV0 dXJuaW5nIHN0cmluZyBoaW50LCBhbmQKKysJYWxzbyBub3QgcmV0dXJuaW5nIGEgdmFsdWUuCisr CSogZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5jOiBBZGQgdGVzdGNhc2UgZm9yIGFib3ZlLgor KwkqIGdkYi5weXRob24vcHktcHJldHR5cHJpbnQucHk6IEFkZCB0ZXN0IHByaW50ZXIgZm9yIGFi b3ZlLgorKworIDIwMTEtMDctMjcgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KKyAKKyAJKiBnZGIuZHdhcmYyL2R3Mi1zaW1wbGUtbG9jZGVzYy5TOiBDaGFuZ2Ug RFdBUkYgdmVyc2lvbiB0byAzLgorLS0tIHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt bWkuZXhwCTIwMTEvMDcvMjYgMTg6Mzg6NTUJMS4xMworKysrIHNyYy9nZGIvdGVzdHN1aXRlL2dk Yi5weXRob24vcHktbWkuZXhwCTIwMTEvMDcvMjggMTA6MzY6NDAJMS4xNAorQEAgLTI4NCw2ICsy ODQsMTMgQEAgbWlfbGlzdF92YXJvYmpfY2hpbGRyZW4gbnN0eXBlMiB7CisgICAgIHsge25zdHlw ZTIuPGVycm9yIGF0IDA+fSB7PGVycm9yIGF0IDA+fSA2IHtjaGFyIFxbNlxdfSB9CisgfSAibGlz dCBjaGlsZHJlbiBhZnRlciBzZXR0aW5nIGV4Y2VwdGlvbiBmbGFnIgorIAorK21pX2NyZWF0ZV92 YXJvYmogbWUgbWUgXAorKyAgImNyZWF0ZSBtZSB2YXJvYmoiCisrCisrbWlfZ2RiX3Rlc3QgIi12 YXItZXZhbHVhdGUtZXhwcmVzc2lvbiBtZSIgXAorKwkiXFxeZG9uZSx2YWx1ZT1cIjxlcnJvciBy ZWFkaW5nIHZhcmlhYmxlOiBDYW5ub3QgYWNjZXNzIG1lbW9yeS4+LipcIiIgXAorKwkiZXZhbHVh dGUgbWUgdmFyb2JqIgorKworICMgQysrIE1JIHRlc3RzCisgZ2RiX2V4aXQKKyBpZiAgeyBbZ2Ri X2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIFwK Ky0tLSBzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMS8w NC8yOSAxMjo0NTo0NgkxLjEyCisrKysgc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1w cmV0dHlwcmludC5jCTIwMTEvMDcvMjggMTA6MzY6NDAJMS4xMworQEAgLTE0OSw2ICsxNDksMTEg QEAKKyAKKyB0eXBlZGVmIHN0cnVjdCBqdXN0Y2hpbGRyZW4gbm9zdHJpbmdfdHlwZTsKKyAKKytz dHJ1Y3QgbWVtb3J5X2Vycm9yCisreworKyAgY29uc3QgY2hhciAqczsKKyt9OworKworIHN0cnVj dCBjb250YWluZXIKKyB7CisgICBzdHJpbmcgbmFtZTsKK0BAIC0yMjcsNiArMjMyLDcgQEAKKyAg IC8qIENsZWFyaW5nIGJ5IGJlaW5nIGBzdGF0aWMnIGNvdWxkIGludm9rZSBhbiBvdGhlciBHREIg QysrIGJ1Zy4gICovCisgICBzdHJ1Y3QgbnVsbHN0ciBudWxsc3RyOworICAgbm9zdHJpbmdfdHlw ZSBuc3R5cGUsIG5zdHlwZTI7CisrICBzdHJ1Y3QgbWVtb3J5X2Vycm9yIG1lOworICAgc3RydWN0 IG5zIG5zLCBuczI7CisgICBzdHJ1Y3QgbGF6eXN0cmluZyBlc3RyaW5nLCBlc3RyaW5nMjsKKyAg IHN0cnVjdCBoaW50X2Vycm9yIGhpbnRfZXJyb3I7CitAQCAtMjM0LDYgKzI0MCw4IEBACisgICBu c3R5cGUuZWxlbWVudHMgPSBuYXJyYXk7CisgICBuc3R5cGUubGVuID0gMDsKKyAKKysgIG1lLnMg PSAiYmxhaCI7CisrCisgICBpbml0X3NzKCZzcywgMSwgMik7CisgICBpbml0X3NzKHNzYSswLCAz LCA0KTsKKyAgIGluaXRfc3Moc3NhKzEsIDUsIDYpOworLS0tIHNyYy9nZGIvdGVzdHN1aXRlL2dk Yi5weXRob24vcHktcHJldHR5cHJpbnQucHkJMjAxMS8wNC8xMSAxNzo0MDo0MQkxLjExCisrKysg c3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5weQkyMDExLzA3LzI4 IDEwOjM2OjQwCTEuMTIKK0BAIC0xNyw2ICsxNyw3IEBACisgIyBwcmludGVycy4KKyAKKyBpbXBv cnQgcmUKKytpbXBvcnQgZ2RiCisgCisgIyBUZXN0IHJldHVybmluZyBhIFZhbHVlIGZyb20gYSBw cmludGVyLgorIGNsYXNzIHN0cmluZ19wcmludDoKK0BAIC0xODYsNiArMTg3LDE4IEBACisgICAg ICAgICB5aWVsZCAncycsIHNlbGYudmFsWydzJ10KKyAgICAgICAgIHlpZWxkICd4Jywgc2VsZi52 YWxbJ3gnXQorIAorK2NsYXNzIE1lbW9yeUVycm9yU3RyaW5nOgorKyAgICAiUmFpc2UgYW4gZXJy b3IiCisrCisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWwpOgorKyAgICAgICAgc2VsZi52YWwg PSB2YWwKKysKKysgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKKysgICAgICAgIHJhaXNlIGdkYi5N ZW1vcnlFcnJvciAoIkNhbm5vdCBhY2Nlc3MgbWVtb3J5LiIpOworKworKyAgICBkZWYgZGlzcGxh eV9oaW50IChzZWxmKToKKysgICAgICAgIHJldHVybiAnc3RyaW5nJworKworIGRlZiBsb29rdXBf ZnVuY3Rpb24gKHZhbCk6CisgICAgICJMb29rLXVwIGFuZCByZXR1cm4gYSBwcmV0dHktcHJpbnRl ciB0aGF0IGNhbiBwcmludCB2YWwuIgorIAorQEAgLTI2MSw2ICsyNzQsOCBAQAorICAgICBwcmV0 dHlfcHJpbnRlcnNfZGljdFtyZS5jb21waWxlICgnXnN0cnVjdCBoaW50X2Vycm9yJCcpXSAgPSBw cF9oaW50X2Vycm9yCisgICAgIHByZXR0eV9wcmludGVyc19kaWN0W3JlLmNvbXBpbGUgKCdeaGlu dF9lcnJvciQnKV0gID0gcHBfaGludF9lcnJvcgorIAorKyAgICBwcmV0dHlfcHJpbnRlcnNfZGlj dFtyZS5jb21waWxlICgnXm1lbW9yeV9lcnJvciQnKV0gID0gTWVtb3J5RXJyb3JTdHJpbmcKKysK KyBwcmV0dHlfcHJpbnRlcnNfZGljdCA9IHt9CisgCisgcmVnaXN0ZXJfcHJldHR5X3ByaW50ZXJz ICgpCisKKworCitjb21taXQgODRiZTJiNGQwYTU1Yzk1Njk3YzllY2M3MmJiMzFjMmZiZDMxNjEy NworQXV0aG9yOiBpYW4gPGlhbkAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQ+ CitEYXRlOiAgIFR1ZSBKdWwgMjYgMTQ6Mjg6MjMgMjAxMSArMDAwMAorCisgICAgCSogY3AtZGVt YW5nbGUuYyAoZF9wcmludF9pbml0KTogSW5pdGlhbGl6ZSBwYWNrX2luZGV4IGZpZWxkLgorICAg IAkoZF9wcmludF9jb21wKTogQ2hlY2sgZm9yIE5VTEwgdGVtcGxhdGUgYXJndW1lbnQuCisgICAg CSogdGVzdHN1aXRlL2RlbWFuZ2xlLWV4cGVjdGVkOiBBZGQgdGVzdCBjYXNlLgorICAgIAorICAg IAorICAgIGdpdC1zdm4taWQ6IHN2bitzc2g6Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL3RydW5rQDE3 Njc5MSAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQKKworIyMjIGEvbGliaWJl cnR5L0NoYW5nZUxvZworIyMjIGIvbGliaWJlcnR5L0NoYW5nZUxvZworIyMgLTEsMyArMSw5IEBA CisrMjAxMS0wNy0yNiAgSWFuIExhbmNlIFRheWxvciAgPGlhbnRAZ29vZ2xlLmNvbT4KKysKKysJ KiBjcC1kZW1hbmdsZS5jIChkX3ByaW50X2luaXQpOiBJbml0aWFsaXplIHBhY2tfaW5kZXggZmll bGQuCisrCShkX3ByaW50X2NvbXApOiBDaGVjayBmb3IgTlVMTCB0ZW1wbGF0ZSBhcmd1bWVudC4K KysJKiB0ZXN0c3VpdGUvZGVtYW5nbGUtZXhwZWN0ZWQ6IEFkZCB0ZXN0IGNhc2UuCisrCisgMjAx MS0wNy0yMiAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CisgCisgCVBSIHRh cmdldC80OTgxNworLS0tIGEvbGliaWJlcnR5L2NwLWRlbWFuZ2xlLmMKKysrKyBiL2xpYmliZXJ0 eS9jcC1kZW1hbmdsZS5jCitAQCAtMSw1ICsxLDUgQEAKKyAvKiBEZW1hbmdsZXIgZm9yIGcrKyBW MyBBQkkuCistICAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAy MDA4LCAyMDA5LCAyMDEwCisrICAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2 LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExCisgICAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisgICAgV3JpdHRlbiBieSBJYW4gTGFuY2UgVGF5bG9yIDxpYW5Ad2FzYWJpc3lz dGVtcy5jb20+LgorIAorQEAgLTMzMDYsNiArMzMwNiw3IEBAIGRfcHJpbnRfaW5pdCAoc3RydWN0 IGRfcHJpbnRfaW5mbyAqZHBpLCBkZW1hbmdsZV9jYWxsYmFja3JlZiBjYWxsYmFjaywKKyAgIGRw aS0+bGFzdF9jaGFyID0gJ1wwJzsKKyAgIGRwaS0+dGVtcGxhdGVzID0gTlVMTDsKKyAgIGRwaS0+ bW9kaWZpZXJzID0gTlVMTDsKKysgIGRwaS0+cGFja19pbmRleCA9IDA7CisgICBkcGktPmZsdXNo X2NvdW50ID0gMDsKKyAKKyAgIGRwaS0+Y2FsbGJhY2sgPSBjYWxsYmFjazsKK0BAIC0zODkzLDYg KzM4OTQsMTMgQEAgZF9wcmludF9jb21wIChzdHJ1Y3QgZF9wcmludF9pbmZvICpkcGksIGludCBv cHRpb25zLAorIAkgICAgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqYSA9IGRfbG9va3VwX3Rl bXBsYXRlX2FyZ3VtZW50IChkcGksIHN1Yik7CisgCSAgICBpZiAoYSAmJiBhLT50eXBlID09IERF TUFOR0xFX0NPTVBPTkVOVF9URU1QTEFURV9BUkdMSVNUKQorIAkgICAgICBhID0gZF9pbmRleF90 ZW1wbGF0ZV9hcmd1bWVudCAoYSwgZHBpLT5wYWNrX2luZGV4KTsKKysKKysJICAgIGlmIChhID09 IE5VTEwpCisrCSAgICAgIHsKKysJCWRfcHJpbnRfZXJyb3IgKGRwaSk7CisrCQlyZXR1cm47Cisr CSAgICAgIH0KKysKKyAJICAgIHN1YiA9IGE7CisgCSAgfQorIAorLS0tIGEvbGliaWJlcnR5L3Rl c3RzdWl0ZS9kZW1hbmdsZS1leHBlY3RlZAorKysrIGIvbGliaWJlcnR5L3Rlc3RzdWl0ZS9kZW1h bmdsZS1leHBlY3RlZAorQEAgLTQwMTAsNiArNDAxMCwxMiBAQCBLPDEsICZTOjptPjo6ZigpCisg X1pOMUtJTGkxRVhhZExfWk4xUzFtRUVFRTFmRXYKKyBLPDEsICZTOjptPjo6ZigpCisgIworKyMg VXNlZCB0byBjcmFzaCAtLSBiaW51dGlscyBQUiAxMzAzMC4KKystLWZvcm1hdD1nbnUtdjMKKytf WlN0MTBfQ29uc3RydWN0STEwQ2VsbEJvcmRlcklTMF9FRXZQVF9EcE9UMF8KKytfWlN0MTBfQ29u c3RydWN0STEwQ2VsbEJvcmRlcklTMF9FRXZQVF9EcE9UMF8KKytfWlN0MTBfQ29uc3RydWN0STEw Q2VsbEJvcmRlcklTMF9FRXZQVF9EcE9UMF8KKysjCisgIyBBZGEgKEdOQVQpIHRlc3RzLgorICMK KyAjIFNpbXBsZSB0ZXN0LgoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXgg ZDA3MzJhZi4uY2EwM2Y5MyAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAg LTI3LDcgKzI3LDcgQEAgVmVyc2lvbjogNy4zLjUwLjIwMTEwNzIyCiAKICMgVGhlIHJlbGVhc2Ug YWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEu CiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0g ZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMyV7P193 aXRoX3Vwc3RyZWFtOi51cHN0cmVhbX0lez9kaXN0fQorUmVsZWFzZTogNCV7P193aXRoX3Vwc3Ry ZWFtOi51cHN0cmVhbX0lez9kaXN0fQogCiBMaWNlbnNlOiBHUEx2MysgYW5kIEdQTHYzKyB3aXRo IGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BMdjIrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BM KyBhbmQgTEdQTHYyKyBhbmQgQlNEIGFuZCBQdWJsaWMgRG9tYWluCiBHcm91cDogRGV2ZWxvcG1l bnQvRGVidWdnZXJzCkBAIC01MzAsNiArNTMwLDkgQEAgUGF0Y2g1NTY6IGdkYi1nY2M0Ni1zdGRh cmctcHJvbG9ndWUucGF0Y2gKICMgcmVidWlsZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUgYWJs ZSB0byB1c2UgZ2RiIDopCiBQYXRjaDU3OTogZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29ya2Fyb3Vu ZC10by1icm9rZW4tZGVidWctZmlsZXMucGF0Y2gKIAorIyBJbXByb3ZlIEdEQiBwZXJmb3JtYW5j ZSBvbiBpbmZlcmlvciBkbG9wZW4gY2FsbHMgKEdhcnkgQmVuc29uLCBCWiA2OTgwMDEpLgorUGF0 Y2g2MTc6IGdkYi1kbG9wZW4tc2tpcF9pbmxpbmVfZnJhbWVzLXBlcmYucGF0Y2gKKwogQnVpbGRS ZXF1aXJlczogbmN1cnNlcy1kZXZlbCV7P19pc2F9IHRleGluZm8gZ2V0dGV4dCBmbGV4IGJpc29u IGV4cGF0LWRldmVsJXs/X2lzYX0KICMgLS13aXRob3V0LXN5c3RlbS1yZWFkbGluZQogIyBSZXF1 aXJlczogcmVhZGxpbmUlez9faXNhfQpAQCAtNzkxLDYgKzc5NCw3IEBAIHJtIC1mIGdkYi9qdi1l eHAuYyBnZGIvbTItZXhwLmMgZ2RiL29iamMtZXhwLmMgZ2RiL3AtZXhwLmMKICVwYXRjaDU0OCAt cDEKICVwYXRjaDU1NiAtcDEKICVwYXRjaDU3OSAtcDEKKyVwYXRjaDYxNyAtcDEKIAogJXBhdGNo MzkzIC1wMQogJXBhdGNoMzM1IC1wMQpAQCAtMTIxMyw2ICsxMjE3LDExIEBAIGZpCiAle19pbmZv ZGlyfS9nZGIuaW5mbyoKIAogJWNoYW5nZWxvZworKiBUdWUgQXVnICA5IDIwMTEgSmFuIEtyYXRv Y2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4zLjUwLjIwMTEwNzIyLTQuZmMx NgorLSBJbXByb3ZlIEdEQiBwZXJmb3JtYW5jZSBvbiBpbmZlcmlvciBkbG9wZW4gY2FsbHMgKEdh cnkgQmVuc29uLCBCWiA2OTgwMDEpLgorLSBbcHl0aG9uXSBGaXggY3Jhc2ggd2hlbiBwcmV0dHkg cHJpbnRlciBmYWlscyAoUGhpbCBNdWxkb29uLCBCWiA3MTI3MTUpLgorLSBGaXggY3Jhc2ggb24g aW52YWxpZCBDKysgbWFuZ2xlZCBuYW1lcyAoQlogNzI5MjgzKS4KKwogKiBGcmkgSnVsIDI5IDIw MTEgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4zLjUwLjIw MTEwNzIyLTMuZmMxNgogLSBGaXggcmVncmVzc2lvbiBmcm9tIFZMQSBtZXJnZSBhZmZlY3Rpbmcg LU8wIC1nIHdhdGNocG9pbnRzLgogCg==