[PATCH] xtensa: add R_XTENSA_PDIFF_ULEB128 for DWARF uleb128 diffs
Alexey Lapshin <[email protected]> Mon, 3 Aug 2026 11:38:00 +0000
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
RFdBUkYgNSBsb2NhdGlvbiBhbmQgcmFuZ2UgbGlzdHMgZW5jb2RlIG1hbnkgc2FtZS1zZWN0aW9u IHN5bWJvbA0KZGlmZmVyZW5jZXMgYXMgdWxlYjEyOC4gIFRvZGF5IHRoZSBhc3NlbWJsZXIgbXVz dCBtYXJrIGFsbCBjb3ZlcmVkIGNvZGUNCm5vX3RyYW5zZm9ybSBzbyBsaW5rZXIgcmVsYXhhdGlv biBjYW5ub3QgY2hhbmdlIHRob3NlIGRpZmZlcmVuY2VzLCB3aGljaA0KZWZmZWN0aXZlbHkgZGlz YWJsZXMgcmVsYXhhdGlvbiBmb3IgbmVhcmx5IGV2ZXJ5IGZ1bmN0aW9uIHRoYXQgaGFzIERXQVJG IDUNCmRlYnVnIGluZm8uDQoNCkVtaXQgUl9YVEVOU0FfUERJRkZfVUxFQjEyOCBpbnN0ZWFkOiBs aWtlIFJfWFRFTlNBX1BESUZGMzIgdGhlIGRpZmZlcmVuY2UNCnN0YXlzIGluIHRoZSBzZWN0aW9u IGNvbnRlbnRzIGFuZCB0aGUgcmVsb2MgcmVjb3JkcyB0aGUgc3VidHJhY3RlZCBzeW1ib2wsDQpi dXQgdGhlIGFzc2VtYmxlciBwYWRzIHRoZSB1bGViMTI4IHRvIGEgZml4ZWQgd2lkdGggKG1pbmlt YWwgZW5jb2RpbmcgcGx1cw0Kb25lIHNwYXJlIGJ5dGUpIGFuZCB0aGUgbGlua2VyIHJld3JpdGVz IHRoZSB2YWx1ZSBpbiBwbGFjZSBhZnRlcg0KcmVsYXhhdGlvbi4NCg0Kc2xlYjEyOCBhbmQgY3Jv c3Mtc2VjdGlvbiBkaWZmZXJlbmNlcyBzdGlsbCBmYWxsIGJhY2sgdG8gbm9fdHJhbnNmb3JtLg0K R3Jvd3RoIHRoYXQgbmVlZHMgbW9yZSB0aGFuIHRoZSByZXNlcnZlZCBzcGFyZSBieXRlIGlzIHJl cG9ydGVkIGFzIGENCnJlbG9jYXRpb24gb3ZlcmZsb3cuDQoNCmJmZC8NCgkqIGJmZC1pbjIuaDog UmVnZW5lcmF0ZWQuDQoJKiBlbGYzMi14dGVuc2EuYyAoZWxmX2hvd3RvX3RhYmxlKTogTmV3IGVu dHJ5IGZvcg0KCVJfWFRFTlNBX1BESUZGX1VMRUIxMjguDQoJKGVsZl94dGVuc2FfcmVsb2NfdHlw ZV9sb29rdXAsIGVsZl94dGVuc2FfZG9fcmVsb2MpOiBIYW5kbGUgaXQuDQoJKHJlbGF4X3NlY3Rp b24pOiBSZXdyaXRlIHBhZGRlZCB1bGViMTI4IGRpZmZlcmVuY2VzIGluIHBsYWNlLg0KCSogbGli YmZkLmggKGJmZF9yZWxvY19jb2RlX3JlYWxfbmFtZXMpOiBBZGQNCglCRkRfUkVMT0NfWFRFTlNB X1BESUZGX1VMRUIxMjguDQoJKiByZWxvYy5jOiBEb2N1bWVudCBCRkRfUkVMT0NfWFRFTlNBX1BE SUZGX1VMRUIxMjguDQoNCmJpbnV0aWxzLw0KCSogcmVhZGVsZi5jIChpc19ub25lX3JlbG9jKTog UmVjb2duaXplIFJfWFRFTlNBX1BESUZGX1VMRUIxMjguDQoNCmdhcy8NCgkqIHdyaXRlLmMgKGN2 dF9mcmFnX3RvX2ZpbGwpOiBQYWQgbGViMTI4IGZyYWdzIHRvIHRoZSByZXNlcnZlZA0KCXNpemUg d2hlbiBtZF9sZWIxMjhfZnJhZ19zaXplIGdyZXcgdGhlbS4NCgkocmVsYXhfc2VnbWVudCk6IENh bGwgbWRfbGViMTI4X2ZyYWdfc2l6ZSBpZiBkZWZpbmVkLg0KCSogY29uZmlnL3RjLXh0ZW5zYS5o ICh4dGVuc2Ffc3ltZmllbGRfdHlwZSk6IEFkZA0KCWhhc19sZWIxMjhfZGlmZl9yZWxvYy4NCgko bWRfbGViMTI4X2ZyYWdfc2l6ZSk6IERlZmluZS4NCgkqIGNvbmZpZy90Yy14dGVuc2EuYyAoeHRl bnNhX21kX2ZpbmlzaCk6IEluc2VydCB1bGViMTI4IGZpeGVzLg0KCSh4dGVuc2FfaW5zZXJ0X3Vs ZWIxMjhfZml4ZXMsIHh0ZW5zYV9sZWIxMjhfZnJhZ19zaXplKTogTmV3Lg0KCSh4dGVuc2FfbWFy a19kaWZmZXJlbmNlX29mX3R3b19zeW1ib2xzKTogU2tpcCByZWxvY2F0ZWQgZGlmZnMuDQoJKG1k X2FwcGx5X2ZpeCk6IElnbm9yZSBCRkRfUkVMT0NfWFRFTlNBX1BESUZGX1VMRUIxMjguDQoJKiB0 ZXN0c3VpdGUvZ2FzL3h0ZW5zYS9wZGlmZi11bGViMTI4LnM6IE5ldyB0ZXN0Lg0KCSogdGVzdHN1 aXRlL2dhcy94dGVuc2EvcGRpZmYtdWxlYjEyOC5kOiBOZXcgdGVzdC4NCgkqIHRlc3RzdWl0ZS9n YXMveHRlbnNhL3BkaWZmLXVsZWIxMjgtbm9yZWxheC5kOiBOZXcgdGVzdC4NCg0KaW5jbHVkZS8N CgkqIGVsZi94dGVuc2EuaCAoZWxmX3h0ZW5zYV9yZWxvY190eXBlKTogQWRkDQoJUl9YVEVOU0Ff UERJRkZfVUxFQjEyOC4NCg0KbGQvDQoJKiB0ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVsZWIx MjguczogTmV3IHRlc3QuDQoJKiB0ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVsZWIxMjguZDog TmV3IHRlc3QuDQoJKiB0ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVsZWIxMjgtMi5zOiBOZXcg dGVzdC4NCgkqIHRlc3RzdWl0ZS9sZC14dGVuc2EvcmVsYXgtdWxlYjEyOC0yLmQ6IE5ldyB0ZXN0 Lg0KCSogdGVzdHN1aXRlL2xkLXh0ZW5zYS94dGVuc2EuZXhwOiBSdW4gdGhlbS4NCi0tLQ0KIGJm ZC9iZmQtaW4yLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKw0KIGJm ZC9lbGYzMi14dGVuc2EuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDgwICsrKysrKysr KysrKysrKysrDQogYmZkL2xpYmJmZC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDEgKw0KIGJmZC9yZWxvYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDEyICsrKw0KIGJpbnV0aWxzL3JlYWRlbGYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAzICstDQogZ2FzL2NvbmZpZy90Yy14dGVuc2EuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg ODYgKysrKysrKysrKysrKysrKysrLQ0KIGdhcy9jb25maWcvdGMteHRlbnNhLmggICAgICAgICAg ICAgICAgICAgICAgICB8ICA1ICsrDQogLi4uL2dhcy94dGVuc2EvcGRpZmYtdWxlYjEyOC1ub3Jl bGF4LmQgICAgICAgIHwgMjAgKysrKysNCiBnYXMvdGVzdHN1aXRlL2dhcy94dGVuc2EvcGRpZmYt dWxlYjEyOC5kICAgICAgfCAxMiArKysNCiBnYXMvdGVzdHN1aXRlL2dhcy94dGVuc2EvcGRpZmYt dWxlYjEyOC5zICAgICAgfCAgNyArKw0KIGdhcy93cml0ZS5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IDIwICsrKysrDQogaW5jbHVkZS9lbGYveHRlbnNhLmggICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDMgKw0KIGxkL3Rlc3RzdWl0ZS9sZC14dGVuc2EvcmVsYXgtdWxl YjEyOC0yLmQgICAgICB8IDEyICsrKw0KIGxkL3Rlc3RzdWl0ZS9sZC14dGVuc2EvcmVsYXgtdWxl YjEyOC0yLnMgICAgICB8IDE4ICsrKysNCiBsZC90ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVs ZWIxMjguZCAgICAgICAgfCAxMSArKysNCiBsZC90ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVs ZWIxMjgucyAgICAgICAgfCAxNiArKysrDQogbGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS94dGVuc2Eu ZXhwICAgICAgICAgICAgIHwgIDIgKw0KIDE3IGZpbGVzIGNoYW5nZWQsIDMxNCBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBnYXMvdGVzdHN1aXRlL2dh cy94dGVuc2EvcGRpZmYtdWxlYjEyOC1ub3JlbGF4LmQNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Fz L3Rlc3RzdWl0ZS9nYXMveHRlbnNhL3BkaWZmLXVsZWIxMjguZA0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnYXMvdGVzdHN1aXRlL2dhcy94dGVuc2EvcGRpZmYtdWxlYjEyOC5zDQogY3JlYXRlIG1vZGUg MTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC14dGVuc2EvcmVsYXgtdWxlYjEyOC0yLmQNCiBjcmVhdGUg bW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS9yZWxheC11bGViMTI4LTIucw0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVsZWIxMjguZA0K IGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVsZWIxMjgu cw0KDQpkaWZmIC0tZ2l0IGEvYmZkL2JmZC1pbjIuaCBiL2JmZC9iZmQtaW4yLmgNCmluZGV4IDI0 MzNjM2MxMmM0Li5iY2E1ZTU1NTUwZSAxMDA2NDQNCi0tLSBhL2JmZC9iZmQtaW4yLmgNCisrKyBi L2JmZC9iZmQtaW4yLmgNCkBAIC02MTY5LDYgKzYxNjksMTYgQEAgZW51bSBiZmRfcmVsb2NfY29k ZV9yZWFsDQogICBCRkRfUkVMT0NfWFRFTlNBX05ESUZGMTYsDQogICBCRkRfUkVMT0NfWFRFTlNB X05ESUZGMzIsDQogDQorICAvKiBYdGVuc2EgcmVsb2NhdGlvbiB0byBtYXJrIGEgcG9zaXRpdmUg ZGlmZmVyZW5jZSBvZiB0d28gbG9jYWwgc3ltYm9scw0KKyAgICAgZW5jb2RlZCBhcyBhbiB1bnNp Z25lZCBMRUIxMjggdmFsdWUuICBUaGlzIHdvcmtzIGxpa2UNCisgICAgIEJGRF9SRUxPQ19YVEVO U0FfUERJRkYzMiwgYnV0IHRoZSBsaW5rZXIgcmV3cml0ZXMgdGhlIGRpZmZlcmVuY2UgaW4NCisg ICAgIHBsYWNlIHVzaW5nIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhlIGFzc2VtYmxlciBvcmlnaW5h bGx5IGVtaXR0ZWQsIHNvDQorICAgICB0aGF0IHRoZSBzaXplIG9mIHRoZSBjb250YWluaW5nIHNl Y3Rpb24gbmV2ZXIgY2hhbmdlcy4gIFdpdGhvdXQgaXQgdGhlDQorICAgICBhc3NlbWJsZXIgd291 bGQgaGF2ZSB0byBpbmhpYml0IGxpbmtlciByZWxheGF0aW9uIG9mIGFsbCBjb2RlIGNvdmVyZWQN CisgICAgIGJ5IHN1Y2ggYSBkaWZmZXJlbmNlLCB3aGljaCBEV0FSRiA1IGxvY2F0aW9uIGFuZCBy YW5nZSBsaXN0cyBwcm9kdWNlDQorICAgICBmb3IgdmlydHVhbGx5IGV2ZXJ5IGZ1bmN0aW9uLiAg Ki8NCisgIEJGRF9SRUxPQ19YVEVOU0FfUERJRkZfVUxFQjEyOCwNCisNCiAgIC8qIDggYml0IHNp Z25lZCBvZmZzZXQgaW4gKGl4K2QpIG9yIChpeStkKS4gICovDQogICBCRkRfUkVMT0NfWjgwX0RJ U1A4LA0KIA0KZGlmZiAtLWdpdCBhL2JmZC9lbGYzMi14dGVuc2EuYyBiL2JmZC9lbGYzMi14dGVu c2EuYw0KaW5kZXggZDRhYWM3NGQxMmMuLmEzNGJkOWQyMmVlIDEwMDY0NA0KLS0tIGEvYmZkL2Vs ZjMyLXh0ZW5zYS5jDQorKysgYi9iZmQvZWxmMzIteHRlbnNhLmMNCkBAIC0zNDYsNiArMzQ2LDgg QEAgc3RhdGljIHJlbG9jX2hvd3RvX3R5cGUgZWxmX2hvd3RvX3RhYmxlW10gPQ0KIAkgYmZkX2Vs Zl94dGVuc2FfcmVsb2MsICJSX1hURU5TQV9ORElGRjE2IiwgZmFsc2UsIDAsIDB4ZmZmZiwgZmFs c2UpLA0KICAgSE9XVE8gKFJfWFRFTlNBX05ESUZGMzIsIDAsIDQsIDMyLCBmYWxzZSwgMCwgY29t cGxhaW5fb3ZlcmZsb3dfYml0ZmllbGQsDQogCSBiZmRfZWxmX3h0ZW5zYV9yZWxvYywgIlJfWFRF TlNBX05ESUZGMzIiLCBmYWxzZSwgMCwgMHhmZmZmZmZmZiwgZmFsc2UpLA0KKyAgSE9XVE8gKFJf WFRFTlNBX1BESUZGX1VMRUIxMjgsIDAsIDAsIDAsIGZhbHNlLCAwLCBjb21wbGFpbl9vdmVyZmxv d19kb250LA0KKwkgYmZkX2VsZl94dGVuc2FfcmVsb2MsICJSX1hURU5TQV9QRElGRl9VTEVCMTI4 IiwgZmFsc2UsIDAsIDAsIGZhbHNlKSwNCiB9Ow0KIA0KICNpZiBERUJVR19HRU5fUkVMT0MNCkBA IC00MDksNiArNDExLDEwIEBAIGVsZl94dGVuc2FfcmVsb2NfdHlwZV9sb29rdXAgKGJmZCAqYWJm ZCBBVFRSSUJVVEVfVU5VU0VELA0KICAgICAgIFRSQUNFICgiQkZEX1JFTE9DX1hURU5TQV9ORElG RjMyIik7DQogICAgICAgcmV0dXJuICZlbGZfaG93dG9fdGFibGVbKHVuc2lnbmVkKSBSX1hURU5T QV9ORElGRjMyIF07DQogDQorICAgIGNhc2UgQkZEX1JFTE9DX1hURU5TQV9QRElGRl9VTEVCMTI4 Og0KKyAgICAgIFRSQUNFICgiQkZEX1JFTE9DX1hURU5TQV9QRElGRl9VTEVCMTI4Iik7DQorICAg ICAgcmV0dXJuICZlbGZfaG93dG9fdGFibGVbKHVuc2lnbmVkKSBSX1hURU5TQV9QRElGRl9VTEVC MTI4IF07DQorDQogICAgIGNhc2UgQkZEX1JFTE9DX1hURU5TQV9SVExEOg0KICAgICAgIFRSQUNF ICgiQkZEX1JFTE9DX1hURU5TQV9SVExEIik7DQogICAgICAgcmV0dXJuICZlbGZfaG93dG9fdGFi bGVbKHVuc2lnbmVkKSBSX1hURU5TQV9SVExEIF07DQpAQCAtMTg5Myw2ICsxODk5LDcgQEAgZWxm X3h0ZW5zYV9kb19yZWxvYyAocmVsb2NfaG93dG9fdHlwZSAqaG93dG8sDQogICAgIGNhc2UgUl9Y VEVOU0FfTkRJRkY4Og0KICAgICBjYXNlIFJfWFRFTlNBX05ESUZGMTY6DQogICAgIGNhc2UgUl9Y VEVOU0FfTkRJRkYzMjoNCisgICAgY2FzZSBSX1hURU5TQV9QRElGRl9VTEVCMTI4Og0KICAgICBj YXNlIFJfWFRFTlNBX1RMU19GVU5DOg0KICAgICBjYXNlIFJfWFRFTlNBX1RMU19BUkc6DQogICAg IGNhc2UgUl9YVEVOU0FfVExTX0NBTEw6DQpAQCAtOTY1Nyw2ICs5NjY0LDc5IEBAIHJlbGF4X3Nl Y3Rpb24gKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlYywgc3RydWN0IGJmZF9saW5rX2luZm8gKmxp bmtfaW5mbykNCiAJICAgICAgcl9yZWxvYyBuZXdfcmVsb2M7DQogCSAgICAgIHRhcmdldF9zZWMg PSB0cmFuc2xhdGVfcmVsb2MgKCZyX3JlbCwgJm5ld19yZWxvYywgdGFyZ2V0X3NlYyk7DQogDQor CSAgICAgIGlmIChyX3R5cGUgPT0gUl9YVEVOU0FfUERJRkZfVUxFQjEyOCkNCisJCXsNCisJCSAg YmZkX3ZtYSBkaWZmX3ZhbHVlLCBuZXdfZW5kX29mZnNldDsNCisJCSAgdW5zaWduZWQgaW50IGxl biwgbmV3X2xlbiA9IDA7DQorCQkgIGJmZF9ieXRlICpwLCAqcSwgKmVuZHA7DQorDQorCQkgIGlm IChzZWNfc2l6ZSA8PSBvbGRfc291cmNlX29mZnNldCkNCisJCSAgICB7DQorCQkgICAgICAoKmxp bmtfaW5mby0+Y2FsbGJhY2tzLT5yZWxvY19kYW5nZXJvdXMpDQorCQkJKGxpbmtfaW5mbywgXygi aW52YWxpZCByZWxvY2F0aW9uIGFkZHJlc3MiKSwNCisJCQkgYWJmZCwgc2VjLCBvbGRfc291cmNl X29mZnNldCk7DQorCQkgICAgICBnb3RvIGVycm9yX3JldHVybjsNCisJCSAgICB9DQorDQorCQkg IC8qIFRoZSB2YWx1ZSBpcyByZWFkIGJhY2sgZnJvbSB0aGUgc2VjdGlvbiBjb250ZW50cywgc28N CisJCSAgICAgaXQgbXVzdCBub3QgYmUgdHJ1c3RlZCB0byBiZSBhIHdlbGwgZm9ybWVkIHVsZWIx MjgNCisJCSAgICAgdGhhdCBlbmRzIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBzZWN0aW9uLiAgKi8N CisJCSAgcCA9IHEgPSAmY29udGVudHNbb2xkX3NvdXJjZV9vZmZzZXRdOw0KKwkJICBkaWZmX3Zh bHVlID0gX2JmZF9zYWZlX3JlYWRfbGViMTI4IChhYmZkLCAmcSwgZmFsc2UsDQorCQkJCQkJICAg ICAgY29udGVudHMgKyBzZWNfc2l6ZSk7DQorCQkgIGxlbiA9IHEgLSBwOw0KKwkJICBpZiAobGVu ID09IDAgfHwgKHFbLTFdICYgMHg4MCkgIT0gMCkNCisJCSAgICB7DQorCQkgICAgICAoKmxpbmtf aW5mby0+Y2FsbGJhY2tzLT5yZWxvY19kYW5nZXJvdXMpDQorCQkJKGxpbmtfaW5mbywgXygiaW52 YWxpZCB1bGViMTI4IGRpZmZlcmVuY2UiKSwNCisJCQkgYWJmZCwgc2VjLCBvbGRfc291cmNlX29m ZnNldCk7DQorCQkgICAgICBnb3RvIGVycm9yX3JldHVybjsNCisJCSAgICB9DQorDQorCQkgIG5l d19lbmRfb2Zmc2V0ID0gb2Zmc2V0X3dpdGhfcmVtb3ZlZF90ZXh0X21hcA0KKwkJICAgICgmdGFy Z2V0X3JlbGF4X2luZm8tPmFjdGlvbl9saXN0LA0KKwkJICAgICByX3JlbC50YXJnZXRfb2Zmc2V0 ICsgZGlmZl92YWx1ZSk7DQorCQkgIGlmIChuZXdfZW5kX29mZnNldCA8IG5ld19yZWxvYy50YXJn ZXRfb2Zmc2V0KQ0KKwkJICAgIHsNCisJCSAgICAgICgqbGlua19pbmZvLT5jYWxsYmFja3MtPnJl bG9jX2Rhbmdlcm91cykNCisJCQkobGlua19pbmZvLCBfKCJ1bGViMTI4IGRpZmZlcmVuY2UgaXMg bmVnYXRpdmUgYWZ0ZXIgIg0KKwkJCQkgICAgICAicmVsYXhhdGlvbiIpLA0KKwkJCSBhYmZkLCBz ZWMsIG9sZF9zb3VyY2Vfb2Zmc2V0KTsNCisJCSAgICAgIGdvdG8gZXJyb3JfcmV0dXJuOw0KKwkJ ICAgIH0NCisJCSAgZGlmZl92YWx1ZSA9IG5ld19lbmRfb2Zmc2V0IC0gbmV3X3JlbG9jLnRhcmdl dF9vZmZzZXQ7DQorDQorCQkgIC8qIEJ5dGUgbGVuZ3RoIG9mIHRoZSBtaW5pbWFsIHVsZWIxMjgg ZW5jb2Rpbmcgb2YNCisJCSAgICAgRElGRl9WQUxVRS4gICovDQorCQkgIGZvciAoYmZkX3ZtYSB2 ID0gZGlmZl92YWx1ZTsgbmV3X2xlbisrLCB2ID4+PSA3OyApDQorCQkgICAgOw0KKwkJICAvKiBU aGUgYXNzZW1ibGVyIHJlc2VydmVzIG9uZSBzcGFyZSBieXRlIGZvciB0aGVzZQ0KKwkJICAgICBk aWZmZXJlbmNlcywgYnV0IHJlamVjdCBncm93dGggdGhhdCBzdGlsbCBuZWVkcyBtb3JlDQorCQkg ICAgIGJ5dGVzIHRoYW4gd2VyZSBlbWl0dGVkLiAgKi8NCisJCSAgaWYgKG5ld19sZW4gPiBsZW4p DQorCQkgICAgew0KKwkJICAgICAgKCpsaW5rX2luZm8tPmNhbGxiYWNrcy0+cmVsb2NfZGFuZ2Vy b3VzKQ0KKwkJCShsaW5rX2luZm8sIF8oInVsZWIxMjggZGlmZmVyZW5jZSBvdmVyZmxvd3MgYWZ0 ZXIgIg0KKwkJCQkgICAgICAicmVsYXhhdGlvbiIpLA0KKwkJCSBhYmZkLCBzZWMsIG9sZF9zb3Vy Y2Vfb2Zmc2V0KTsNCisJCSAgICAgIGdvdG8gZXJyb3JfcmV0dXJuOw0KKwkJICAgIH0NCisNCisJ CSAgLyogUmV3cml0ZSB0aGUgZGlmZmVyZW5jZSBpbiBwbGFjZSwgYWx3YXlzIHVzaW5nIHRoZQ0K KwkJICAgICBudW1iZXIgb2YgYnl0ZXMgdGhlIGFzc2VtYmxlciBlbWl0dGVkIHNvIHRoYXQgdGhl IHNpemUNCisJCSAgICAgb2YgdGhpcyBzZWN0aW9uIGRvZXMgbm90IGNoYW5nZS4gIEEgdmFsdWUg dGhhdCBub3cNCisJCSAgICAgbmVlZHMgZmV3ZXIgYnl0ZXMgaXMgcGFkZGVkIHdpdGggdWxlYjEy OCB6ZXJvZXMuICAqLw0KKwkJICBlbmRwID0gcCArIGxlbiAtIDE7DQorCQkgIG1lbXNldCAocCwg MHg4MCwgbGVuIC0gMSk7DQorCQkgICplbmRwID0gMDsNCisJCSAgcCA9IF9iZmRfd3JpdGVfdW5z aWduZWRfbGViMTI4IChwLCBlbmRwLCBkaWZmX3ZhbHVlKTsNCisJCSAgQkZEX0FTU0VSVCAocCk7 DQorCQkgIGlmICgtLXAgPCBlbmRwKQ0KKwkJICAgICpwIHw9IDB4ODA7DQorDQorCQkgIHBpbl9j b250ZW50cyAoc2VjLCBjb250ZW50cyk7DQorCQl9DQorDQogCSAgICAgIGlmIChyX3R5cGUgPT0g Ul9YVEVOU0FfRElGRjgNCiAJCSAgfHwgcl90eXBlID09IFJfWFRFTlNBX0RJRkYxNg0KIAkJICB8 fCByX3R5cGUgPT0gUl9YVEVOU0FfRElGRjMyDQpkaWZmIC0tZ2l0IGEvYmZkL2xpYmJmZC5oIGIv YmZkL2xpYmJmZC5oDQppbmRleCAwM2M5ZGNhODAwZC4uNWYyNzMwZDI0MTEgMTAwNjQ0DQotLS0g YS9iZmQvbGliYmZkLmgNCisrKyBiL2JmZC9saWJiZmQuaA0KQEAgLTI4NDUsNiArMjg0NSw3IEBA IHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBiZmRfcmVsb2NfY29kZV9yZWFsX25hbWVzW10gPSB7 ICJAQHVuaW5pdGlhbGl6ZWRAQCIsDQogICAiQkZEX1JFTE9DX1hURU5TQV9ORElGRjgiLA0KICAg IkJGRF9SRUxPQ19YVEVOU0FfTkRJRkYxNiIsDQogICAiQkZEX1JFTE9DX1hURU5TQV9ORElGRjMy IiwNCisgICJCRkRfUkVMT0NfWFRFTlNBX1BESUZGX1VMRUIxMjgiLA0KICAgIkJGRF9SRUxPQ19a ODBfRElTUDgiLA0KICAgIkJGRF9SRUxPQ19aODBfQllURTAiLA0KICAgIkJGRF9SRUxPQ19aODBf QllURTEiLA0KZGlmZiAtLWdpdCBhL2JmZC9yZWxvYy5jIGIvYmZkL3JlbG9jLmMNCmluZGV4IDk4 MzQzNjk2YTMzLi4xMmFkZTU4ZGQ1NSAxMDA2NDQNCi0tLSBhL2JmZC9yZWxvYy5jDQorKysgYi9i ZmQvcmVsb2MuYw0KQEAgLTYxNzgsNiArNjE3OCwxOCBAQCBFTlVNRE9DDQogICBkaWZmZXJlbmNl cy4gIFRoZSBkaWZmZXJlbmNlIHZhbHVlIGlzIHRyZWF0ZWQgYXMgdW5zaWduZWQgd2l0aCB0aGVz ZQ0KICAgcmVsb2NhdGlvbiB0eXBlcywgZ2l2aW5nIGZ1bGwgOC8xNiB2YWx1ZSByYW5nZXMuDQog DQorRU5VTQ0KKyAgQkZEX1JFTE9DX1hURU5TQV9QRElGRl9VTEVCMTI4DQorRU5VTURPQw0KKyAg WHRlbnNhIHJlbG9jYXRpb24gdG8gbWFyayBhIHBvc2l0aXZlIGRpZmZlcmVuY2Ugb2YgdHdvIGxv Y2FsIHN5bWJvbHMNCisgIGVuY29kZWQgYXMgYW4gdW5zaWduZWQgTEVCMTI4IHZhbHVlLiAgVGhp cyB3b3JrcyBsaWtlDQorICBCRkRfUkVMT0NfWFRFTlNBX1BESUZGMzIsIGJ1dCB0aGUgbGlua2Vy IHJld3JpdGVzIHRoZSBkaWZmZXJlbmNlIGluDQorICBwbGFjZSB1c2luZyB0aGUgbnVtYmVyIG9m IGJ5dGVzIHRoZSBhc3NlbWJsZXIgb3JpZ2luYWxseSBlbWl0dGVkLCBzbw0KKyAgdGhhdCB0aGUg c2l6ZSBvZiB0aGUgY29udGFpbmluZyBzZWN0aW9uIG5ldmVyIGNoYW5nZXMuICBXaXRob3V0IGl0 IHRoZQ0KKyAgYXNzZW1ibGVyIHdvdWxkIGhhdmUgdG8gaW5oaWJpdCBsaW5rZXIgcmVsYXhhdGlv biBvZiBhbGwgY29kZSBjb3ZlcmVkDQorICBieSBzdWNoIGEgZGlmZmVyZW5jZSwgd2hpY2ggRFdB UkYgNSBsb2NhdGlvbiBhbmQgcmFuZ2UgbGlzdHMgcHJvZHVjZQ0KKyAgZm9yIHZpcnR1YWxseSBl dmVyeSBmdW5jdGlvbi4NCisNCiBFTlVNDQogICBCRkRfUkVMT0NfWjgwX0RJU1A4DQogRU5VTURP Qw0KZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3JlYWRlbGYuYyBiL2JpbnV0aWxzL3JlYWRlbGYuYw0K aW5kZXggOGNhOTBhMjZmNzcuLjA1YjM4NzdmZDFlIDEwMDY0NA0KLS0tIGEvYmludXRpbHMvcmVh ZGVsZi5jDQorKysgYi9iaW51dGlscy9yZWFkZWxmLmMNCkBAIC0xNjcxNSw3ICsxNjcxNSw4IEBA IGlzX25vbmVfcmVsb2MgKEZpbGVkYXRhICogZmlsZWRhdGEsIHVuc2lnbmVkIGludCByZWxvY190 eXBlKQ0KIAkgICAgICB8fCByZWxvY190eXBlID09IDU5ICAvKiBSX1hURU5TQV9QRElGRjMyLiAg Ki8NCiAJICAgICAgfHwgcmVsb2NfdHlwZSA9PSA2MCAgLyogUl9YVEVOU0FfTkRJRkY4LiAgKi8N CiAJICAgICAgfHwgcmVsb2NfdHlwZSA9PSA2MSAgLyogUl9YVEVOU0FfTkRJRkYxNi4gICovDQot CSAgICAgIHx8IHJlbG9jX3R5cGUgPT0gNjIgIC8qIFJfWFRFTlNBX05ESUZGMzIuICAqLyk7DQor CSAgICAgIHx8IHJlbG9jX3R5cGUgPT0gNjIgIC8qIFJfWFRFTlNBX05ESUZGMzIuICAqLw0KKwkg ICAgICB8fCByZWxvY190eXBlID09IDYzICAvKiBSX1hURU5TQV9QRElGRl9VTEVCMTI4LiAgKi8p Ow0KICAgICB9DQogICByZXR1cm4gZmFsc2U7DQogfQ0KZGlmZiAtLWdpdCBhL2dhcy9jb25maWcv dGMteHRlbnNhLmMgYi9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jDQppbmRleCAwYjZkN2QxODVkYi4u ZTg0ZWIxNjllMWEgMTAwNjQ0DQotLS0gYS9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jDQorKysgYi9n YXMvY29uZmlnL3RjLXh0ZW5zYS5jDQpAQCAtNjExOSw2ICs2MTE5LDcgQEAgbWRfYXBwbHlfZml4 IChmaXhTICpmaXhQLCB2YWx1ZVQgKnZhbFAsIHNlZ1Qgc2VnKQ0KICAgICAgIGJyZWFrOw0KIA0K ICAgICBjYXNlIEJGRF9SRUxPQ19YVEVOU0FfQVNNX0VYUEFORDoNCisgICAgY2FzZSBCRkRfUkVM T0NfWFRFTlNBX1BESUZGX1VMRUIxMjg6DQogICAgIGNhc2UgQkZEX1JFTE9DX1hURU5TQV9UTFNf RlVOQzoNCiAgICAgY2FzZSBCRkRfUkVMT0NfWFRFTlNBX1RMU19BUkc6DQogICAgIGNhc2UgQkZE X1JFTE9DX1hURU5TQV9UTFNfQ0FMTDoNCkBAIC03Mzc2LDYgKzczNzcsNyBAQCBzdGF0aWMgdm9p ZCB4dGVuc2FfZml4X3RhcmdldF9mcmFncyAodm9pZCk7DQogc3RhdGljIHZvaWQgeHRlbnNhX21h cmtfbmFycm93X2JyYW5jaGVzICh2b2lkKTsNCiBzdGF0aWMgdm9pZCB4dGVuc2FfbWFya196Y2xf Zmlyc3RfaW5zbnMgKHZvaWQpOw0KIHN0YXRpYyB2b2lkIHh0ZW5zYV9tYXJrX2RpZmZlcmVuY2Vf b2ZfdHdvX3N5bWJvbHMgKHZvaWQpOw0KK3N0YXRpYyB2b2lkIHh0ZW5zYV9pbnNlcnRfdWxlYjEy OF9maXhlcyAoYmZkICosIGFzZWN0aW9uICosIHZvaWQgKik7DQogc3RhdGljIHZvaWQgeHRlbnNh X2ZpeF9hMF9iX3JldHdfZnJhZ3MgKHZvaWQpOw0KIHN0YXRpYyB2b2lkIHh0ZW5zYV9maXhfYl9q X2xvb3BfZW5kX2ZyYWdzICh2b2lkKTsNCiBzdGF0aWMgdm9pZCB4dGVuc2FfZml4X2Nsb3NlX2xv b3BfZW5kX2ZyYWdzICh2b2lkKTsNCkBAIC03NDE2LDYgKzc0MTgsOSBAQCB4dGVuc2FfbWRfZmlu aXNoICh2b2lkKQ0KICAgeHRlbnNhX2FkZF9jb25maWdfaW5mbyAoKTsNCiANCiAgIHh0ZW5zYV9j aGVja19mcmFnX2NvdW50ICgpOw0KKw0KKyAgaWYgKGxpbmtyZWxheCkNCisgICAgYmZkX21hcF9v dmVyX3NlY3Rpb25zIChzdGRvdXRwdXQsIHh0ZW5zYV9pbnNlcnRfdWxlYjEyOF9maXhlcywgTlVM TCk7DQogfQ0KIA0KIHN0cnVjdCB0cmFtcG9saW5lX2NoYWluX2VudHJ5DQpAQCAtODI0OSwxMSAr ODI1NCw4MyBAQCB4dGVuc2FfbWFya196Y2xfZmlyc3RfaW5zbnMgKHZvaWQpDQogICAgICAgfQ0K IH0NCiANCisvKiBBIGRpZmZlcmVuY2Ugb2YgdHdvIHN5bWJvbHMgZW5jb2RlZCBhcyBhIHVsZWIx MjggdmFsdWUgY2FuIGJlIGhhbmRlZCB0bw0KKyAgIHRoZSBsaW5rZXIgYXMgYSBCRkRfUkVMT0Nf WFRFTlNBX1BESUZGX1VMRUIxMjggcmVsb2NhdGlvbjogdGhlIGRpZmZlcmVuY2UNCisgICBpdHNl bGYgc3RheXMgaW4gdGhlIHNlY3Rpb24gY29udGVudHMgYW5kIHRoZSByZWxvY2F0aW9uIHJlY29y ZHMgdGhlDQorICAgYWRkcmVzcyBvZiB0aGUgc3VidHJhY3RlZCBzeW1ib2wsIHdoaWNoIGlzIGFs bCB0aGUgbGlua2VyIG5lZWRzIHRvDQorICAgcmV3cml0ZSB0aGUgdmFsdWUgYWZ0ZXIgcmVsYXhh dGlvbi4gIERXQVJGIDUgbG9jYXRpb24gYW5kIHJhbmdlIGxpc3RzDQorICAgYXJlIG1hZGUgYWxt b3N0IGVudGlyZWx5IG9mIHN1Y2ggZGlmZmVyZW5jZXMsIHNvIHdpdGhvdXQgdGhpcyB0aGUgY29k ZQ0KKyAgIGNvdmVyZWQgYnkgdGhlbSBjb3VsZCBuZXZlciBiZSByZWxheGVkLg0KKw0KKyAgIFRo aXMgaGFzIHRvIHJ1biBiZWZvcmUgcmVsYXhhdGlvbiB0dXJucyB0aGUgcnNfbGViMTI4IGZyYWdz IGludG8gcGxhaW4NCisgICBkYXRhLiAgRGlmZmVyZW5jZXMgdGhhdCBjYW5ub3QgYmUgcmVwcmVz ZW50ZWQgdGhpcyB3YXkgYXJlIGxlZnQgdG8NCisgICB4dGVuc2FfbWFya19kaWZmZXJlbmNlX29m X3R3b19zeW1ib2xzLg0KKw0KKyAgIE1hcmsgdGhlIGV4cHJlc3Npb24gc3ltYm9sIHNvIHh0ZW5z YV9sZWIxMjhfZnJhZ19zaXplIGNhbiByZXNlcnZlIG9uZQ0KKyAgIHNwYXJlIGJ5dGU6IFh0ZW5z YSBsaW5rZXIgcmVsYXhhdGlvbiBjYW4gZ3JvdyBjb2RlLCB3aGljaCBtYXkgcHVzaCBhDQorICAg ZGlmZmVyZW5jZSBhY3Jvc3MgYSB1bGViMTI4IGJ5dGUgYm91bmRhcnkuICAqLw0KKw0KK3N0YXRp YyB2b2lkDQoreHRlbnNhX2luc2VydF91bGViMTI4X2ZpeGVzIChiZmQgKmFiZmQgQVRUUklCVVRF X1VOVVNFRCwNCisJCQkgICAgIGFzZWN0aW9uICpzZWMsDQorCQkJICAgICB2b2lkICp1bnVzZWQg QVRUUklCVVRFX1VOVVNFRCkNCit7DQorICBzZWdtZW50X2luZm9fdHlwZSAqc2VnaW5mbyA9IHNl Z19pbmZvIChzZWMpOw0KKyAgZnJhZ1MgKmZyYWdQOw0KKw0KKyAgaWYgKHNlZ2luZm8gPT0gTlVM TCB8fCBzZWdpbmZvLT5mcmNoYWluUCA9PSBOVUxMKQ0KKyAgICByZXR1cm47DQorDQorICBzdWJz ZWdfc2V0IChzZWMsIDApOw0KKw0KKyAgZm9yIChmcmFnUCA9IHNlZ2luZm8tPmZyY2hhaW5QLT5m cmNoX3Jvb3Q7IGZyYWdQOyBmcmFnUCA9IGZyYWdQLT5mcl9uZXh0KQ0KKyAgICB7DQorICAgICAg ZXhwcmVzc2lvblMgKmV4cDsNCisNCisgICAgICAvKiBBIG5vbi16ZXJvIGZyX3N1YnR5cGUgbWVh bnMgc2xlYjEyOCwgZm9yIHdoaWNoIHRoZXJlIGlzIG5vDQorCSByZWxvY2F0aW9uLiAgKi8NCisg ICAgICBpZiAoZnJhZ1AtPmZyX3R5cGUgIT0gcnNfbGViMTI4IHx8IGZyYWdQLT5mcl9zdWJ0eXBl ICE9IDANCisJICB8fCBmcmFnUC0+ZnJfc3ltYm9sID09IE5VTEwpDQorCWNvbnRpbnVlOw0KKw0K KyAgICAgIGV4cCA9IHN5bWJvbF9nZXRfdmFsdWVfZXhwcmVzc2lvbiAoZnJhZ1AtPmZyX3N5bWJv bCk7DQorICAgICAgaWYgKGV4cC0+WF9vcCAhPSBPX3N1YnRyYWN0KQ0KKwljb250aW51ZTsNCisN CisgICAgICAvKiBEaWZmZXJlbmNlcyBvZiBzeW1ib2xzIGluIGRpZmZlcmVudCBzZWN0aW9ucyBh cmUgcmVzb2x2ZWQgYnkgdGhlDQorCSBsaW5rZXIgYW55d2F5LiAgKi8NCisgICAgICBpZiAoU19H RVRfU0VHTUVOVCAoZXhwLT5YX2FkZF9zeW1ib2wpDQorCSAgIT0gU19HRVRfU0VHTUVOVCAoZXhw LT5YX29wX3N5bWJvbCkpDQorCWNvbnRpbnVlOw0KKw0KKyAgICAgIGZpeF9uZXcgKGZyYWdQLCBm cmFnUC0+ZnJfZml4LCAwLCBleHAtPlhfb3Bfc3ltYm9sLCAwLCAwLA0KKwkgICAgICAgQkZEX1JF TE9DX1hURU5TQV9QRElGRl9VTEVCMTI4KTsNCisgICAgICBzeW1ib2xfZ2V0X3RjIChmcmFnUC0+ ZnJfc3ltYm9sKS0+aGFzX2xlYjEyOF9kaWZmX3JlbG9jID0gMTsNCisgICAgfQ0KK30NCisNCisv KiBGb3IgdWxlYjEyOCBkaWZmcyB3aXRoIFJfWFRFTlNBX1BESUZGX1VMRUIxMjgsIHJlc2VydmUg b25lIHNwYXJlIGJ5dGUgc28NCisgICBsaW5rZXIgcmVsYXhhdGlvbiBjYW4gZ3JvdyB0aGUgdmFs dWUgYWNyb3NzIG9uZSA3LWJpdCBib3VuZGFyeSB3aXRob3V0DQorICAgb3ZlcmZsb3dpbmcuICBH cm93dGggdGhhdCBuZWVkcyBtb3JlIHRoYW4gb25lIGV4dHJhIGJ5dGUgc3RpbGwgZXJyb3JzIGlu DQorICAgdGhlIGxpbmtlci4gIGZyYWdfdmFyIGFscmVhZHkgYWxsb2NhdGVkIHNpemVvZl9sZWIx MjggKH4wLCAwKSBieXRlczsNCisgICBjbGFtcCBpZiB0aGUgdmFsdWUgYWxyZWFkeSBuZWVkcyB0 aGF0IG1hbnkuICAqLw0KKw0KK29mZnNldFQNCit4dGVuc2FfbGViMTI4X2ZyYWdfc2l6ZSAoY29u c3QgZnJhZ1MgKmZyYWdQLCBvZmZzZXRUIHNpemUpDQorew0KKyAgaWYgKGZyYWdQLT5mcl9zeW1i b2wgIT0gTlVMTA0KKyAgICAgICYmIHN5bWJvbF9nZXRfdGMgKGZyYWdQLT5mcl9zeW1ib2wpLT5o YXNfbGViMTI4X2RpZmZfcmVsb2MNCisgICAgICAmJiBzaXplIDwgKG9mZnNldFQpIHNpemVvZl9s ZWIxMjggKH4odmFsdWVUKSAwLCAwKSkNCisgICAgc2l6ZSsrOw0KKyAgcmV0dXJuIHNpemU7DQor fQ0KKw0KIA0KIC8qIFdoZW4gYSBkaWZmZXJlbmNlLW9mLXN5bWJvbHMgZXhwcmVzc2lvbiBpcyBl bmNvZGVkIGFzIGEgdWxlYjEyOCBvcg0KLSAgIHNsZWIxMjggdmFsdWUsIHRoZSBsaW5rZXIgaXMg dW5hYmxlIHRvIGFkanVzdCB0aGF0IHZhbHVlIHRvIGFjY291bnQgZm9yDQotICAgbGluay10aW1l IHJlbGF4YXRpb24uICBNYXJrIGFsbCB0aGUgY29kZSBiZXR3ZWVuIHN1Y2ggc3ltYm9scyBzbyB0 aGF0DQotICAgaXRzIHNpemUgY2Fubm90IGJlIGNoYW5nZWQgYnkgbGlua2VyIHJlbGF4YXRpb24u ICAqLw0KKyAgIHNsZWIxMjggdmFsdWUgYW5kIG5vIHJlbG9jYXRpb24gY2FuIGV4cHJlc3MgaXQs IHRoZSBsaW5rZXIgaXMgdW5hYmxlIHRvDQorICAgYWRqdXN0IHRoYXQgdmFsdWUgdG8gYWNjb3Vu dCBmb3IgbGluay10aW1lIHJlbGF4YXRpb24uICBNYXJrIGFsbCB0aGUgY29kZQ0KKyAgIGJldHdl ZW4gc3VjaCBzeW1ib2xzIHNvIHRoYXQgaXRzIHNpemUgY2Fubm90IGJlIGNoYW5nZWQgYnkgbGlu a2VyDQorICAgcmVsYXhhdGlvbi4gICovDQogDQogc3RhdGljIHZvaWQNCiB4dGVuc2FfbWFya19k aWZmZXJlbmNlX29mX3R3b19zeW1ib2xzICh2b2lkKQ0KQEAgLTgyNjUsNiArODM0Miw5IEBAIHh0 ZW5zYV9tYXJrX2RpZmZlcmVuY2Vfb2ZfdHdvX3N5bWJvbHMgKHZvaWQpDQogICAgIHsNCiAgICAg ICBleHByZXNzaW9uUyAqZXhwID0gc3ltYm9sX2dldF92YWx1ZV9leHByZXNzaW9uIChleHByX3N5 bSk7DQogDQorICAgICAgaWYgKHN5bWJvbF9nZXRfdGMgKGV4cHJfc3ltKS0+aGFzX2xlYjEyOF9k aWZmX3JlbG9jKQ0KKwljb250aW51ZTsNCisNCiAgICAgICBpZiAoZXhwLT5YX29wID09IE9fc3Vi dHJhY3QpDQogCXsNCiAJICBzeW1ib2xTICpsZWZ0ID0gZXhwLT5YX2FkZF9zeW1ib2w7DQpkaWZm IC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy14dGVuc2EuaCBiL2dhcy9jb25maWcvdGMteHRlbnNhLmgN CmluZGV4IDY0ZDczNTE0NGQ3Li5hZmQ3NDc4ZGQ4ZCAxMDA2NDQNCi0tLSBhL2dhcy9jb25maWcv dGMteHRlbnNhLmgNCisrKyBiL2dhcy9jb25maWcvdGMteHRlbnNhLmgNCkBAIC0yOTcsNiArMjk3 LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgeHRlbnNhX3N5bWZpZWxkX3R5cGUNCiB7DQogICB1bnNpZ25l ZCBpbnQgaXNfbG9vcF90YXJnZXQgOiAxOw0KICAgdW5zaWduZWQgaW50IGlzX2JyYW5jaF90YXJn ZXQgOiAxOw0KKyAgLyogU2V0IHdoZW4gYSB1bGViMTI4IGRpZmZlcmVuY2UgZ290IFJfWFRFTlNB X1BESUZGX1VMRUIxMjgsIHNvIGNvZGUNCisgICAgIGJldHdlZW4gdGhlIHN5bWJvbHMgbWF5IHN0 aWxsIGJlIHJlbGF4ZWQuICAqLw0KKyAgdW5zaWduZWQgaW50IGhhc19sZWIxMjhfZGlmZl9yZWxv YyA6IDE7DQogICBzeW1ib2xTICpuZXh0X2V4cHJfc3ltYm9sOw0KIH0geHRlbnNhX3N5bWZpZWxk X3R5cGU7DQogDQpAQCAtMzQxLDYgKzM0NCw3IEBAIGV4dGVybiBpbnQgeHRlbnNhX3VucmVjb2du aXplZF9saW5lIChpbnQpOw0KIGV4dGVybiBib29sIHh0ZW5zYV9jaGVja19pbnNpZGVfYnVuZGxl ICh2b2lkKTsNCiBleHRlcm4gdm9pZCB4dGVuc2FfaGFuZGxlX2FsaWduIChmcmFnUyAqKTsNCiBl eHRlcm4gY2hhciAqeHRlbnNhX3NlY3Rpb25fcmVuYW1lIChjb25zdCBjaGFyICopOw0KK2V4dGVy biBvZmZzZXRUIHh0ZW5zYV9sZWIxMjhfZnJhZ19zaXplIChjb25zdCBmcmFnUyAqLCBvZmZzZXRU KTsNCiANCiAvKiBXZSBuZWVkIHRvIHNldCB0aGUgdGFyZ2V0IGVuZGlhbm5lc3MgaW4geHRlbnNh X2luaXQgYW5kIG5vdCBpbiBtZF9iZWdpbi4NCiAgICBUaGlzIGlzIGJlY2F1c2UgeHRlbnNhX3Rh cmdldF9mb3JtYXQgaXMgY2FsbGVkIGJlZm9yZSBtZF9iZWdpbiwgYW5kIHdlDQpAQCAtMzc0LDYg KzM3OCw3IEBAIGV4dGVybiB2b2lkIHh0ZW5zYV9pbml0IChpbnQsIGNoYXIgKiopOw0KICNkZWZp bmUgbWRfZWxmX3NlY3Rpb25fY2hhbmdlX2hvb2sJeHRlbnNhX2VsZl9zZWN0aW9uX2NoYW5nZV9o b29rDQogI2RlZmluZSBtZF9maW5pc2gJCQl4dGVuc2FfbWRfZmluaXNoDQogI2RlZmluZSBtZF9m bHVzaF9wZW5kaW5nX291dHB1dCgpCXh0ZW5zYV9mbHVzaF9wZW5kaW5nX291dHB1dCAoKQ0KKyNk ZWZpbmUgbWRfbGViMTI4X2ZyYWdfc2l6ZShmcmFnLCBzaXplKQl4dGVuc2FfbGViMTI4X2ZyYWdf c2l6ZSAoZnJhZywgc2l6ZSkNCiAjZGVmaW5lIG1kX29wZXJhbmQoeCkNCiAjZGVmaW5lIFRFWFRf U0VDVElPTl9OQU1FCQl4dGVuc2Ffc2VjdGlvbl9yZW5hbWUgKCIudGV4dCIpDQogI2RlZmluZSBE QVRBX1NFQ1RJT05fTkFNRQkJeHRlbnNhX3NlY3Rpb25fcmVuYW1lICgiLmRhdGEiKQ0KZGlmZiAt LWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL3h0ZW5zYS9wZGlmZi11bGViMTI4LW5vcmVsYXguZCBi L2dhcy90ZXN0c3VpdGUvZ2FzL3h0ZW5zYS9wZGlmZi11bGViMTI4LW5vcmVsYXguZA0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5kY2Q0NjQxMDgzZg0KLS0tIC9kZXYv bnVsbA0KKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMveHRlbnNhL3BkaWZmLXVsZWIxMjgtbm9yZWxh eC5kDQpAQCAtMCwwICsxLDIwIEBADQorI2FzOiAtLW5vLWxpbmstcmVsYXgNCisjc291cmNlOiBw ZGlmZi11bGViMTI4LnMNCisjb2JqZHVtcDogLXIgLXMgLWogLmRlYnVnX2luZm8gLWogLnh0LnBy b3ANCisjbmFtZTogdWxlYjEyOCBkaWZmZXJlbmNlIHdpdGhvdXQgbGluay1yZWxheA0KKw0KKyMg V2l0aG91dCBsaW5rLXJlbGF4LCBubyBSX1hURU5TQV9QRElGRl9VTEVCMTI4IGlzIGVtaXR0ZWQu ICBUaGUgYXNzZW1ibGVyDQorIyBmYWxscyBiYWNrIHRvIG1hcmtpbmcgdGhlIGNvdmVyZWQgY29k ZSBub190cmFuc2Zvcm0gdmlhIC54dC5wcm9wLCBhbmQgdGhlDQorIyB1bGViMTI4IHVzZXMgdGhl IG1pbmltYWwgZW5jb2RpbmcgKG5vIHNwYXJlIGJ5dGUpLg0KKw0KKy4qOiArZmlsZSBmb3JtYXQg Lip4dGVuc2EuKg0KKw0KK1JFTE9DQVRJT04gUkVDT1JEUyBGT1IgXFsueHQucHJvcFxdOg0KK09G RlNFVCArVFlQRSArVkFMVUUNCiswKyBSX1hURU5TQV8zMiArLnRleHQuKg0KKw0KK0NvbnRlbnRz IG9mIHNlY3Rpb24gLmRlYnVnX2luZm86DQorIDAwMDAgYzgwMS4qDQorIy4uLg0KK0NvbnRlbnRz IG9mIHNlY3Rpb24gLnh0LnByb3A6DQorIDAwMDAgLioNCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1 aXRlL2dhcy94dGVuc2EvcGRpZmYtdWxlYjEyOC5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMveHRlbnNh L3BkaWZmLXVsZWIxMjguZA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAw Li41YzM4ZjU2Y2E2Ng0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMveHRl bnNhL3BkaWZmLXVsZWIxMjguZA0KQEAgLTAsMCArMSwxMiBAQA0KKyNvYmpkdW1wOiAtciAtcyAt aiAuZGVidWdfaW5mbw0KKyNuYW1lOiB1bGViMTI4IGRpZmZlcmVuY2UgcmVsb2MNCisNCisuKjog K2ZpbGUgZm9ybWF0IC4qeHRlbnNhLioNCisNCitSRUxPQ0FUSU9OIFJFQ09SRFMgRk9SIFxbLmRl YnVnX2luZm9cXToNCitPRkZTRVQgK1RZUEUgK1ZBTFVFDQorMCsgUl9YVEVOU0FfUERJRkZfVUxF QjEyOCArLnRleHQuKg0KKw0KKyMgRGlmZmVyZW5jZSBpcyAyMDAgKDB4YzggMHgwMSkgcGx1cyBv bmUgc3BhcmUgYnl0ZSByZXNlcnZlZCBmb3IgZ3Jvd3RoLg0KK0NvbnRlbnRzIG9mIHNlY3Rpb24g LmRlYnVnX2luZm86DQorIDAwMDAgYzg4MTAwLioNCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRl L2dhcy94dGVuc2EvcGRpZmYtdWxlYjEyOC5zIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMveHRlbnNhL3Bk aWZmLXVsZWIxMjgucw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4w YjQzMWEzYWMyNg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMveHRlbnNh L3BkaWZmLXVsZWIxMjgucw0KQEAgLTAsMCArMSw3IEBADQorCS50ZXh0DQorLkwxOg0KKwkuc3Bh Y2UJMjAwDQorLkwyOg0KKw0KKwkuc2VjdGlvbgkuZGVidWdfaW5mbywgIiIsIEBwcm9nYml0cw0K KwkudWxlYjEyOAkuTDIgLSAuTDENCmRpZmYgLS1naXQgYS9nYXMvd3JpdGUuYyBiL2dhcy93cml0 ZS5jDQppbmRleCAzNDk0ODcxMjcwYS4uNmJmYThhZjEzNTEgMTAwNjQ0DQotLS0gYS9nYXMvd3Jp dGUuYw0KKysrIGIvZ2FzL3dyaXRlLmMNCkBAIC00NjEsNiArNDYxLDIzIEBAIGN2dF9mcmFnX3Rv X2ZpbGwgKHNlZ1Qgc2VjIEFUVFJJQlVURV9VTlVTRUQsIGZyYWdTICpmcmFnUCkNCiAJc2l6ZSA9 IG91dHB1dF9sZWIxMjggKGZyYWdQLT5mcl9saXRlcmFsICsgZnJhZ1AtPmZyX2ZpeCwgdmFsdWUs DQogCQkJICAgICAgZnJhZ1AtPmZyX3N1YnR5cGUpOw0KIA0KKwkvKiBSZWxheGF0aW9uIG1heSBo YXZlIHJlc2VydmVkIG1vcmUgcm9vbSB0aGFuIHRoZSBzaG9ydGVzdCBlbmNvZGluZw0KKwkgICBu ZWVkcyAoc2VlIG1kX2xlYjEyOF9mcmFnX3NpemUpLiAgS2VlcCB0aGUgcmVzZXJ2ZWQgc2l6ZSBi eSBhZGRpbmcNCisJICAgcmVkdW5kYW50IGhpZ2gtb3JkZXIgY29udGludWF0aW9uIGJ5dGVzOyBp bmVydCB1bmxlc3MgYSB0YXJnZXQNCisJICAgaG9vayBncmV3IGZyX29mZnNldCBhYm92ZSB0aGUg bWluaW1hbCBlbmNvZGluZy4gICovDQorCWlmICgob2Zmc2V0VCkgc2l6ZSA8IGZyYWdQLT5mcl9v ZmZzZXQpDQorCSAgew0KKwkgICAgY2hhciAqcCA9IGZyYWdQLT5mcl9saXRlcmFsICsgZnJhZ1At PmZyX2ZpeDsNCisJICAgIGNoYXIgcGFkID0gZnJhZ1AtPmZyX3N1YnR5cGUgJiYgKG9mZnNldFQp IHZhbHVlIDwgMCA/IDB4N2YgOiAwOw0KKw0KKwkgICAgZG8NCisJICAgICAgew0KKwkJcFtzaXpl IC0gMV0gfD0gMHg4MDsNCisJCXBbc2l6ZSsrXSA9IHBhZDsNCisJICAgICAgfQ0KKwkgICAgd2hp bGUgKChvZmZzZXRUKSBzaXplIDwgZnJhZ1AtPmZyX29mZnNldCk7DQorCSAgfQ0KKw0KIAlmcmFn UC0+ZnJfZml4ICs9IHNpemU7DQogCWZyYWdQLT5mcl90eXBlID0gcnNfZmlsbDsNCiAJZnJhZ1At PmZyX3ZhciA9IDA7DQpAQCAtMzEwOCw2ICszMTI1LDkgQEAgcmVsYXhfc2VnbWVudCAoc3RydWN0 IGZyYWcgKnNlZ21lbnRfZnJhZ19yb290LCBzZWdUIHNlZ21lbnQsIGludCBwYXNzKQ0KIA0KIAkJ ICB2YWx1ZSA9IHJlc29sdmVfc3ltYm9sX3ZhbHVlIChmcmFnUC0+ZnJfc3ltYm9sKTsNCiAJCSAg c2l6ZSA9IHNpemVvZl9sZWIxMjggKHZhbHVlLCBmcmFnUC0+ZnJfc3VidHlwZSk7DQorI2lmZGVm IG1kX2xlYjEyOF9mcmFnX3NpemUNCisJCSAgc2l6ZSA9IG1kX2xlYjEyOF9mcmFnX3NpemUgKGZy YWdQLCBzaXplKTsNCisjZW5kaWYNCiAJCSAgZ3Jvd3RoID0gc2l6ZSAtIGZyYWdQLT5mcl9vZmZz ZXQ7DQogCQkgIGZyYWdQLT5mcl9vZmZzZXQgPSBzaXplOw0KIAkJfQ0KZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZWxmL3h0ZW5zYS5oIGIvaW5jbHVkZS9lbGYveHRlbnNhLmgNCmluZGV4IDFhOWJkZjk1 Y2Y3Li4wMzJiOTRlZjk0YiAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvZWxmL3h0ZW5zYS5oDQorKysg Yi9pbmNsdWRlL2VsZi94dGVuc2EuaA0KQEAgLTkzLDYgKzkzLDkgQEAgU1RBUlRfUkVMT0NfTlVN QkVSUyAoZWxmX3h0ZW5zYV9yZWxvY190eXBlKQ0KICAgICAgUkVMT0NfTlVNQkVSIChSX1hURU5T QV9ORElGRjgsIDYwKQ0KICAgICAgUkVMT0NfTlVNQkVSIChSX1hURU5TQV9ORElGRjE2LCA2MSkN CiAgICAgIFJFTE9DX05VTUJFUiAoUl9YVEVOU0FfTkRJRkYzMiwgNjIpDQorICAgICAvKiBQb3Np dGl2ZSBzYW1lLXNlY3Rpb24gZGlmZmVyZW5jZSBlbmNvZGVkIGFzIHVsZWIxMjg7IHJld3JpdHRl bg0KKwlpbiBwbGFjZSBhZnRlciByZWxheGF0aW9uIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHNlY3Rp b24gc2l6ZS4gICovDQorICAgICBSRUxPQ19OVU1CRVIgKFJfWFRFTlNBX1BESUZGX1VMRUIxMjgs IDYzKQ0KIEVORF9SRUxPQ19OVU1CRVJTIChSX1hURU5TQV9tYXgpDQogDQogLyogUHJvY2Vzc29y LXNwZWNpZmljIGZsYWdzIGZvciB0aGUgRUxGIGhlYWRlciBlX2ZsYWdzIGZpZWxkLiAgKi8NCmRp ZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVsZWIxMjgtMi5kIGIvbGQv dGVzdHN1aXRlL2xkLXh0ZW5zYS9yZWxheC11bGViMTI4LTIuZA0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5jMGYxYzljYTM3OA0KLS0tIC9kZXYvbnVsbA0KKysrIGIv bGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS9yZWxheC11bGViMTI4LTIuZA0KQEAgLTAsMCArMSwxMiBA QA0KKyNzb3VyY2U6IHJlbGF4LXVsZWIxMjgtMi5zDQorI3NvdXJjZTogbGNhbGwyLnMNCisjbGQ6 IC1UIGxjYWxsLnQNCisjb2JqZHVtcDogLXMgLWogLmRlYnVnX2luZm8NCisjbmFtZTogdWxlYjEy OCBkaWZmZXJlbmNlIHNocmlua2luZyBiZWxvdyAxMjgNCisNCisjIFRoZSBkaWZmZXJlbmNlIGlz IDE1NiBiZWZvcmUgcmVsYXhhdGlvbiBhbmQgMTA4IGFmdGVyIGl0LCBzbyB0aGUgdmFsdWUgbm8N CisjIGxvbmdlciBuZWVkcyB0d28gYnl0ZXMuICBUaGUgYXNzZW1ibGVyIHJlc2VydmVkIG9uZSBz cGFyZSBieXRlICh0aHJlZQ0KKyMgdG90YWwpLCBhbmQgdGhlIGxpbmtlciBtdXN0IGtlZXAgdGhh dCBmaXhlZCB3aWR0aCB3aXRoIHVsZWIxMjggcGFkZGluZy4NCisjLi4uDQorIDAwMDAgZWM4MDAw LioNCisjLi4uDQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS9yZWxheC11bGVi MTI4LTIucyBiL2xkL3Rlc3RzdWl0ZS9sZC14dGVuc2EvcmVsYXgtdWxlYjEyOC0yLnMNCm5ldyBm aWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uYzU4N2VkOGJiMDYNCi0tLSAvZGV2 L251bGwNCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC14dGVuc2EvcmVsYXgtdWxlYjEyOC0yLnMNCkBA IC0wLDAgKzEsMTggQEANCisJLmdsb2JsCV9zdGFydA0KKwkuZ2xvYmwJZm9vDQorCS50ZXh0DQor CS5hbGlnbgk0DQorX3N0YXJ0Og0KKwkubGl0ZXJhbAkuTHVudXNlZCwgMHhmZmZmZmZmZg0KKwll bnRyeQlhNSwgMTYNCisuTDE6DQorCS5zcGFjZQk2MA0KKwkuYmVnaW4JbG9uZ2NhbGxzDQorCS5y ZXB0CTE2DQorCWNhbGw0CWZvbw0KKwkuZW5kcg0KKwkuZW5kCWxvbmdjYWxscw0KKy5MMjoNCisN CisJLnNlY3Rpb24JLmRlYnVnX2luZm8sICIiLCBAcHJvZ2JpdHMNCisJLnVsZWIxMjgJLkwyIC0g LkwxDQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS9yZWxheC11bGViMTI4LmQg Yi9sZC90ZXN0c3VpdGUvbGQteHRlbnNhL3JlbGF4LXVsZWIxMjguZA0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4wOGIwMTc5ODRkOA0KLS0tIC9kZXYvbnVsbA0KKysr IGIvbGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS9yZWxheC11bGViMTI4LmQNCkBAIC0wLDAgKzEsMTEg QEANCisjc291cmNlOiByZWxheC11bGViMTI4LnMNCisjc291cmNlOiBsY2FsbDIucw0KKyNsZDog LVQgbGNhbGwudA0KKyNvYmpkdW1wOiAtcyAtaiAuZGVidWdfaW5mbw0KKyNuYW1lOiB1bGViMTI4 IGRpZmZlcmVuY2UgYWZ0ZXIgbG9uZ2NhbGwgcmVsYXgNCisNCisjIExvbmdjYWxsIHJlbGF4ZXMg ZnJvbSA2IGJ5dGVzIHRvIDM7IHdpdGggdGhlIHRyYWlsaW5nIG5vcCB0aGUgZGlmZmVyZW5jZQ0K KyMgaXMgNS4gIEFzc2VtYmxlciByZXNlcnZlZCBvbmUgc3BhcmUgYnl0ZSAodHdvIHRvdGFsKS4N CisjLi4uDQorIDAwMDAgODUwMC4qDQorIy4uLg0KZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9s ZC14dGVuc2EvcmVsYXgtdWxlYjEyOC5zIGIvbGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS9yZWxheC11 bGViMTI4LnMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uOGUxYzAw NTg5NzYNCi0tLSAvZGV2L251bGwNCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC14dGVuc2EvcmVsYXgt dWxlYjEyOC5zDQpAQCAtMCwwICsxLDE2IEBADQorCS5nbG9ibAlfc3RhcnQNCisJLmdsb2JsCWZv bw0KKwkudGV4dA0KKwkuYWxpZ24JNA0KK19zdGFydDoNCisJLmxpdGVyYWwJLkx1bnVzZWQsIDB4 ZmZmZmZmZmYNCisJZW50cnkJYTUsIDE2DQorLkwxOg0KKwkuYmVnaW4JbG9uZ2NhbGxzDQorCWNh bGw0CWZvbw0KKwkuZW5kCWxvbmdjYWxscw0KKwlub3ANCisuTDI6DQorDQorCS5zZWN0aW9uCS5k ZWJ1Z19pbmZvLCAiIiwgQHByb2diaXRzDQorCS51bGViMTI4CS5MMiAtIC5MMQ0KZGlmZiAtLWdp dCBhL2xkL3Rlc3RzdWl0ZS9sZC14dGVuc2EveHRlbnNhLmV4cCBiL2xkL3Rlc3RzdWl0ZS9sZC14 dGVuc2EveHRlbnNhLmV4cA0KaW5kZXggNzE3M2M2YjIxYjIuLjY2YTZiN2E2MGRhIDEwMDY0NA0K LS0tIGEvbGQvdGVzdHN1aXRlL2xkLXh0ZW5zYS94dGVuc2EuZXhwDQorKysgYi9sZC90ZXN0c3Vp dGUvbGQteHRlbnNhL3h0ZW5zYS5leHANCkBAIC0zMCw2ICszMCw4IEBAIHJ1bl9kdW1wX3Rlc3Qg ImxjYWxsIg0KIHJ1bl9kdW1wX3Rlc3QgInJlbGF4LWRpZmYxIg0KIHJ1bl9kdW1wX3Rlc3QgInJl bGF4LWxvYyINCiBydW5fZHVtcF90ZXN0ICJyZWxheC1uZGlmZiINCitydW5fZHVtcF90ZXN0ICJy ZWxheC11bGViMTI4Ig0KK3J1bl9kdW1wX3Rlc3QgInJlbGF4LXVsZWIxMjgtMiINCiANCiBydW5f ZHVtcF90ZXN0ICJyZWxheC1zdGF0aWMtcGllIg0KIHJ1bl9kdW1wX3Rlc3QgInJlbGF4LXN0YXRp Yy1sb2NhbC1waWUiDQotLSANCjIuNDMuMA0KDQo=