From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabrice Gautier To: "Ecos-List (E-mail)" Subject: [ECOS] [PC Target][Patch] Full Multi Thread debugging. Date: Thu, 21 Sep 2000 14:39:00 -0000 Message-id: <8AE4B526B977D411841F00A0CC334020052C6C@cuz-exchange.sdesigns.net> X-SW-Source: 2000-09/msg00347.html Content-type: multipart/mixed; boundary="----------=_1583532886-473-19" This is a multi-part message in MIME format... ------------=_1583532886-473-19 Content-length: 1730 Hi, Here is patch that's should provide full debugging multithread debug capabilities to the PC target. In fact there are two things: 1/ New saved context: Currently, the context saved during thread switch and the one saved on a interrupt are different. The first thing this patch should do is to have the same context saved. The context saved before a normal task switch(ie: not an interrupt) will appears as if the thread were interrupted in Cyg_Scheduler::unlock_inner. I think this part of the patch is quite good. I didn't noticed any changes while using eCos with this part of the patch. 2/ PC Stub modifications: In the current PC stub, the context reported to gdb was always the context of the interrupted task (ie: the current task) In order to have the stub report all the context, I had to modify the stub. This part of the patch is probably the less simple, so I enclosed my changes in some #ifdef _FG_X. You will have to build eCos with this macro defined in order to see the result. The results looks quite good: You should be able to see the call stack of each thread now. However, it is not perfect. For example, the position of the idle task is often at 0xffffffff and I suspect it may be the cause of some crashes. I ran some of the eCos tests with this patch and that seemed fine, but I think more in-depth tests could reveal some problems. I think that In most of my test the task switches are caused by the thread waiting for some lock, and maybe there is some problems occuring in time-sliced task switch. I would be glad is someones have the time to try and look at this patch and give some feedback. Thanks -- Fabrice Gautier fabrice_gautier@sdesigns.com <> ------------=_1583532886-473-19 Content-Type: text/x-diff; charset=us-ascii; name="pc_debug_thread.patch.fix" Content-Disposition: inline; filename="pc_debug_thread.patch.fix" Content-Transfer-Encoding: base64 Content-Length: 16491 SW5kZXg6IGhhbC9pMzg2L2FyY2gvY3VycmVudC9pbmNsdWRlL2hhbF9hcmNo LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9lY29z L2Vjb3MvcGFja2FnZXMvaGFsL2kzODYvYXJjaC9jdXJyZW50L2luY2x1ZGUv aGFsX2FyY2guaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS43CmRpZmYgLXUg LXIxLjcgaGFsX2FyY2guaAotLS0gaGFsL2kzODYvYXJjaC9jdXJyZW50L2lu Y2x1ZGUvaGFsX2FyY2guaAkyMDAwLzA2LzE2IDE2OjQ0OjA3CTEuNworKysg aGFsL2kzODYvYXJjaC9jdXJyZW50L2luY2x1ZGUvaGFsX2FyY2guaAkyMDAw LzA5LzIxIDIxOjA3OjQ5CkBAIC01Myw2ICs1Myw3IEBACiAvLyBQcm9jZXNz b3Igc2F2ZWQgc3RhdGVzLiBUaGlzIHN0cnVjdHVyZSBpcyBhbHNvIGRlZmlu ZWQgaW4gaTM4Ni5pbmMgZm9yCiAvLyBhc3NlbWJseSBjb2RlLiBEbyBub3Qg Y2hhbmdlIHRoaXMgd2l0aG91dCBjaGFuZ2luZyB0aGF0IChvciB2aWNlIHZl cnNhKS4KIAorI2lmIDAKIHR5cGVkZWYgc3RydWN0IAogewogICAgIGN5Z191 aW50MzIgIGVzcDsKQEAgLTYyLDYgKzYzLDI0IEBACiAgICAgY3lnX3VpbnQz MiAgZXNpOwogICAgIGN5Z191aW50MzIgIGVkaTsKIH0gSEFMX1NhdmVkUmVn aXN0ZXJzOworI2VuZGlmCisvLyB0aGlzIG9uZSBtYXRjaCBpbnRlcnJ1cHQg Y29udGV4dAordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAgY3lnX3VpbnQzMiAg ZWRpOworICAgIGN5Z191aW50MzIgIGVzaTsKKyAgICBjeWdfdWludDMyICBl YnA7CisgICAgY3lnX3VpbnQzMiAgZXNwOyAgICAgICAgICAgICAgICAgIAor ICAgIGN5Z191aW50MzIgIGVieDsKKyAgICBjeWdfdWludDMyICBlZHg7Cisg ICAgY3lnX3VpbnQzMiAgZWN4OworICAgIGN5Z191aW50MzIgIGVheDsgICAg CisgICAgY3lnX3VpbnQzMiAgdmVjdG9yOyAvLyBpZiBzYXZlZCBvbiBpbnRl cnJ1cHQgY29udGFpbnMgaW50ciB2ZWN0b3IKKyAgICBjeWdfdWludDMyICBl aXA7CisgICAgY3lnX3VpbnQzMiAgYXJnMTsgICAvLyBjcyBvciBwYXJhbWV0 ZXIKKyAgICBjeWdfdWludDMyICBhcmcyOwkvLyBlZmxhZ3Mgb3IgcGFyYW1l dGVyCit9IEhBTF9TYXZlZFJlZ2lzdGVyczsKKwogCiAvLy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBFeGNlcHRpb24gaGFuZGxpbmcg ZnVuY3Rpb24uCkBAIC0xMDQsMTcgKzEyMywyMiBAQAogICAgICooLS1fc3Bf KSA9IChDWUdfV09SRCkoMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgKigtLV9zcF8pID0gKENZR19XT1JE KSgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKICAgICAqKC0tX3NwXykgPSAoQ1lHX1dPUkQpKDApOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICoo LS1fc3BfKSA9IChDWUdfV09SRCkoX3RocmVhZF8pOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKigtLV9zcF8pID0gKENZ R19XT1JEKSgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKLSAgICAqKC0tX3NwXykgPSAoQ1lHX1dPUkQpKF9lbnRy eV8pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX3JlZ3NfID0g KEhBTF9TYXZlZFJlZ2lzdGVycyAqKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICgodW5zaWduZWQg bG9uZylfc3BfIC0gc2l6ZW9mKEhBTF9TYXZlZFJlZ2lzdGVycykpOyAgICAg ICAgXAorICAgIF9yZWdzXy0+YXJnMiAgID0gKENZR19XT1JEKShfdGhyZWFk Xyk7CQkJCSAgXAorICAgIF9yZWdzXy0+YXJnMSAgID0gKENZR19XT1JEKSgw KTsJCQkJICBcCisgICAgX3JlZ3NfLT5laXAJICAgPSAoQ1lHX1dPUkQpKF9l bnRyeV8pOwkJCQkgIFwKKyAgICBfcmVnc18tPnZlY3RvciA9IChDWUdfV09S RCkoX2lkXyk7CQkJCQkgIFwKKyAgICBfc3BfLT00OwkJCQkJCQkJICBcCiAg ICAgX3JlZ3NfLT5lc3AgICAgPSAoQ1lHX1dPUkQpIF9zcF87ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfcmVnc18tPmVi eCAgICA9IChDWUdfV09SRCkoX2lkXyk7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAogICAgIF9yZWdzXy0+ZWJwICAgID0gKENZR19X T1JEKShfaWRfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCiAgICAgX3JlZ3NfLT5lc2kgICAgPSAoQ1lHX1dPUkQpKF9pZF8pOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfcmVn c18tPmVkaSAgICA9IChDWUdfV09SRCkoX2lkXyk7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9yZWdzXy0+ZWF4ICAgID0g KENZR19XT1JEKShfaWRfKTsJCQkJCSAgXAorICAgIF9yZWdzXy0+ZWJ4ICAg ID0gKENZR19XT1JEKShfaWRfKTsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCisgICAgX3JlZ3NfLT5lY3ggICAgPSAoQ1lHX1dPUkQp KF9pZF8pOwkJCQkJICBcCisgICAgX3JlZ3NfLT5lZHggICAgPSAoQ1lHX1dP UkQpKF9pZF8pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICAoX3NwYXJnXykgICAgICA9IChDWUdfQUREUkVTUykgX3JlZ3Nf OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIENZR19N QUNST19FTkQKIApJbmRleDogaGFsL2kzODYvYXJjaC9jdXJyZW50L2luY2x1 ZGUvaTM4Ni5pbmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L2N2cy9lY29zL2Vjb3MvcGFja2FnZXMvaGFsL2kzODYvYXJjaC9jdXJyZW50 L2luY2x1ZGUvaTM4Ni5pbmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpk aWZmIC11IC1yMS4zIGkzODYuaW5jCi0tLSBoYWwvaTM4Ni9hcmNoL2N1cnJl bnQvaW5jbHVkZS9pMzg2LmluYwkyMDAwLzAyLzAyIDE5OjU3OjA4CTEuMwor KysgaGFsL2kzODYvYXJjaC9jdXJyZW50L2luY2x1ZGUvaTM4Ni5pbmMJMjAw MC8wOS8yMSAyMTowNzo0OQpAQCAtNTUsMTMgKzU1LDIwIEBACiAgICAgICAg ICMgaHR0cDovL3d3dy5zY28uY29tL3Byb2R1Y3RzL2xheWVyZWQvZGV2ZWxv cC9kZXZzcGVjcy9hYmkzODYtNC5wZGYKIAogCSMgQ2FsbGVlIHNhdmUgcmVn aXN0ZXJzIChlYXgsIGVjeCwgYW5kIGVkeCBhcmUgc2NyYXRjaCByZWdpc3Rl cnMpCi0JLmVxdQlpMzg2cmVnX2VzcCwJCTAKLQkuZXF1CWkzODZyZWdfbmV4 dF9jb250ZXh0LAk0ICMgb25seSB1c2VkIHdoZW4gZHJvcHBpbmcgdGhyb3Vn aC4uLgotCS5lcXUJaTM4NnJlZ19lYnAsCQk4ICMgLi4uZnJvbSBzd2l0Y2hf IHRvIGxvYWRfY29udGV4dC4KLQkuZXF1CWkzODZyZWdfZWJ4LAkJMTIKLQku ZXF1CWkzODZyZWdfZXNpLAkJMTYKLQkuZXF1CWkzODZyZWdfZWRpLAkJMjAK LQkuZXF1CWkzODZyZWdfY29udGV4dF9zaXplLCAJMjQKKworCS5lcXUJaTM4 NnJlZ19lZGksCQkwCisJLmVxdQlpMzg2cmVnX2VzaSwJCTQKKwkuZXF1CWkz ODZyZWdfZWJwLAkJOAorCS5lcXUJaTM4NnJlZ19lc3AsCQkxMgorCS5lcXUJ aTM4NnJlZ19lYngsCQkxNgorCS5lcXUJaTM4NnJlZ19lZHgsCQkyMAorCS5l cXUJaTM4NnJlZ19lY3gsCQkyNAorCS5lcXUJaTM4NnJlZ19lYXgsCQkyOAor CS5lcXUJaTM4NnJlZ192ZWN0b3IsCQkzMgorCS5lcXUJaTM4NnJlZ19laXAs CQkzNgorCS5lcXUJaTM4NnJlZ19hcmcxLAkJNDAgICMgY3Mgb3IgcGFyYW1l dGVyCisJLmVxdQlpMzg2cmVnX2FyZzIsCQk0NCAgIyBlZmxhZ3Mgb3IgcGFy YW1ldGVyCisJLmVxdQlpMzg2cmVnX2NvbnRleHRfc2l6ZSwgCTQ4CiAKICMt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgZW5kIG9mIGkz ODYuaW5jCkluZGV4OiBoYWwvaTM4Ni9hcmNoL2N1cnJlbnQvc3JjL2NvbnRl eHQuUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL2Vj b3MvZWNvcy9wYWNrYWdlcy9oYWwvaTM4Ni9hcmNoL2N1cnJlbnQvc3JjL2Nv bnRleHQuUyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLXIx LjQgY29udGV4dC5TCi0tLSBoYWwvaTM4Ni9hcmNoL2N1cnJlbnQvc3JjL2Nv bnRleHQuUwkyMDAwLzAyLzE3IDE5OjM4OjE0CTEuNAorKysgaGFsL2kzODYv YXJjaC9jdXJyZW50L3NyYy9jb250ZXh0LlMJMjAwMC8wOS8yMSAyMTowNzo1 MApAQCAtNjcsMzUgKzY3LDUyIEBACiAjICVlYXgsICVlY3gsIGFuZCAlZWR4 IGFyZSBvdXJzIHRvIGFidXNlLgogICAgICAgICAKIEZVTkNfU1RBUlQoaGFs X3RocmVhZF9zd2l0Y2hfY29udGV4dCkKLSAgICAgICAgbW92bCAgICA0KCVl c3ApLCVlYXggICAgICAgICAgICAjIG5leHQgY29udGV4dCBwdHIKLSAgICAg ICAgbW92bCAgICA4KCVlc3ApLCVlZHggICAgICAgICAgICAjIHRoaXMgY29u dGV4dCBwdHIKKyMgICAgICAgIG1vdmwgICAgNCglZXNwKSwlZWF4ICAgICAg ICAgICAgIyBuZXh0IGNvbnRleHQgcHRyCisjICAgICAgICBtb3ZsICAgIDgo JWVzcCksJWVkeCAgICAgICAgICAgICMgdGhpcyBjb250ZXh0IHB0cgogCisJ cG9wbCAlZWN4ICAjIHNhdmUgcmV0dXJuIGVpcAorCXBvcGwgJWVheCAgIyBn ZXQgbmV4dCBjb250ZXh0IHB0cgorCXBvcGwgJWVkeCAgIyBnZXQgdGhpcyBj b250ZXh0IHB0cgorCisJIyBTYXZlIGNvbnRleHQKKwkJCisJcHVzaGZsCQkj IHNhdmUgZWZsYWdzCisJcHVzaHcgJWNzCSMgc2F2ZSBjcworCXB1c2h3IDAJ CSMgYW5kIHBhZCB0byAzMiBiaXRzCisJcHVzaGwgJWVjeAkjIHNhdmUgZWlw IAorCXB1c2hsICQweGRlYWRkZWFkICMgcHVzaCB2ZWN0b3IKKwlwdXNoYQkJ IyBwdXNoIGdlbmVyYWwgcmVnaXN0ZXJzCisJCiAgICAgICAgICMgTWFrZSBy b29tIG9uIHRoZSBzdGFjayBmb3IgdGhlIGNvbnRleHQKLSAgICAgICAgbW92 bCAgICAlZXNwLCVlY3ggICAgICAgICAgICAgICAjIGtlZXAgb3JpZ2luYWwg U1AKLSAgICAgICAgc3ViCSRpMzg2cmVnX2NvbnRleHRfc2l6ZSwlZXNwCisj ICAgICAgICBtb3ZsICAgICVlc3AsJWVjeCAgICAgICAgICAgICAgICMga2Vl cCBvcmlnaW5hbCBTUAorIyAgICAgICAgc3ViCSRpMzg2cmVnX2NvbnRleHRf c2l6ZSwlZXNwCiAKICAgICAgICAgIyBTYXZlIG5leHQgY29udGV4dCBwdHIg aW4gdGhpcyBjb250ZXh0LiBOZWNlc3NhcnkgYmVjYXVzZQogICAgICAgICAj IGhhbF90aHJlYWRfbG9hZF9jb250ZXh0IGV4cGVjdHMgdG8gZmluZCB0aGUg cHRyIG9uIHRoZSBzdGFjaywKICAgICAgICAgIyBub3QgaW4gYSByZWdpc3Rl ciBhcyBvbiBQUEMuCi0gICAgICAgIG1vdmwgICAgJWVheCxpMzg2cmVnX25l eHRfY29udGV4dCglZXNwKQorIyAgICAgICAgbW92bCAgICAlZWF4LGkzODZy ZWdfbmV4dF9jb250ZXh0KCVlc3ApCiAKICAgICAgICAgIyBTYXZlIHJlZ2lz dGVycwotICAgICAgICBtb3ZsICAgICVlY3gsaTM4NnJlZ19lc3AoJWVzcCkg ICMgb3JpZ2luYWwgZXNwCi0gICAgICAgIG1vdmwgICAgJWVicCxpMzg2cmVn X2VicCglZXNwKQotICAgICAgICBtb3ZsICAgICVlYngsaTM4NnJlZ19lYngo JWVzcCkKLSAgICAgICAgbW92bCAgICAlZXNpLGkzODZyZWdfZXNpKCVlc3Ap Ci0gICAgICAgIG1vdmwgICAgJWVkaSxpMzg2cmVnX2VkaSglZXNwKQorIyAg ICAgICAgbW92bCAgICAlZWN4LGkzODZyZWdfZXNwKCVlc3ApICAjIG9yaWdp bmFsIGVzcAorIyAgICAgICAgbW92bCAgICAlZWJwLGkzODZyZWdfZWJwKCVl c3ApCisjICAgICAgICBtb3ZsICAgICVlYngsaTM4NnJlZ19lYngoJWVzcCkK KyMgICAgICAgIG1vdmwgICAgJWVzaSxpMzg2cmVnX2VzaSglZXNwKQorIyAg ICAgICAgbW92bCAgICAlZWRpLGkzODZyZWdfZWRpKCVlc3ApCiAgICAgICAg IAogICAgICAgICAjIFN0b3JlIHRoZSBjb250ZXh0IHB0cgogICAgICAgICBt b3ZsICAgICVlc3AsKCVlZHgpCi0KKyAgICAgICAgCisgICAgICAgICNwdXNo IG5leHQgY29udGV4dCBwdHIgYXMgYW4gYXJndW1lbnQgdG8gbG9hZCBjb250 ZXh0CisJcHVzaGwgCSVlYXgKKwlwdXNobAkkMHhkZWFkYmVlZiAjIHJldHVy biBwb2ludGVyLCBuZXZlciB1c2VkCisJCiAgICAgICAgICMgTm93IGZhbGwg dGhyb3VnaCB0byBoYWxfdGhyZWFkX2xvYWRfY29udGV4dAogICAgICAgICAK ICAgICAgICAgCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAjIGhhbF90aHJlYWRfbG9hZF9jb250ZXh0CiAjIExvYWQgdGhyZWFkIGNv bnRleHQKLSMgOiA0KCVlc3ApID0gaTM4NnJlZ19uZXh0X2NvbnRleHQoJWVz cCkgPSBhZGRyZXNzIG9mIHNwIG9mIHRocmVhZCB0byBleGVjdXRlCisjIDog NCglZXNwKSAoIT0gaTM4NnJlZ19uZXh0X2NvbnRleHQoJWVzcCkpID0gYWRk cmVzcyBvZiBzcCBvZiB0aHJlYWQgdG8gZXhlY3V0ZQogIyBOb3RlIHRoYXQg dGhpcyBmdW5jdGlvbiBpcyBhbHNvIHRoZSBzZWNvbmQgaGFsZiBvZiBoYWxf dGhyZWFkX3N3aXRjaF9jb250ZXh0CiAjIGFuZCBpcyBzaW1wbHkgZHJvcHBl ZCBpbnRvIGZyb20gaXQuCiAjCkBAIC0xMDksMTYgKzEyNiwyMCBAQAogCW1v dmwJJWVheCwgJWNyMAogI2VuZGlmCiAJCi0gICAgICAgIG1vdmwgICAgaTM4 NnJlZ19uZXh0X2NvbnRleHQoJWVzcCksJWVheCAjIGdldCBuZXcgY29udGV4 dCBwdHIKLSAgICAgICAgbW92bCAgICAoJWVheCksJWVheAorICAgICAgICBt b3ZsICAgIDQoJWVzcCksJWVheCAjIGdldCBuZXcgY29udGV4dCBwdHIKKyMg ICAgICAgbW92bCAgICAoJWVheCksJWVheAorCW1vdmwJKCVlYXgpLCVlc3AK Kwlwb3BhbCAgICMgdW5zdGFjayBnZW5lcmFsIHJlZ2lzdGVycworCXBvcGwg JWVjeCAjIHVuc3RhY2sgdmVjdG9yIChzaG91bGQgYmUgMHhkZWFkZGVhZCkK ICAgICAgICAgCiAgICAgICAgICMgUmVzdG9yZSByZWdpc3RlcnMKLSAgICAg ICAgbW92bCAgICBpMzg2cmVnX2VicCglZWF4KSwlZWJwCi0gICAgICAgIG1v dmwgICAgaTM4NnJlZ19lYngoJWVheCksJWVieAotICAgICAgICBtb3ZsICAg IGkzODZyZWdfZXNpKCVlYXgpLCVlc2kKLSAgICAgICAgbW92bCAgICBpMzg2 cmVnX2VkaSglZWF4KSwlZWRpCi0gICAgICAgIG1vdmwgICAgaTM4NnJlZ19l c3AoJWVheCksJWVzcAorICMgICAgICAgbW92bCAgICBpMzg2cmVnX2VicCgl ZWF4KSwlZWJwCisgIyAgICAgICBtb3ZsICAgIGkzODZyZWdfZWJ4KCVlYXgp LCVlYngKKyAjICAgICAgIG1vdmwgICAgaTM4NnJlZ19lc2koJWVheCksJWVz aQorICMgICAgICAgbW92bCAgICBpMzg2cmVnX2VkaSglZWF4KSwlZWRpCisg IyAgICAgICBtb3ZsICAgIGkzODZyZWdfZXNwKCVlYXgpLCVlc3AKIAorCQog ICAgICAgICByZXQKIAogCkBAIC0xODEsNiArMjAyLDUgQEAKICAgICAgICAg bW92bCAgICAlZWR4LDAoJWVzcCkKIAogICAgICAgICByZXQKLQogIy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIEVuZCBvZiBjb250ZXh0 LlMKSW5kZXg6IGhhbC9pMzg2L3BjL2N1cnJlbnQvc3JjL3BsZl9zdHViLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9lY29zL2Vj b3MvcGFja2FnZXMvaGFsL2kzODYvcGMvY3VycmVudC9zcmMvcGxmX3N0dWIu Yyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXUgLXIxLjEgcGxm X3N0dWIuYwotLS0gaGFsL2kzODYvcGMvY3VycmVudC9zcmMvcGxmX3N0dWIu YwkyMDAwLzAzLzI4IDE0OjExOjI1CTEuMQorKysgaGFsL2kzODYvcGMvY3Vy cmVudC9zcmMvcGxmX3N0dWIuYwkyMDAwLzA5LzIxIDIxOjA3OjUxCkBAIC0z NDAsMTEgKzM1MywxNyBAQAogfQogCiAKLQogaW50IGhhbF9wY190cmFwX3Jl Z2lzdGVyc1tOVU1SRUdTXSA7CisjaWZkZWYgX0ZHX1gKK0hBTF9TYXZlZFJl Z2lzdGVycyBoYWxfcGNfc2F2ZWRfdHJhcF9yZWdpc3RlcnM7CisjZW5kaWYK KwogaW50IGhhbF9wY190cmFwX251bWJlciA7CiBpbnQgZ2RiX2kzODZlcnJj b2RlOwogCisKKworCiAvKiBHREIgc3RvcmVzIHNlZ21lbnQgcmVnaXN0ZXJz IGluIDMyLWJpdCB3b3JkcyAodGhhdCdzIGp1c3QgdGhlIHdheQogICAgbS1p Mzg2di5oIGlzIHdyaXR0ZW4pLiAgU28gemVybyB0aGUgYXBwcm9wcmlhdGUg YXJlYXMgaW4gcmVnaXN0ZXJzLiAgKi8KICNkZWZpbmUgU0FWRV9SRUdJU1RF UlMxKCkgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTM2NCwxMiArMzgz LDExIEBACiAgIGFzbSAoIm1vdncgJWF4LCBoYWxfcGNfdHJhcF9yZWdpc3Rl cnMrNTgiKTsgICBcCiAgIGFzbSAoIm1vdncgJWdzLCBoYWxfcGNfdHJhcF9y ZWdpc3RlcnMrNjAiKTsgICBcCiAgIGFzbSAoIm1vdncgJWF4LCBoYWxfcGNf dHJhcF9yZWdpc3RlcnMrNjIiKTsKLQorIAogI2RlZmluZSBTQVZFX0VSUkNP REUoKSBcCiAgIGFzbSAoInBvcGwgJWVieCIpOyBcCiAgIGFzbSAoIm1vdmwg JWVieCwgZ2RiX2kzODZlcnJjb2RlIik7CiAKLQogI2RlZmluZSBTQVZFX1JF R0lTVEVSUzIoKSBcCiAgIGFzbSAoInBvcGwgJWVieCIpOyAvKiBvbGQgZWlw ICovCQkJICAJCSAgICAgICAgICAgICAgICAgXAogICBhc20gKCJtb3ZsICVl YngsIGhhbF9wY190cmFwX3JlZ2lzdGVycyszMiIpOwkJCSAgCQkgICAgIFwK QEAgLTM4MywxNSArNDAxLDQyIEBACiAgIGFzbSAoIm1vdncgJWF4LCBoYWxf cGNfdHJhcF9yZWdpc3RlcnMrNDYiKTsgICAgIAkgICAgICAgCSAgICAgICAg IFwKICAgYXNtICgibW92bCAlZXNwLCBoYWxfcGNfdHJhcF9yZWdpc3RlcnMr MTYiKTsKIAorI2lmbmRlZiBfRkdfWAorI2RlZmluZSBDQUxMX0hPT0soKSBc CisJYXNtKCJwb3BsICVlYXg7IG1vdmwgJWVheCwgaGFsX3BjX3RyYXBfbnVt YmVyOyBjYWxsIF9faGFuZGxlX2V4Y2VwdGlvbjsgam1wIGhhbF9wY190cmFw X2V4aXQiKQorI2Vsc2UKIAorLyogY29tbW9uIGV4Y2VwdGlvbiBoYW5kbGlu ZyBjb2RlCisgICBUaGlzIG9uZSBpcyBjYWxsZWQgYnkgdGhlIHRyYXAgbnVt YmVyIHNwZWNpZmljIGhhbmRsZXJzIHdyaXR0ZW4gaXMgYXNtCisgICBXZSBq dXN0IHBhc3MgdG8gdGhlIHN0dWIgaGFuZGxlciwgYSBIQUxfU2F2ZWRSZWdp c3RlciBzdHJ1Y3R1cmUuIG5vdCAKKyAgIGFsbCB0aGUgZ2RiIHJlZ2lzdGVy cy4KKyovICAKK3ZvaWQgaGFsX3BjX2hhbmRsZV9leGNlcHRpb24odm9pZCkK K3sKKwloYWxfcGNfc2F2ZWRfdHJhcF9yZWdpc3RlcnMuZWF4PWhhbF9wY190 cmFwX3JlZ2lzdGVyc1tFQVhdOworCWhhbF9wY19zYXZlZF90cmFwX3JlZ2lz dGVycy5lYng9aGFsX3BjX3RyYXBfcmVnaXN0ZXJzW0VCWF07CisJaGFsX3Bj X3NhdmVkX3RyYXBfcmVnaXN0ZXJzLmVjeD1oYWxfcGNfdHJhcF9yZWdpc3Rl cnNbRUNYXTsKKwloYWxfcGNfc2F2ZWRfdHJhcF9yZWdpc3RlcnMuZWR4PWhh bF9wY190cmFwX3JlZ2lzdGVyc1tFRFhdOworCWhhbF9wY19zYXZlZF90cmFw X3JlZ2lzdGVycy5lc2k9aGFsX3BjX3RyYXBfcmVnaXN0ZXJzW0VTSV07CisJ aGFsX3BjX3NhdmVkX3RyYXBfcmVnaXN0ZXJzLmVkaT1oYWxfcGNfdHJhcF9y ZWdpc3RlcnNbRURJXTsKKwloYWxfcGNfc2F2ZWRfdHJhcF9yZWdpc3RlcnMu ZWJwPWhhbF9wY190cmFwX3JlZ2lzdGVyc1tFQlBdOworCWhhbF9wY19zYXZl ZF90cmFwX3JlZ2lzdGVycy5lc3A9aGFsX3BjX3RyYXBfcmVnaXN0ZXJzW0VT UF07CisJaGFsX3BjX3NhdmVkX3RyYXBfcmVnaXN0ZXJzLmVpcD1oYWxfcGNf dHJhcF9yZWdpc3RlcnNbRUlQXTsKKwloYWxfcGNfc2F2ZWRfdHJhcF9yZWdp c3RlcnMuYXJnMT1oYWxfcGNfdHJhcF9yZWdpc3RlcnNbQ1NdOworCWhhbF9w Y19zYXZlZF90cmFwX3JlZ2lzdGVycy5hcmcyPWhhbF9wY190cmFwX3JlZ2lz dGVyc1tQU107CisJaGFsX3BjX3NhdmVkX3RyYXBfcmVnaXN0ZXJzLnZlY3Rv cj1oYWxfcGNfdHJhcF9udW1iZXI7CisJY3lnX2hhbF9leGNlcHRpb25faGFu ZGxlcigmaGFsX3BjX3NhdmVkX3RyYXBfcmVnaXN0ZXJzKTsKK30KIAogI2Rl ZmluZSBDQUxMX0hPT0soKSBcCi0JYXNtKCJwb3BsICVlYXg7IG1vdmwgJWVh eCwgaGFsX3BjX3RyYXBfbnVtYmVyOyBjYWxsIF9faGFuZGxlX2V4Y2VwdGlv bjsgam1wIGhhbF9wY190cmFwX2V4aXQiKQorCWFzbSgicG9wbCAlZWF4OyBt b3ZsICVlYXgsIGhhbF9wY190cmFwX251bWJlcjsgY2FsbCBoYWxfcGNfaGFu ZGxlX2V4Y2VwdGlvbjsgam1wIGhhbF9wY190cmFwX2V4aXQiKQorI2VuZGlm CiAKKwogYXNtKCIudGV4dCIpOwogYXNtKCIuZ2xvYmwgcmV0dXJuX3RvX3By b2ciKTsKIGFzbSgiaGFsX3BjX3RyYXBfZXhpdDoiKTsKLWFzbSgiICAgICAg ICBtb3Z3IHJlZ2lzdGVycys0NCwgJXNzIik7Cithc20oIiAgICAgICAgbW92 dyBoYWxfcGNfdHJhcF9yZWdpc3RlcnMrNDQsICVzcyIpOwogYXNtKCIgICAg ICAgIG1vdmwgcmVnaXN0ZXJzKzE2LCAlZXNwIik7CiBhc20oIiAgICAgICAg bW92bCByZWdpc3RlcnMrNCwgJWVjeCIpOwogYXNtKCIgICAgICAgIG1vdmwg cmVnaXN0ZXJzKzgsICVlZHgiKTsKQEAgLTM5OSwxMCArNDQ0LDEwIEBACiBh c20oIiAgICAgICAgbW92bCByZWdpc3RlcnMrMjAsICVlYnAiKTsKIGFzbSgi ICAgICAgICBtb3ZsIHJlZ2lzdGVycysyNCwgJWVzaSIpOwogYXNtKCIgICAg ICAgIG1vdmwgcmVnaXN0ZXJzKzI4LCAlZWRpIik7Ci1hc20oIiAgICAgICAg bW92dyByZWdpc3RlcnMrNDgsICVkcyIpOwotYXNtKCIgICAgICAgIG1vdncg cmVnaXN0ZXJzKzUyLCAlZXMiKTsKLWFzbSgiICAgICAgICBtb3Z3IHJlZ2lz dGVycys1NiwgJWZzIik7Ci1hc20oIiAgICAgICAgbW92dyByZWdpc3RlcnMr NjAsICVncyIpOworYXNtKCIgICAgICAgIG1vdncgaGFsX3BjX3RyYXBfcmVn aXN0ZXJzKzQ4LCAlZHMiKTsKK2FzbSgiICAgICAgICBtb3Z3IGhhbF9wY190 cmFwX3JlZ2lzdGVycys1MiwgJWVzIik7Cithc20oIiAgICAgICAgbW92dyBo YWxfcGNfdHJhcF9yZWdpc3RlcnMrNTYsICVmcyIpOworYXNtKCIgICAgICAg IG1vdncgaGFsX3BjX3RyYXBfcmVnaXN0ZXJzKzYwLCAlZ3MiKTsKIGFzbSgi ICAgICAgICBtb3ZsIHJlZ2lzdGVycyszNiwgJWVheCIpOwogYXNtKCIgICAg ICAgIHB1c2hsICVlYXgiKTsgIC8qIHNhdmVkIGVmbGFncyAqLwogYXNtKCIg ICAgICAgIG1vdmwgcmVnaXN0ZXJzKzQwLCAlZWF4Iik7CkBAIC01NjEsNiAr NjA2LDcgQEAKICAqICAgb2xkIGVpcAogICoKICAqLworCiBleHRlcm5DIHZv aWQgaGFsX3BjX2V4Y2VwdGlvbl8zKHZvaWQpOwogYXNtKCIudGV4dCIpOwog YXNtKCIuZ2xvYmwgaGFsX3BjX2V4Y2VwdGlvbl8zIik7CkBAIC03NjAsOCAr ODA2LDggQEAKICAgaGFsX3BjX2V4Y2VwdGlvbl9oYW5kbGVyKDE0LCBoYWxf cGNfZXhjZXB0aW9uXzE0KTsKICAgaGFsX3BjX2V4Y2VwdGlvbl9oYW5kbGVy KDE2LCBoYWxfcGNfZXhjZXB0aW9uXzE2KTsKIH0KLQogCisjaWZuZGVmIF9G R19YCiB2b2lkIGhhbF9nZXRfZ2RiX3JlZ2lzdGVycyh0YXJnZXRfcmVnaXN0 ZXJfdCAqIGQsIEhBTF9TYXZlZFJlZ2lzdGVycyAqIHMpCiB7CiAJaW50IGkg OwpAQCAtNzc3LDcgKzgyMyw3IEBACiAJZm9yIChpID0gMDsgaSA8IE5VTVJF R1M7IGkrKykKIAkJaGFsX3BjX3RyYXBfcmVnaXN0ZXJzW2ldID0gc1tpXSA7 CiB9Ci0KKyNlbmRpZgogCiAjZW5kaWYgLy8gaWZkZWYgQ1lHREJHX0hBTF9E RUJVR19HREJfSU5DTFVERV9TVFVCUwogLy8tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo= ------------=_1583532886-473-19--