From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kazu Hirata To: "'binutils@sourceware.cygnus.com'" Subject: [patch] gas/config/tc-h8300.c Date: Thu, 22 Jun 2000 09:47:00 -0000 Message-id: <41ECF07CC183D111A6F800805FEDAB190CE63B@EXCHANGE1> X-SW-Source: 2000-06/msg00465.html Content-type: multipart/mixed; boundary="----------=_1583532593-64246-28" This is a multi-part message in MIME format... ------------=_1583532593-64246-28 Content-length: 96 Hi, Attached is a patch for gas/config/tc-h8300.c. It fixes formatting. Thanks, Kazu Hirata ------------=_1583532593-64246-28 Content-Type: text/plain; charset=us-ascii; name="ChangeLog-tc-h8300" Content-Disposition: inline; filename="ChangeLog-tc-h8300" Content-Transfer-Encoding: base64 Content-Length: 110 MjAwMC0wNi0yMiAgS2F6dSBIaXJhdGEgIDxrYXp1QGh4aS5jb20+CgoJKiBj b25maWcvdGMtaDgzMDAuYzogRml4IGZvcm1hdHRpbmcuCgo= ------------=_1583532593-64246-28 Content-Type: text/x-diff; charset=us-ascii; name="tc-h8300.patch" Content-Disposition: inline; filename="tc-h8300.patch" Content-Transfer-Encoding: base64 Content-Length: 20472 SW5kZXg6IGdhcy9jb25maWcvdGMtaDgzMDAuYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2FzL2NvbmZpZy90Yy1o ODMwMC5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtcjEu NSB0Yy1oODMwMC5jCi0tLSB0Yy1oODMwMC5jCTIwMDAvMDYvMjEgMjE6MzE6 MjQJMS41CisrKyB0Yy1oODMwMC5jCTIwMDAvMDYvMjIgMTY6MjQ6NDkKQEAg LTE5LDcgKzE5LDYgQEAKICAgIFNvZnR3YXJlIEZvdW5kYXRpb24sIDU5IFRl bXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQQogICAgMDIxMTEt MTMwNywgVVNBLiAgKi8KIAotCiAvKgogICBXcml0dGVuIEJ5IFN0ZXZlIENo YW1iZXJsYWluCiAgIHNhY0BjeWdudXMuY29tCkBAIC01NCw3ICs1Myw2IEBA CiAjZGVmaW5lIERTWU1NT0RFIChIbW9kZSA/IExfMjQgOiBMXzE2KQogaW50 IGJzaXplID0gTF84OwkJLyogZGVmYXVsdCBicmFuY2ggZGlzcGxhY2VtZW50 ICovCiAKLQogdm9pZAogaDgzMDBobW9kZSAoKQogewpAQCAtNjgsNiArNjYs NyBAQAogICBTbW9kZSA9IDE7CiAgIEhtb2RlID0gMTsKIH0KKwogdm9pZAog c2JyYW5jaCAoc2l6ZSkKICAgICAgaW50IHNpemU7CkBAIC03NSwxNCArNzQs MTQgQEAKICAgYnNpemUgPSBzaXplOwogfQogCi1zdGF0aWMgdm9pZCBwaW50 ICgpCitzdGF0aWMgdm9pZAorcGludCAoKQogewogICBjb25zIChIbW9kZSA/ IDQgOiAyKTsKIH0KIAogY29uc3QgcHNldWRvX3R5cGVTIG1kX3BzZXVkb190 YWJsZVtdID0KIHsKLQogICB7Img4MzAwaCIsIGg4MzAwaG1vZGUsIDB9LAog ICB7Img4MzAwcyIsIGg4MzAwc21vZGUsIDB9LAogICB7InNicmFuY2giLCBz YnJhbmNoLCBMXzh9LApAQCAtMTEwLDEzICsxMDksMTAgQEAKIGNvbnN0IGNo YXIgRkxUX0NIQVJTW10gPSAiclJzU2ZGZER4WHBQIjsKIAogc3RhdGljIHN0 cnVjdCBoYXNoX2NvbnRyb2wgKm9wY29kZV9oYXNoX2NvbnRyb2w7CS8qIE9w Y29kZSBtbmVtb25pY3MgKi8KLQotLyoKLSAgVGhpcyBmdW5jdGlvbiBpcyBj YWxsZWQgb25jZSwgYXQgYXNzZW1ibGVyIHN0YXJ0dXAgdGltZS4gIFRoaXMg c2hvdWxkCi0gIHNldCB1cCBhbGwgdGhlIHRhYmxlcywgZXRjIHRoYXQgdGhl IE1EIHBhcnQgb2YgdGhlIGFzc2VtYmxlciBuZWVkcwotICAqLwogCi0KKy8q IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uY2UsIGF0IGFzc2VtYmxlciBz dGFydHVwIHRpbWUuICBUaGlzCisgICBzaG91bGQgc2V0IHVwIGFsbCB0aGUg dGFibGVzLCBldGMgdGhhdCB0aGUgTUQgcGFydCBvZiB0aGUgYXNzZW1ibGVy CisgICBuZWVkcy4gICovCiB2b2lkCiBtZF9iZWdpbiAoKQogewpAQCAtMTMw LDggKzEyNiw3IEBACiAgIGZvciAob3Bjb2RlID0gaDhfb3Bjb2Rlczsgb3Bj b2RlLT5uYW1lOyBvcGNvZGUrKykKICAgICB7CiAgICAgICAvKiBTdHJpcCBv ZmYgYW55IC4gcGFydCB3aGVuIGluc2VydGluZyB0aGUgb3Bjb2RlIGFuZCBv bmx5IGVudGVyCi0gICAgICAgICB1bmlxdWUgY29kZXMgaW50byB0aGUgaGFz aCB0YWJsZQotICAgICAgICAgKi8KKyAgICAgICAgIHVuaXF1ZSBjb2RlcyBp bnRvIHRoZSBoYXNoIHRhYmxlLiAgKi8KICAgICAgIGNoYXIgKnNyYyA9IG9w Y29kZS0+bmFtZTsKICAgICAgIHVuc2lnbmVkIGludCBsZW4gPSBzdHJsZW4g KHNyYyk7CiAgICAgICBjaGFyICpkc3QgPSBtYWxsb2MgKGxlbiArIDEpOwpA QCAtMTU2LDEzICsxNTEsMTMgQEAKIAkgIGlkeCsrOwogCX0KICAgICAgIG9w Y29kZS0+aWR4ID0gaWR4OwotCiAKLSAgICAgIC8qIEZpbmQgdGhlIG51bWJl ciBvZiBvcGVyYW5kcyAqLworICAgICAgLyogRmluZCB0aGUgbnVtYmVyIG9m IG9wZXJhbmRzLiAgKi8KICAgICAgIG9wY29kZS0+bm9wZXJhbmRzID0gMDsK ICAgICAgIHdoaWxlIChvcGNvZGUtPmFyZ3MubmliW29wY29kZS0+bm9wZXJh bmRzXSAhPSBFKQogCW9wY29kZS0+bm9wZXJhbmRzKys7Ci0gICAgICAvKiBG aW5kIHRoZSBsZW5ndGggb2YgdGhlIG9wY29kZSBpbiBieXRlcyAqLworCisg ICAgICAvKiBGaW5kIHRoZSBsZW5ndGggb2YgdGhlIG9wY29kZSBpbiBieXRl cy4gICovCiAgICAgICBvcGNvZGUtPmxlbmd0aCA9IDA7CiAgICAgICB3aGls ZSAob3Bjb2RlLT5kYXRhLm5pYltvcGNvZGUtPmxlbmd0aCAqIDJdICE9IEUp CiAJb3Bjb2RlLT5sZW5ndGgrKzsKQEAgLTE3MSwxNyArMTY2LDE2IEBACiAg IGxpbmtyZWxheCA9IDE7CiB9CiAKLQogc3RydWN0IGg4X2V4cAogewogICBj aGFyICplX2JlZzsKICAgY2hhciAqZV9lbmQ7CiAgIGV4cHJlc3Npb25TIGVf ZXhwOwogfTsKKwogaW50IGRpc3ByZWc7CiBpbnQgb3BzaXplOwkJCS8qIFNl dCB3aGVuIGEgcmVnaXN0ZXIgc2l6ZSBpcyBzZWVuICovCiAKLQogc3RydWN0 IGg4X29wCiB7CiAgIG9wX3R5cGUgbW9kZTsKQEAgLTIxMiwxMCArMjA2LDEw IEBACiAgIGNoYXIgKmVuZDsKICAgaW50IGxlbjsKIAotICAvKiBDcmliYmVk IGZyb20gZ2V0X3N5bWJvbF9lbmQoKS4gICovCisgIC8qIENyaWJiZWQgZnJv bSBnZXRfc3ltYm9sX2VuZCAoKS4gICovCiAgIGlmICghaXNfbmFtZV9iZWdp bm5lciAoKnNyYykgfHwgKnNyYyA9PSAnXDAwMScpCiAgICAgcmV0dXJuIDA7 Ci0gIGVuZCA9IHNyYysxOworICBlbmQgPSBzcmMgKyAxOwogICB3aGlsZSAo aXNfcGFydF9vZl9uYW1lICgqZW5kKSB8fCAqZW5kID09ICdcMDAxJykKICAg ICBlbmQrKzsKICAgbGVuID0gZW5kIC0gc3JjOwpAQCAtMjkzLDcgKzI4Nyw3 IEBACiBzdGF0aWMgY2hhciAqCiBwYXJzZV9leHAgKHMsIG9wKQogICAgICBj aGFyICpzOwotICAgICBleHByZXNzaW9uUyAqIG9wOworICAgICBleHByZXNz aW9uUyAqb3A7CiB7CiAgIGNoYXIgKnNhdmUgPSBpbnB1dF9saW5lX3BvaW50 ZXI7CiAgIGNoYXIgKm5ldzsKQEAgLTMyMSw3ICszMTUsNyBAQAogCXsKIAkg IHB0cisrOwogCSAgLyogZmYgZmlsbCBhbnkgOCBiaXQgcXVhbnRpdHkgKi8K LQkgLyogZXhwLT5YX2FkZF9udW1iZXIgLT0gMHgxMDA7Ki8KKwkgIC8qIGV4 cC0+WF9hZGRfbnVtYmVyIC09IDB4MTAwOyAqLwogCSAgKm1vZGUgfD0gTF84 OwogCX0KICAgICAgIGVsc2UKQEAgLTM3Myw3ICszNjcsNyBAQAogCiAgIGlm ICghbW9kZSkKICAgICB7Ci0gICAgICAvKiBDaG9vc2UgYSBkZWZhdWx0IG1v ZGUgKi8KKyAgICAgIC8qIENob29zZSBhIGRlZmF1bHQgbW9kZS4gICovCiAg ICAgICBpZiAob3AtPmV4cC5YX2FkZF9udW1iZXIgPCAtMzI3NjgKIAkgIHx8 IG9wLT5leHAuWF9hZGRfbnVtYmVyID4gMzI3NjcpCiAJewpAQCAtMzkzLDcg KzM4Nyw2IEBACiAKIH0KIAotCiBzdGF0aWMgdm9pZAogZ2V0X29wZXJhbmQg KHB0ciwgb3AsIGRzdCwgZGlyZWN0aW9uKQogICAgICBjaGFyICoqcHRyOwpA QCAtNDEwLDggKzQwMyw4IEBACiAKICAgLyogR3Jvc3MuICBHcm9zcy4gIGxk bSBhbmQgc3RtIGhhdmUgYSBmb3JtYXQgbm90IGVhc2lseSBoYW5kbGVkCiAg ICAgIGJ5IGdldF9vcGVyYW5kLiAgV2UgZGVhbCB3aXRoIGl0IGV4cGxpY2l0 bHkgaGVyZS4gICovCi0gIGlmIChzcmNbMF0gPT0gJ2UnICYmIHNyY1sxXSA9 PSAncicgJiYgaXNkaWdpdChzcmNbMl0pCi0gICAgICAmJiBzcmNbM10gPT0g Jy0nICYmIHNyY1s0XSA9PSAnZScgJiYgc3JjWzVdID09ICdyJyAmJiBpc2Rp Z2l0KHNyY1s2XSkpCisgIGlmIChzcmNbMF0gPT0gJ2UnICYmIHNyY1sxXSA9 PSAncicgJiYgaXNkaWdpdCAoc3JjWzJdKQorICAgICAgJiYgc3JjWzNdID09 ICctJyAmJiBzcmNbNF0gPT0gJ2UnICYmIHNyY1s1XSA9PSAncicgJiYgaXNk aWdpdCAoc3JjWzZdKSkKICAgICB7CiAgICAgICBpbnQgbG93LCBoaWdoOwog CkBAIC00NjIsMjkgKzQ1NSwyNCBAQAogCiAJICBvcC0+bW9kZSA9IE1FTUlO RDsKIAkgIHJldHVybjsKLQogCX0KIAotCiAgICAgICBpZiAoKnNyYyA9PSAn LScpCiAJewogCSAgc3JjKys7CiAJICBsZW4gPSBwYXJzZV9yZWcgKHNyYywg Jm1vZGUsICZudW0sIGRpcmVjdGlvbik7CiAJICBpZiAobGVuID09IDApCiAJ ICAgIHsKLQkgICAgICAvKiBPb3BzLCBub3QgYSByZWcgYWZ0ZXIgYWxsLCBt dXN0IGJlIG9yZGluYXJ5IGV4cCAqLworCSAgICAgIC8qIE9vcHMsIG5vdCBh IHJlZyBhZnRlciBhbGwsIG11c3QgYmUgb3JkaW5hcnkgZXhwLiAgKi8KIAkg ICAgICBzcmMtLTsKLQkgICAgICAvKiBtdXN0IGJlIGEgc3ltYm9sICovCisJ ICAgICAgLyogTXVzdCBiZSBhIHN5bWJvbC4gICovCiAJICAgICAgb3AtPm1v ZGUgPSBBQlMgfCBQU0laRSB8IGRpcmVjdGlvbjsKIAkgICAgICAqcHRyID0g c2tpcF9jb2xvbnRoaW5nIChwYXJzZV9leHAgKHNyYywgJm9wLT5leHApLAog CQkJCSAgICAgICZvcC0+ZXhwLCAmb3AtPm1vZGUpOwogCiAJICAgICAgcmV0 dXJuOwotCi0KIAkgICAgfQogCi0KIAkgIGlmICgobW9kZSAmIFNJWkUpICE9 IFBTSVpFKQogCSAgICBhc19iYWQgKF8oIldyb25nIHNpemUgcG9pbnRlciBy ZWdpc3RlciBmb3IgYXJjaGl0ZWN0dXJlLiIpKTsKIAkgIG9wLT5tb2RlID0g UkRERUM7CkBAIC00OTQsMTIgKzQ4MiwxMSBAQAogCX0KICAgICAgIGlmICgq c3JjID09ICcoJykKIAl7Ci0JICAvKiBEaXNwICovCisJICAvKiBEaXNwLiAg Ki8KIAkgIHNyYysrOwogCi0JICAvKiBTdGFydCBvZmYgYXNzdW1pbmcgYSAx NiBiaXQgb2Zmc2V0ICovCisJICAvKiBTdGFydCBvZmYgYXNzdW1pbmcgYSAx NiBiaXQgb2Zmc2V0LiAgKi8KIAotCiAJICBzcmMgPSBwYXJzZV9leHAgKHNy YywgJm9wLT5leHApOwogCiAJICBzcmMgPSBjb2xvbm1vZDI0IChvcCwgc3Jj KTsKQEAgLTU3Nyw3ICs1NjQsNiBAQAogCX0KICAgICB9CiAKLQogICBpZiAo KnNyYyA9PSAnIycpCiAgICAgewogICAgICAgc3JjKys7CkBAIC02MjQsOSAr NjEwLDcgQEAKICAgICB9CiB9CiAKLQotc3RhdGljCi1jaGFyICoKK3N0YXRp YyBjaGFyICoKIGdldF9vcGVyYW5kcyAobm9wZXJhbmRzLCBvcF9lbmQsIG9w ZXJhbmQpCiAgICAgIHVuc2lnbmVkIGludCBub3BlcmFuZHM7CiAgICAgIGNo YXIgKm9wX2VuZDsKQEAgLTY1Myw4ICs2MzcsOCBAQAogCXsKIAkgIG9wZXJh bmRbMV0ubW9kZSA9IDA7CiAJfQotCiAgICAgICBicmVhazsKKwogICAgIGNh c2UgMjoKICAgICAgIHB0cisrOwogICAgICAgZ2V0X29wZXJhbmQgKCZwdHIs IG9wZXJhbmQgKyAwLCAwLCBTUkMpOwpAQCAtNjY3LDE2ICs2NTEsMTMgQEAK ICAgICAgIGFib3J0ICgpOwogICAgIH0KIAotCiAgIHJldHVybiBwdHI7CiB9 CiAKIC8qIFBhc3NlZCBhIHBvaW50ZXIgdG8gYSBsaXN0IG9mIG9wY29kZXMg d2hpY2ggdXNlIGRpZmZlcmVudAogICAgYWRkcmVzc2luZyBtb2RlcywgcmV0 dXJuIHRoZSBvcGNvZGUgd2hpY2ggbWF0Y2hlcyB0aGUgb3Bjb2RlcwotICAg cHJvdmlkZWQKLSAgICovCi1zdGF0aWMKLXN0cnVjdCBoOF9vcGNvZGUgKgor ICAgcHJvdmlkZWQuICAqLworc3RhdGljIHN0cnVjdCBoOF9vcGNvZGUgKgog Z2V0X3NwZWNpZmljIChvcGNvZGUsIG9wZXJhbmRzLCBzaXplKQogICAgICBz dHJ1Y3QgaDhfb3Bjb2RlICpvcGNvZGU7CiAgICAgIHN0cnVjdCBoOF9vcCAq b3BlcmFuZHM7CkBAIC03MzIsNyArNzEzLDcgQEAKIAogCQkgIG9wc2l6ZSA9 IG9wICYgU0laRTsKIAotCQkgIC8qIFRoZSBzaXplIG9mIHRoZSByZWcgaXMg diBpbXBvcnRhbnQgKi8KKwkJICAvKiBUaGUgc2l6ZSBvZiB0aGUgcmVnIGlz IHYgaW1wb3J0YW50LiAgKi8KIAkJICBpZiAoKG9wICYgU0laRSkgIT0gKHgg JiBTSVpFKSkKIAkJICAgIGZvdW5kID0gMDsKIAkJfQpAQCAtNzQwLDcgKzcy MSw3IEBACiAJCXsKIAkJICBvcGVyYW5kc1tpXS5tb2RlICY9IH5BQlM7CiAJ CSAgb3BlcmFuZHNbaV0ubW9kZSB8PSBBQlNKTVA7Ci0JCSAgLyogQnV0IGl0 IG1heSBub3QgYmUgMjQgYml0cyBsb25nICovCisJCSAgLyogQnV0IGl0IG1h eSBub3QgYmUgMjQgYml0cyBsb25nLiAgKi8KIAkJICBpZiAoIUhtb2RlKQog CQkgICAgewogCQkgICAgICBvcGVyYW5kc1tpXS5tb2RlICY9IH5TSVpFOwpA QCAtNzQ5LDExICs3MzAsMTEgQEAKIAkJfQogCSAgICAgIGVsc2UgaWYgKChv cCAmIChLQklUIHwgREJJVCkpICYmICh4ICYgSU1NKSkKIAkJewotCQkgIC8q IFRoaXMgaXMgb2sgaWYgdGhlIGltbWVkaWF0ZSB2YWx1ZSBpcyBzZW5zaWJs ZSAqLworCQkgIC8qIFRoaXMgaXMgb2sgaWYgdGhlIGltbWVkaWF0ZSB2YWx1 ZSBpcyBzZW5zaWJsZS4gICovCiAJCX0KIAkgICAgICBlbHNlIGlmIChvcCAm IFBDUkVMKQogCQl7Ci0JCSAgLyogVGhlIHNpemUgb2YgdGhlIGRpc3BsYWNl bWVudCBpcyBpbXBvcnRhbnQgKi8KKwkJICAvKiBUaGUgc2l6ZSBvZiB0aGUg ZGlzcGxhY2VtZW50IGlzIGltcG9ydGFudC4gICovCiAJCSAgaWYgKChvcCAm IFNJWkUpICE9ICh4ICYgU0laRSkpCiAJCSAgICBmb3VuZCA9IDA7CiAJCX0K QEAgLTc2NywxMCArNzQ4LDEwIEBACiAJCSAgICAgIHggfD0gTF8zMjsKIAkJ ICAgIH0KIAkJICAvKiBQcm9tb3RlIGFuIEw4IHRvIExfMTYgaWYgaXQgbWFr ZXMgdXMgbWF0Y2guICAqLwotCQkgIGlmIChvcCAmIEFCUyAmJiBvcCAmIExf OCAmJiBvcCAmIERJU1ApIAorCQkgIGlmIChvcCAmIEFCUyAmJiBvcCAmIExf OCAmJiBvcCAmIERJU1ApCiAJCSAgICB7CiAJCSAgICAgIGlmICh4ICYgTF8x NikKLQkJCWZvdW5kPSAxOworCQkJZm91bmQgPSAxOwogCQkgICAgfQogCQkg IGVsc2UgaWYgKCh4ICYgU0laRSkgIT0gMAogCQkJICAgJiYgKChvcCAmIFNJ WkUpICE9ICh4ICYgU0laRSkpKQpAQCAtNzgzLDcgKzc2NCw3IEBACiAJICAg ICAgZWxzZSBpZiAoKG9wICYgTU9ERSkgIT0gKHggJiBNT0RFKSkKIAkJewog CQkgIGZvdW5kID0gMDsKLQkJfQkKKwkJfQogCSAgICB9CiAJfQogICAgIH0K QEAgLTgwMiwxMCArNzgzLDEwIEBACiAgIGlmIChvcGVyYW5kLT5leHAuWF9h ZGRfc3ltYm9sID09IDAKICAgICAgICYmIG9wZXJhbmQtPmV4cC5YX29wX3N5 bWJvbCA9PSAwKQogICAgIHsKLQotICAgICAgLyogTm8gc3ltYm9sIGludm9s dmVkLCBsZXQncyBsb29rIGF0IG9mZnNldCwgaXQncyBkYW5nZXJvdXMgaWYg YW55IG9mCi0JIHRoZSBoaWdoIGJpdHMgYXJlIG5vdCAwIG9yIGZmJ3MsIGZp bmQgb3V0IGJ5IG9yaW5nIG9yIGFuZGluZyB3aXRoCi0JIHRoZSB3aWR0aCBh bmQgc2VlaW5nIGlmIHRoZSBhbnN3ZXIgaXMgMCBvciBhbGwgZnMqLworICAg ICAgLyogTm8gc3ltYm9sIGludm9sdmVkLCBsZXQncyBsb29rIGF0IG9mZnNl dCwgaXQncyBkYW5nZXJvdXMgaWYKKwkgYW55IG9mIHRoZSBoaWdoIGJpdHMg YXJlIG5vdCAwIG9yIGZmJ3MsIGZpbmQgb3V0IGJ5IG9yaW5nIG9yCisJIGFu ZGluZyB3aXRoIHRoZSB3aWR0aCBhbmQgc2VlaW5nIGlmIHRoZSBhbnN3ZXIg aXMgMCBvciBhbGwKKwkgZnMuICAqLwogICAgICAgCiAgICAgICBpZiAoKG9w ZXJhbmQtPmV4cC5YX2FkZF9udW1iZXIgJiB+d2lkdGgpICE9IDAgJiYKIAkg IChvcGVyYW5kLT5leHAuWF9hZGRfbnVtYmVyIHwgd2lkdGgpICE9ICh+MCkp CkBAIC04MTcsMTQgKzc5OCwxMyBAQAogCQkgZml0IGEgMTYgYml0IGFkZHJl c3MgdHJ1bmNhdGVkIGludG8gYW4gOCBiaXQgYWRkcmVzcwogCQkgb2Ygc29t ZXRoaW5nIGxpa2UgYnNldC4gICovCiAJICAgIH0KLQkgIGVsc2UgCisJICBl bHNlCiAJICAgIHsKIAkgICAgICBhc193YXJuIChfKCJvcGVyYW5kICVzMHgl bHggb3V0IG9mIHJhbmdlLiIpLCBzdHJpbmcsCiAJCSAgICAgICAodW5zaWdu ZWQgbG9uZykgb3BlcmFuZC0+ZXhwLlhfYWRkX251bWJlcik7CiAJICAgIH0K IAl9CiAgICAgfQotCiB9CiAKIC8qIFJFTEFYTU9ERSBoYXMgb25lIG9mIDMg dmFsdWVzOgpAQCAtODQ3LDcgKzgyNyw2IEBACiAgIGludCBzaXplOwogICBp bnQgd2hlcmU7CiAKLQogICBjaGFyICp0ID0gb3BlcmFuZC0+bW9kZSAmIElN TSA/ICIjIiA6ICJAIjsKIAogICBpZiAob3BlcmFuZC0+ZXhwLlhfYWRkX3N5 bWJvbCA9PSAwKQpAQCAtODgwLDcgKzg1OSw3IEBACiAJICBicmVhazsKIAog CWNhc2UgTF8zMjoKLQkgIC8qIFRoaXMgc2hvdWxkIGJlIGRvbmUgd2l0aCBi ZmQgKi8KKwkgIC8qIFRoaXMgc2hvdWxkIGJlIGRvbmUgd2l0aCBiZmQuICAq LwogCSAgYnl0ZXNbMF0gPSBvcGVyYW5kLT5leHAuWF9hZGRfbnVtYmVyID4+ IDI0OwogCSAgYnl0ZXNbMV0gPSBvcGVyYW5kLT5leHAuWF9hZGRfbnVtYmVy ID4+IDE2OwogCSAgYnl0ZXNbMl0gPSBvcGVyYW5kLT5leHAuWF9hZGRfbnVt YmVyID4+IDg7CkBAIC04OTIsMTMgKzg3MSwxMSBAQAogCSAgICB9CiAJICBi cmVhazsKIAl9Ci0KICAgICB9CiAgIGVsc2UKICAgICB7CiAgICAgICBzd2l0 Y2ggKG9wZXJhbmQtPm1vZGUgJiBTSVpFKQogCXsKLQogCWNhc2UgTF8yNDoK IAljYXNlIExfMzI6CiAJICBzaXplID0gNDsKQEAgLTkxMSw3ICs4ODgsNyBA QAogCSAgICBpZHggPSBSX1JFTExPTkc7CiAJICBicmVhazsKIAlkZWZhdWx0 OgotCSAgYXNfYmFkKF8oIkNhbid0IHdvcmsgb3V0IHNpemUgb2Ygb3BlcmFu ZC5cbiIpKTsKKwkgIGFzX2JhZCAoXygiQ2FuJ3Qgd29yayBvdXQgc2l6ZSBv ZiBvcGVyYW5kLlxuIikpOwogCWNhc2UgTF8xNjoKIAkgIHNpemUgPSAyOwog CSAgd2hlcmUgPSAwOwpAQCAtOTM3LDExICs5MTQsOSBAQAogCQkgICAwLAog CQkgICBpZHgpOwogICAgIH0KLQogfQogCi0vKiBOb3cgd2Uga25vdyB3aGF0 IHNvcnQgb2Ygb3Bjb2RlcyBpdCBpcywgbGV0cyBidWlsZCB0aGUgYnl0ZXMg LQotICovCisvKiBOb3cgd2Uga25vdyB3aGF0IHNvcnQgb2Ygb3Bjb2RlcyBp dCBpcywgbGV0cyBidWlsZCB0aGUgYnl0ZXMuICAqLwogc3RhdGljIHZvaWQK IGJ1aWxkX2J5dGVzICh0aGlzX3RyeSwgb3BlcmFuZCkKICAgICAgc3RydWN0 IGg4X29wY29kZSAqdGhpc190cnk7CkBAIC05NzcsNyArOTUyLDYgQEAKIAl9 CiAgICAgICBlbHNlCiAJewotCiAJICBpZiAoYyAmIChSRUcgfCBJTkQgfCBJ TkMgfCBERUMpKQogCSAgICB7CiAJICAgICAgbmliID0gb3BlcmFuZFtkXS5y ZWc7CkBAIC05ODYsNyArOTYwLDcgQEAKIAkgICAgewogCSAgICAgIG5pYiA9 IGRpc3ByZWc7CiAJICAgIH0KLQkgIGVsc2UgaWYgKGMgJiAgQUJTICkKKwkg IGVsc2UgaWYgKGMgJiBBQlMpCiAJICAgIHsKIAkgICAgICBvcGVyYW5kW2Rd Lm1vZGUgPSBjOwogCSAgICAgIGFic2F0ID0gbmliYmxlX2NvdW50IC8gMjsK QEAgLTEwMzYsNyArMTAxMCw3IEBACiAJCSAgYXNfYmFkIChfKCJOZWVkICMx IG9yICMyIGhlcmUiKSk7CiAJCSAgYnJlYWs7CiAJCX0KLQkgICAgICAvKiBz dG9wIGl0IG1ha2luZyBhIGZpeCAqLworCSAgICAgIC8qIFN0b3AgaXQgbWFr aW5nIGEgZml4LiAgKi8KIAkgICAgICBvcGVyYW5kWzBdLm1vZGUgPSAwOwog CSAgICB9CiAKQEAgLTEwODMsNyArMTA1Nyw3IEBACiAgIGlmIChzdHJjbXAg KHRoaXNfdHJ5LT5uYW1lLCAibW92LmIiKSA9PSAwKQogICAgIG1vdmIgPSAx OwogCi0gIC8qIG91dHB1dCBhbnkgZml4ZXMgKi8KKyAgLyogT3V0cHV0IGFu eSBmaXhlcy4gICovCiAgIGZvciAoaSA9IDA7IGkgPCAyOyBpKyspCiAgICAg ewogICAgICAgaW50IHggPSBvcGVyYW5kW2ldLm1vZGU7CkBAIC0xMTI2LDcg KzExMDAsNiBAQAogCX0KICAgICAgIGVsc2UgaWYgKHggJiBNRU1JTkQpCiAJ ewotCiAJICBjaGVja19vcGVyYW5kIChvcGVyYW5kICsgaSwgMHhmZiwgIkBA Iik7CiAJICBmaXhfbmV3X2V4cCAoZnJhZ19ub3csCiAJCSAgICAgICBvdXRw dXQgLSBmcmFnX25vdy0+ZnJfbGl0ZXJhbCArIDEsCkBAIC0xMTM3LDcgKzEx MTAsNyBAQAogCX0KICAgICAgIGVsc2UgaWYgKHggJiBBQlNKTVApCiAJewot CSAgLyogVGhpcyBqbXAgbWF5IGJlIGEganVtcCBvciBhIGJyYW5jaCAqLwor CSAgLyogVGhpcyBqbXAgbWF5IGJlIGEganVtcCBvciBhIGJyYW5jaC4gICov CiAKIAkgIGNoZWNrX29wZXJhbmQgKG9wZXJhbmQgKyBpLCBIbW9kZSA/IDB4 ZmZmZmZmIDogMHhmZmZmLCAiQCIpOwogCSAgaWYgKG9wZXJhbmRbaV0uZXhw LlhfYWRkX251bWJlciAmIDEpCkBAIC0xMTQ2LDcgKzExMTksNyBAQAogCQkg ICAgICAgKHVuc2lnbmVkIGxvbmcpIG9wZXJhbmQtPmV4cC5YX2FkZF9udW1i ZXIpOwogCSAgICB9CiAJICBpZiAoIUhtb2RlKQotCSAgICBvcGVyYW5kW2ld LmV4cC5YX2FkZF9udW1iZXIgPSAKKwkgICAgb3BlcmFuZFtpXS5leHAuWF9h ZGRfbnVtYmVyID0KIAkgICAgICAoKG9wZXJhbmRbaV0uZXhwLlhfYWRkX251 bWJlciAmIDB4ZmZmZikgXiAweDgwMDApIC0gMHg4MDAwOwogCSAgZml4X25l d19leHAgKGZyYWdfbm93LAogCQkgICAgICAgb3V0cHV0IC0gZnJhZ19ub3ct PmZyX2xpdGVyYWwsCkBAIC0xMTU2LDI3ICsxMTI5LDIzIEBACiAJCSAgICAg ICBSX0pNUEwxKTsKIAl9CiAgICAgfQotCiB9CiAKLS8qCi0gIHRyeSBhbmQg Z2l2ZSBhbiBpbnRlbGxpZ2VudCBlcnJvciBtZXNzYWdlIGZvciBjb21tb24g YW5kIHNpbXBsZSB0bwotICBkZXRlY3QgZXJyb3JzCi0gICovCi0KKy8qIFRy eSBhbmQgZ2l2ZSBhbiBpbnRlbGxpZ2VudCBlcnJvciBtZXNzYWdlIGZvciBj b21tb24gYW5kIHNpbXBsZSB0bworICAgZGV0ZWN0IGVycm9ycy4gICovCiBz dGF0aWMgdm9pZAogY2xldmVyX21lc3NhZ2UgKG9wY29kZSwgb3BlcmFuZCkK ICAgICAgc3RydWN0IGg4X29wY29kZSAqb3Bjb2RlOwogICAgICBzdHJ1Y3Qg aDhfb3AgKm9wZXJhbmQ7CiB7Ci0gIC8qIEZpbmQgb3V0IGlmIHRoZXJlIHdh cyBtb3JlIHRoYW4gb25lIHBvc3NpYmxlIG9wY2NvZGUgKi8KKyAgLyogRmlu ZCBvdXQgaWYgdGhlcmUgd2FzIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgb3Bj Y29kZS4gICovCiAKICAgaWYgKChvcGNvZGUgKyAxKS0+aWR4ICE9IG9wY29k ZS0+aWR4KQogICAgIHsKICAgICAgIHVuc2lnbmVkIGludCBhcmduOwogCiAg ICAgICAvKiBPbmx5IG9uZSBvcGNvZGUgb2YgdGhpcyBmbGF2b3VyLCB0cnkg YW5kIGd1ZXNzIHdoaWNoIG9wZXJhbmQKLSAgICAgICAgIGRpZG4ndCBtYXRj aCAqLworICAgICAgICAgZGlkbid0IG1hdGNoLiAgKi8KICAgICAgIGZvciAo YXJnbiA9IDA7IGFyZ24gPCBvcGNvZGUtPm5vcGVyYW5kczsgYXJnbisrKQog CXsKIAkgIHN3aXRjaCAob3Bjb2RlLT5hcmdzLm5pYlthcmduXSkKQEAgLTEx OTEsNyArMTE2MCw2IEBACiAJICAgICAgYnJlYWs7CiAKIAkgICAgY2FzZSBS Uzg6Ci0KIAkgICAgICBpZiAob3BlcmFuZFthcmduXS5tb2RlICE9IFJTOCkK IAkJewogCQkgIGFzX2JhZCAoXygic291cmNlIG9wZXJhbmQgbXVzdCBiZSA4 IGJpdCByZWdpc3RlciIpKTsKQEAgLTEyMTQsNyArMTE4Miw2IEBACiAJCX0K IAkgICAgICBicmVhazsKIAotCiAJICAgIGNhc2UgQUJTMTZTUkM6CiAJICAg ICAgaWYgKG9wZXJhbmRbYXJnbl0ubW9kZSAhPSBBQlMxNlNSQykKIAkJewpA QCAtMTIyOCwxNCArMTE5NSwxMCBAQAogICAgIH0KICAgYXNfYmFkIChfKCJp bnZhbGlkIG9wZXJhbmRzIikpOwogfQotCi0vKiBUaGlzIGlzIHRoZSBndXRz IG9mIHRoZSBtYWNoaW5lLWRlcGVuZGVudCBhc3NlbWJsZXIuICBTVFIgcG9p bnRzIHRvIGEKLSAgIG1hY2hpbmUgZGVwZW5kZW50IGluc3RydWN0aW9uLiAg VGhpcyBmdW5jaXRvbiBpcyBzdXBwb3NlZCB0byBlbWl0Ci0gICB0aGUgZnJh Z3MvYnl0ZXMgaXQgYXNzZW1ibGVzIHRvLgotICAgKi8KLQogCi0KKy8qIFRo aXMgaXMgdGhlIGd1dHMgb2YgdGhlIG1hY2hpbmUtZGVwZW5kZW50IGFzc2Vt Ymxlci4gIFNUUiBwb2ludHMgdG8KKyAgIGEgbWFjaGluZSBkZXBlbmRlbnQg aW5zdHJ1Y3Rpb24uICBUaGlzIGZ1bmNpdG9uIGlzIHN1cHBvc2VkIHRvIGVt aXQKKyAgIHRoZSBmcmFncy9ieXRlcyBpdCBhc3NlbWJsZXMgdG8uICAqLwog dm9pZAogbWRfYXNzZW1ibGUgKHN0cikKICAgICAgY2hhciAqc3RyOwpAQCAt MTI1MCwxMSArMTIxMywxMSBAQAogICBjaGFyIGM7CiAgIGludCBzaXplOwog Ci0gIC8qIERyb3AgbGVhZGluZyB3aGl0ZXNwYWNlICovCisgIC8qIERyb3Ag bGVhZGluZyB3aGl0ZXNwYWNlLiAgKi8KICAgd2hpbGUgKCpzdHIgPT0gJyAn KQogICAgIHN0cisrOwogCi0gIC8qIGZpbmQgdGhlIG9wIGNvZGUgZW5kICov CisgIC8qIEZpbmQgdGhlIG9wIGNvZGUgZW5kLiAgKi8KICAgZm9yIChvcF9z dGFydCA9IG9wX2VuZCA9IHN0cjsKICAgICAgICAqb3BfZW5kICE9IDAgJiYg Km9wX2VuZCAhPSAnICc7CiAgICAgICAgb3BfZW5kKyspCkBAIC0xMjY4LDgg KzEyMzEsNiBAQAogCX0KICAgICB9CiAKLSAgOwotCiAgIGlmIChvcF9lbmQg PT0gb3Bfc3RhcnQpCiAgICAgewogICAgICAgYXNfYmFkIChfKCJjYW4ndCBm aW5kIG9wY29kZSAiKSk7CkBAIC0xMzE2LDcgKzEyNzcsNyBAQAogCiAgIGlm IChvcGNvZGUgPT0gMCkKICAgICB7Ci0gICAgICAvKiBDb3VsZG4ndCBmaW5k IGFuIG9wY29kZSB3aGljaCBtYXRjaGVkIHRoZSBvcGVyYW5kcyAqLworICAg ICAgLyogQ291bGRuJ3QgZmluZCBhbiBvcGNvZGUgd2hpY2ggbWF0Y2hlZCB0 aGUgb3BlcmFuZHMuICAqLwogICAgICAgY2hhciAqd2hlcmUgPSBmcmFnX21v cmUgKDIpOwogCiAgICAgICB3aGVyZVswXSA9IDB4MDsKQEAgLTEzMzQsMTIg KzEyOTUsMTEgQEAKICAgICB9CiAKICAgYnVpbGRfYnl0ZXMgKG9wY29kZSwg b3BlcmFuZCk7Ci0KIH0KIAogdm9pZAogdGNfY3Jhd2xfc3ltYm9sX2NoYWlu IChoZWFkZXJzKQotICAgICBvYmplY3RfaGVhZGVycyAqIGhlYWRlcnMgQVRU UklCVVRFX1VOVVNFRDsKKyAgICAgb2JqZWN0X2hlYWRlcnMgKmhlYWRlcnMg QVRUUklCVVRFX1VOVVNFRDsKIHsKICAgcHJpbnRmIChfKCJjYWxsIHRvIHRj X2NyYXdsX3N5bWJvbF9jaGFpbiBcbiIpKTsKIH0KQEAgLTEzNTMsNyArMTMx Myw3IEBACiAKIHZvaWQKIHRjX2hlYWRlcnNfaG9vayAoaGVhZGVycykKLSAg ICAgb2JqZWN0X2hlYWRlcnMgKiBoZWFkZXJzIEFUVFJJQlVURV9VTlVTRUQ7 CisgICAgIG9iamVjdF9oZWFkZXJzICpoZWFkZXJzIEFUVFJJQlVURV9VTlVT RUQ7CiB7CiAgIHByaW50ZiAoXygiY2FsbCB0byB0Y19oZWFkZXJzX2hvb2sg XG4iKSk7CiB9CkBAIC0xMzYyLDEwICsxMzIyLDEwIEBACiAvKiBFcXVhbCB0 byBNQVhfUFJFQ0lTSU9OIGluIGF0b2YtaWVlZS5jICovCiAjZGVmaW5lIE1B WF9MSVRUTEVOVU1TIDYKIAotLyogVHVybiBhIHN0cmluZyBpbiBpbnB1dF9s aW5lX3BvaW50ZXIgaW50byBhIGZsb2F0aW5nIHBvaW50IGNvbnN0YW50IG9m IHR5cGUKLSAgIHR5cGUsIGFuZCBzdG9yZSB0aGUgYXBwcm9wcmlhdGUgYnl0 ZXMgaW4gKmxpdFAuICBUaGUgbnVtYmVyIG9mIExJVFRMRU5VTVMKLSAgIGVt aXR0ZWQgaXMgc3RvcmVkIGluICpzaXplUCAuICBBbiBlcnJvciBtZXNzYWdl IGlzIHJldHVybmVkLCBvciBOVUxMIG9uIE9LLgotICAgKi8KKy8qIFR1cm4g YSBzdHJpbmcgaW4gaW5wdXRfbGluZV9wb2ludGVyIGludG8gYSBmbG9hdGlu ZyBwb2ludCBjb25zdGFudAorICAgb2YgdHlwZSB0eXBlLCBhbmQgc3RvcmUg dGhlIGFwcHJvcHJpYXRlIGJ5dGVzIGluICpsaXRQLiAgVGhlIG51bWJlcgor ICAgb2YgTElUVExFTlVNUyBlbWl0dGVkIGlzIHN0b3JlZCBpbiAqc2l6ZVAg LiAgQW4gZXJyb3IgbWVzc2FnZSBpcworICAgcmV0dXJuZWQsIG9yIE5VTEwg b24gT0suICAqLwogY2hhciAqCiBtZF9hdG9mICh0eXBlLCBsaXRQLCBzaXpl UCkKICAgICAgY2hhciB0eXBlOwpAQCAtMTQyNSw4ICsxMzg1LDkgQEAKIHN0 cnVjdCBvcHRpb24gbWRfbG9uZ29wdHNbXSA9IHsKICAge05VTEwsIG5vX2Fy Z3VtZW50LCBOVUxMLCAwfQogfTsKLXNpemVfdCBtZF9sb25nb3B0c19zaXpl ID0gc2l6ZW9mKG1kX2xvbmdvcHRzKTsKIAorc2l6ZV90IG1kX2xvbmdvcHRz X3NpemUgPSBzaXplb2YgKG1kX2xvbmdvcHRzKTsKKwogaW50CiBtZF9wYXJz ZV9vcHRpb24gKGMsIGFyZykKICAgICAgaW50IGMgQVRUUklCVVRFX1VOVVNF RDsKQEAgLTE0NjMsOCArMTQyNCw4IEBACiAgICAgIHNlZ1Qgc2VnOwogICAg ICB2YWx1ZVQgc2l6ZTsKIHsKLSAgcmV0dXJuICgoc2l6ZSArICgxIDw8IHNl Y3Rpb25fYWxpZ25tZW50WyhpbnQpIHNlZ10pIC0gMSkgJiAoLTEgPDwgc2Vj dGlvbl9hbGlnbm1lbnRbKGludCkgc2VnXSkpOwotCisgIHJldHVybiAoKHNp emUgKyAoMSA8PCBzZWN0aW9uX2FsaWdubWVudFsoaW50KSBzZWddKSAtIDEp CisJICAmICgtMSA8PCBzZWN0aW9uX2FsaWdubWVudFsoaW50KSBzZWddKSk7 CiB9CiAKIHZvaWQKQEAgLTE1MDMsOCArMTQ2NCw3IEBACiAgIGFib3J0ICgp OwogfQogCi0vKiBQdXQgbnVtYmVyIGludG8gdGFyZ2V0IGJ5dGUgb3JkZXIg Ki8KLQorLyogUHV0IG51bWJlciBpbnRvIHRhcmdldCBieXRlIG9yZGVyLiAg Ki8KIHZvaWQKIG1kX251bWJlcl90b19jaGFycyAocHRyLCB1c2UsIG5ieXRl cykKICAgICAgY2hhciAqcHRyOwpAQCAtMTUxMyw2ICsxNDczLDcgQEAKIHsK ICAgbnVtYmVyX3RvX2NoYXJzX2JpZ2VuZGlhbiAocHRyLCB1c2UsIG5ieXRl cyk7CiB9CisKIGxvbmcKIG1kX3BjcmVsX2Zyb20gKGZpeFApCiAgICAgIGZp eFMgKmZpeFAgQVRUUklCVVRFX1VOVVNFRDsKQEAgLTE1MjAsNyArMTQ4MSw2 IEBACiAgIGFib3J0ICgpOwogfQogCi0KIHZvaWQKIHRjX3JlbG9jX21hbmds ZSAoZml4X3B0ciwgaW50ciwgYmFzZSkKICAgICAgZml4UyAqZml4X3B0cjsK QEAgLTE1MzMsNyArMTQ5Myw3IEBACiAgIHN5bWJvbF9wdHIgPSBmaXhfcHRy LT5meF9hZGRzeTsKIAogICAvKiBJZiB0aGlzIHJlbG9jYXRpb24gaXMgYXR0 YWNoZWQgdG8gYSBzeW1ib2wgdGhlbiBpdCdzIG9rCi0gICAgIHRvIG91dHB1 dCBpdCAqLworICAgICB0byBvdXRwdXQgaXQuICAqLwogICBpZiAoZml4X3B0 ci0+Znhfcl90eXBlID09IFRDX0NPTlNfUkVMT0MpCiAgICAgewogICAgICAg LyogY29ucyBsaWtlcyB0byBjcmVhdGUgcmVsb2MzMidzIHdoYXRldmVyIHRo ZSBzaXplIG9mIHRoZSByZWxvYy4uCkBAIC0xNTUxLDkgKzE1MTEsNyBAQAog CSAgYnJlYWs7CiAJZGVmYXVsdDoKIAkgIGFib3J0ICgpOwotCiAJfQotCiAg ICAgfQogICBlbHNlCiAgICAgewpAQCAtMTU4NCw4ICsxNTQyLDQgQEAKICAg ICB9CiAgIGVsc2UKICAgICBpbnRyLT5yX3N5bW5keCA9IC0xOwotCi0KIH0K LQotLyogZW5kIG9mIHRjLWg4MzAwLmMgKi8K ------------=_1583532593-64246-28--