From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Berlin To: gdb-patches@sources.redhat.com Subject: [PATCH] Start abstraction of C++ abi's Date: Sun, 18 Feb 2001 12:51:00 -0000 Message-id: X-SW-Source: 2001-02/msg00346.html Content-type: multipart/mixed; boundary="----------=_1583534347-29878-0" This is a multi-part message in MIME format... ------------=_1583534347-29878-0 Content-length: 1376 This patch, plus the attached files, start the abstraction of the C++ ABI's. I've started by replacing the simple things, and will incrementally replace the more complex things, and the things that require real code changes, as time goes on. The cp-abi directory, and it's files, are attached in a gzipped tar file. This fixes some problems with the new-abi already, like not being able to set breakpoints on destructors (if you try it, you'll get: (gdb) b foo::~foo the class `foo' does not have destructor defined Hint: try 'foo::~foo or 'foo::~foo (Note leading single quote.) (gdb) ) I haven't added the method for detecting which C++ abi we are using, so it simply defaults to the gnu v2 abi. However, I have verified the gnu v3 abi parts work fine too (that's how i know it fixed breakpoints on destructors). This stuff touches a lot of files, but it's only removing code, or changing a macro call to a function call (IE VTBL_PREFIX_P -> vtbl_prefix_p, DESTRUCTOR_PREFIX_P -> destructor_prefix_p). Who exactly do i need approval from to check this stuff in? As I said, this is an incremental process. This is the minimum number of changes necessary to start abstracting the simple things. There is no way to make this patch smaller, without breaking gdb. I need someone to look at the configure.in change, i'm not positive I did it right. --Dan ------------=_1583534347-29878-0 Content-Type: application/x-gzip; charset=binary; name="cp-abi.tar.gz" Content-Disposition: inline; filename="cp-abi.tar.gz" Content-Transfer-Encoding: base64 Content-Length: 2745 H4sICHs0kDoCA2NwLWFiaS50YXIA7VltU9tGEOZr/Su2ZKbYxDiSbPCkLm0d AgkzgVBs0qZpqjlLZ/umsk4jnUzcNv+9uycJvxuYCUnbuWcyk3Ave8++ajd4 0R7ridpw6wFh2ZZ10GhsWQh74W9Eo3nQ3LKaTqNhOQeOY+N5u1l3tsDa+gxI E8VigC2/x+NAhBvO8TjZ+t/hyS60e4mKmaeEDEH2YcxiIdMEjh4/hvaz050E rjkkaRTJWFWBhT6oIQcR9iVthJz7JQBQEgZcQT+WI9of1WjxSIYqFr1UcR96 E3jOQsEDeKYNDd/lFv8x5v6QqZonR99nl6JJLAZDBQ6GCZzEnENH9tU1izmc yDT0GVGtwmno1Up0ozsUCfRFgKwSiFisSI0Xz5/N7EaxHMRsRAf6JDDJBbZg IlPwWAjIQiQ5WxCKFH0iYxIwkr7oT+hfuIzP81hbQPF4lNBL9MOL8yt4wUMe swAu0l4gPHglPB4mHBi+TivJMLNUT4uiS+tUawEXuB/DGEOOvOIUz+Qyq5Ax KzNF/GOQEd2rIOkJBExNr642wVRTHx2pJQ9lhCqhH0jJaxEE0OOAMd9Pg6pm nSr4+bT78vVVF9rnb+Hn9uVl+7z7toWH1VDiLh/zTJQYRYFAyahVzEI1QfIk 4ez48uglXsGYenXafYsqwMlp9/y404GT15fQhov2Zff06OpV+xIuri4vXneO awAdTrQ4Cdhg4z4KG0k0os8VE0GSqf0WXZsgt8CHIRtzdLHHxRiZMfAwyG73 HQlhgQwHWkk8PDVjC0QfQokZcR0LjBiM/yWX0vXFgK3C/lPocjQRh4uAeRz2 oJOShHrd0pZ+JhNFp8/aYDm2be/ZdatZhatOG82x+6RUeiT6GIR9OLpw0Zbu S7f0CH8UIZ+ugF0qYWafyCCQ1wL564BlMaWojBKKSYbm6POYh0gBpWJApJ4C L3Lxc+DimdJfSMaTYYKLQ6yQu14kXbRmrEI24q0Vm2SodXu+9FolcgqxOv3l 7PhbNCSS/kDhyGAkklCOeFzFqPMYhh2ZFk0f5BXIl2SZXCwRlXFCFSWTUYOX 8hrDD69jRfJluIMhjJFHWpMo5JSQg3o8k0KydR5j6Ufn9AKe1TWPuSMWDgLu u3THFYk786Abaa6ZiEAohR4klWtw6nOW/FDS3tEaPudUHMgjIguxgaDk2M2l 72pKmeY+L+TX4IyqHhlviOd0SPk8v5LfyBKsn6o0Rs6Uk6RLkYEYc6HQhEiK zyMe+lihQrgecl1PMEvovI5jvZdGaBSKDyy+GJGKBxNK+qIqoBSJyUMJglFB VYcUogKBARRz9M9EfwDwQoLuw2cwBXmQ8MwS+EegF8pZBPCpIbXX3KgC5dk4 IRUrLcguLlqRbbDhjJNq0MHlzEe5OSjYqT5MCaABQ/25S2qa55TknLs3sSzd k+JYUZhl7GaIZUSJ3VxkUzCupAsLfDOxn5Qq9gARlsIbWxZsM6pUODAr88op KaqSRVLF/VtofURm/AOSCmGp+ICXxlialJst4cmixK3yUPm8fXZcgd9K+P7c vdpan2ZXpmJXROdmqavCeVHoWPWCO4pbdOSiqCWbbha37IJc4CNMe9EvlW76 P0/3/08etMfEFt9q7u+v6/8Jef9fd+ymQ/3//r61Bfum/39w5P4fhOneuK5H Qe9zz3/1g/1i/qvbDQfjxK7vNxtm/vsy8x997cd1+uCbGc7McGaGe6AZLvSC 1OewjR/4pDbcnlnx8v+Sm10b+D035gP+YXmZwgCbflxfbqOwrLvjevFjqzSd vjpKRjgqFbNhzF0aAXDUojlqosQIm9WrhE/bPNDPA4uEtiiNS3iBEpaORExR J4fd4ZAzX3sFRWhVqTFEHkhjRc803xnqLrSiJ8+cEJS33/1u7T19//ydvVd/ fzzerrT0Lk5AlO8u/8A9KOt78PUhWNhXzj65qvm785tH2Zv3fHKhldvwmhaI 9EKPHqWdKmy7v3bfbFehMZU9lsJH+UK52QPk2DItZnLmfVybG9PhEGNEf9q3 W6uPFkM7ndRJ9PgxvMlLVp2m73UXcaLXd+58foXzD9cHxhopK/15uMHZa+Qs OulwtfNw8PiISXPrfIJxrr3kkpsEC8Sf3J2+OuuteT+WKbQwKefFZWxmEzcb pz/O9O2fuP/La473MP3/5v5vtv+37WaT+j9sCk3/97n7f+fL9P+NutUofv/T OLBs3f/jSGD8/+X6f8f0/6b/N/3/f6v/v1n/zlOTiNeG35fWzQTOdCa4aV2d ezboun0t6771nfUeDg9hx92Bb74B+r1JFKSJO2LxHxjH2RH7fYU29b+d4ngF 25qvAP7+u+iDb9pg11eui43wQYWOWpW5Ltu5R2MPm8nm3IoVTYfWyyLxxQAT qZwzruQsvSFqtP2TQm7FTqWyVgtvoxb3nBXKmQKVGQ1u6BZbuSpvtHL5Wm7u 7k7GUwPJwsKd8Yo7aqdSKd5Y8mt+tI4WIHl0bpnhVKS9zHrurbn368X7M2uN m7DJDDk/GTkrJyPnlsnImQ4szp0nI2d+0nFum4w2n187GTkbJyPnrpORs3ky cu4wGTnLkxGmCvrg9l/drB6MnLWDkXMzGK0Zi2Zq1wMNRQYGBgYGBgYGBgYG BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBv9S/AMUxU7SAFAAAA== ------------=_1583534347-29878-0 Content-Type: text/x-c; charset=us-ascii; name="cpabidiffs" Content-Disposition: inline; filename="cpabidiffs" Content-Transfer-Encoding: base64 Content-Length: 21127 SW5kZXg6IGMtdHlwZXByaW50LmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS Q1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9jLXR5cGVwcmludC5jLHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjQKZGlmZiAtYyAtMyAtcCAtcjEuNCBjLXR5 cGVwcmludC5jCioqKiBjLXR5cGVwcmludC5jCTIwMDAvMTIvMTUgMDE6MDE6 NDYJMS40Ci0tLSBjLXR5cGVwcmludC5jCTIwMDEvMDIvMTggMjA6NDI6NDEK KioqKioqKioqKioqKioqCioqKiAzOCw0MyAqKioqCi0tLSAzOCw0NCAtLS0t CiAgI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIKICAjaW5jbHVkZSA8ZXJybm8u aD4KICAjaW5jbHVkZSA8Y3R5cGUuaD4KKyAjaW5jbHVkZSAiY3AtYWJpLmgi CiAgCiAgLyogRmxhZyBpbmRpY2F0aW5nIHRhcmdldCB3YXMgY29tcGlsZWQg YnkgSFAgY29tcGlsZXIgKi8KICBleHRlcm4gaW50IGhwX3NvbV9zb21fb2Jq ZWN0X3ByZXNlbnQ7CioqKioqKioqKioqKioqKiBjX3R5cGVfcHJpbnRfYmFz ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0CioqKiA5MDIsOTEyICoqKioKICAJ CXsKICAJCSAgY2hhciAqcGh5c25hbWUgPSBUWVBFX0ZOX0ZJRUxEX1BIWVNO QU1FIChmLCBqKTsKICAJCSAgaW50IGlzX2Z1bGxfcGh5c25hbWVfY29uc3Ry dWN0b3IgPQohIAkJICAoKHBoeXNuYW1lWzBdID09ICdfJyAmJiBwaHlzbmFt ZVsxXSA9PSAnXycKISAJCSAgICAmJiBzdHJjaHIgKCIwMTIzNDU2Nzg5UXQi LCBwaHlzbmFtZVsyXSkpCiEgCQkgICB8fCBTVFJFUU4gKHBoeXNuYW1lLCAi X19jdF9fIiwgNikKISAJCSAgIHx8IERFU1RSVUNUT1JfUFJFRklYX1AgKHBo eXNuYW1lKQohIAkJICAgfHwgU1RSRVFOIChwaHlzbmFtZSwgIl9fZHRfXyIs IDYpKTsKICAKICAJCSAgUVVJVDsKICAJCSAgaWYgKFRZUEVfRk5fRklFTERf UFJPVEVDVEVEIChmLCBqKSkKLS0tIDkwMyw5MTIgLS0tLQogIAkJewogIAkJ ICBjaGFyICpwaHlzbmFtZSA9IFRZUEVfRk5fRklFTERfUEhZU05BTUUgKGYs IGopOwogIAkJICBpbnQgaXNfZnVsbF9waHlzbmFtZV9jb25zdHJ1Y3RvciA9 CiEgCQkgICBjb25zdHJ1Y3Rvcl9wcmVmaXhfcCAocGh5c25hbWUpIAohIAkJ ICAgfHwgZGVzdHJ1Y3Rvcl9wcmVmaXhfcCAocGh5c25hbWUpCiEgCQkgICB8 fCBTVFJFUU4gKG1ldGhvZF9uYW1lLCAifiIsIDEpOwohIAkJICAgCiAgCiAg CQkgIFFVSVQ7CiAgCQkgIGlmIChUWVBFX0ZOX0ZJRUxEX1BST1RFQ1RFRCAo ZiwgaikpCioqKioqKioqKioqKioqKiBjX3R5cGVfcHJpbnRfYmFzZSAoc3Ry dWN0IHR5cGUgKnR5cGUsIHN0CioqKiA5NjMsOTY5ICoqKioKICAKICAJCSAg ZGVtYW5nbGVkX25hbWUgPQogIAkJICAgIGNwbHVzX2RlbWFuZ2xlIChtYW5n bGVkX25hbWUsCiEgCQkJCSAgICBETUdMX0FOU0kgfCBETUdMX1BBUkFNUyk7 CiAgCQkgIGlmIChkZW1hbmdsZWRfbmFtZSA9PSBOVUxMKQogIAkJICAgIHsK ICAJCSAgICAgIC8qIGluIHNvbWUgY2FzZXMgKGZvciBpbnN0YW5jZSB3aXRo IHRoZSBIUCBkZW1hbmdsaW5nKSwKLS0tIDk2Myw5NjkgLS0tLQogIAogIAkJ ICBkZW1hbmdsZWRfbmFtZSA9CiAgCQkgICAgY3BsdXNfZGVtYW5nbGUgKG1h bmdsZWRfbmFtZSwKISAJCQkJICAgIERNR0xfQU5TSSB8IERNR0xfUEFSQU1T IHwgRE1HTF9WRVJCT1NFKTsKICAJCSAgaWYgKGRlbWFuZ2xlZF9uYW1lID09 IE5VTEwpCiAgCQkgICAgewogIAkJICAgICAgLyogaW4gc29tZSBjYXNlcyAo Zm9yIGluc3RhbmNlIHdpdGggdGhlIEhQIGRlbWFuZ2xpbmcpLApJbmRleDog ZGJ4cmVhZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j dnMvc3JjL3NyYy9nZGIvZGJ4cmVhZC5jLHYKcmV0cmlldmluZyByZXZpc2lv biAxLjEyCmRpZmYgLWMgLTMgLXAgLXIxLjEyIGRieHJlYWQuYwoqKiogZGJ4 cmVhZC5jCTIwMDEvMDEvMTkgMTQ6NTM6NDQJMS4xMgotLS0gZGJ4cmVhZC5j CTIwMDEvMDIvMTggMjA6NDI6NDIKKioqKioqKioqKioqKioqCioqKiA1OCw2 MyAqKioqCi0tLSA1OCw2NCAtLS0tCiAgI2luY2x1ZGUgImRlbWFuZ2xlLmgi CiAgI2luY2x1ZGUgImxhbmd1YWdlLmgiCQkvKiBOZWVkZWQgaW5zaWRlIHBh cnRpYWwtc3RhYi5oICovCiAgI2luY2x1ZGUgImNvbXBsYWludHMuaCIKKyAj aW5jbHVkZSAiY3AtYWJpLmgiCiAgCiAgI2luY2x1ZGUgImFvdXQvYW91dDY0 LmgiCiAgI2luY2x1ZGUgImFvdXQvc3RhYl9nbnUuaCIJLyogV2UgYWx3YXlz IHVzZSBHTlUgc3RhYnMsIG5vdCBuYXRpdmUsIG5vdyAqLwoqKioqKioqKioq KioqKiogcmVjb3JkX21pbmltYWxfc3ltYm9sIChjaGFyICpuYW1lLCBDT1JF XwoqKiogNTE0LDUyMCAqKioqCiAgCWNoYXIgKnRlbXBzdHJpbmcgPSBuYW1l OwogIAlpZiAodGVtcHN0cmluZ1swXSA9PSBiZmRfZ2V0X3N5bWJvbF9sZWFk aW5nX2NoYXIgKG9iamZpbGUtPm9iZmQpKQogIAkgICsrdGVtcHN0cmluZzsK ISAJaWYgKFZUQkxfUFJFRklYX1AgKCh0ZW1wc3RyaW5nKSkpCiAgCSAgbXNf dHlwZSA9IG1zdF9kYXRhOwogICAgICAgIH0KICAgICAgICBzZWN0aW9uID0g U0VDVF9PRkZfREFUQSAob2JqZmlsZSk7Ci0tLSA1MTUsNTIxIC0tLS0KICAJ Y2hhciAqdGVtcHN0cmluZyA9IG5hbWU7CiAgCWlmICh0ZW1wc3RyaW5nWzBd ID09IGJmZF9nZXRfc3ltYm9sX2xlYWRpbmdfY2hhciAob2JqZmlsZS0+b2Jm ZCkpCiAgCSAgKyt0ZW1wc3RyaW5nOwohIAlpZiAodnRibF9wcmVmaXhfcCAo KHRlbXBzdHJpbmcpKSkKICAJICBtc190eXBlID0gbXN0X2RhdGE7CiAgICAg ICAgfQogICAgICAgIHNlY3Rpb24gPSBTRUNUX09GRl9EQVRBIChvYmpmaWxl KTsKSW5kZXg6IGdkYnR5cGVzLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS Q1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9nZGJ0eXBlcy5jLHYKcmV0cmll dmluZyByZXZpc2lvbiAxLjE2CmRpZmYgLWMgLTMgLXAgLXIxLjE2IGdkYnR5 cGVzLmMKKioqIGdkYnR5cGVzLmMJMjAwMC8xMi8xNSAwMTowMTo0NwkxLjE2 Ci0tLSBnZGJ0eXBlcy5jCTIwMDEvMDIvMTggMjA6NDI6NDIKKioqKioqKioq KioqKioqCioqKiAzMywzOSAqKioqCi0tLSAzMyw0MSAtLS0tCiAgI2luY2x1 ZGUgImRlbWFuZ2xlLmgiCiAgI2luY2x1ZGUgImNvbXBsYWludHMuaCIKICAj aW5jbHVkZSAiZ2RiY21kLmgiCisgI2luY2x1ZGUgImdkYl9yZWdleC5oIgog ICNpbmNsdWRlICJ3cmFwcGVyLmgiCisgI2luY2x1ZGUgImNwLWFiaS5oIgog IAogIC8qIFRoZXNlIHZhcmlhYmxlcyBwb2ludCB0byB0aGUgb2JqZWN0cwog ICAgIHJlcHJlc2VudGluZyB0aGUgcHJlZGVmaW5lZCBDIGRhdGEgdHlwZXMu ICAqLwoqKioqKioqKioqKioqKiogaW50CioqKiAxMDE4LDEwMjQgKioqKgog IGdldF9kZXN0cnVjdG9yX2ZuX2ZpZWxkIChzdHJ1Y3QgdHlwZSAqdCwgaW50 ICptZXRob2RfaW5kZXhwLCBpbnQgKmZpZWxkX2luZGV4cCkKICB7CiAgICBp bnQgaTsKLSAKICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05GTl9GSUVMRFMg KHQpOyBpKyspCiAgICAgIHsKICAgICAgICBpbnQgajsKLS0tIDEwMjAsMTAy NSAtLS0tCioqKioqKioqKioqKioqKiBnZXRfZGVzdHJ1Y3Rvcl9mbl9maWVs ZCAoc3RydWN0IHR5cGUgKnQsCioqKiAxMDI2LDEwMzIgKioqKgogIAogICAg ICAgIGZvciAoaiA9IDA7IGogPCBUWVBFX0ZOX0ZJRUxETElTVF9MRU5HVEgg KHQsIGkpOyBqKyspCiAgCXsKISAJICBpZiAoREVTVFJVQ1RPUl9QUkVGSVhf UCAoVFlQRV9GTl9GSUVMRF9QSFlTTkFNRSAoZiwgaikpKQogIAkgICAgewog IAkgICAgICAqbWV0aG9kX2luZGV4cCA9IGk7CiAgCSAgICAgICpmaWVsZF9p bmRleHAgPSBqOwotLS0gMTAyNywxMDMzIC0tLS0KICAKICAgICAgICBmb3Ig KGogPSAwOyBqIDwgVFlQRV9GTl9GSUVMRExJU1RfTEVOR1RIICh0LCBpKTsg aisrKQogIAl7CiEgCSAgaWYgKGRlc3RydWN0b3JfcHJlZml4X3AgKFRZUEVf Rk5fRklFTERfUEhZU05BTUUgKGYsIGopKSAhPSAwKQogIAkgICAgewogIAkg ICAgICAqbWV0aG9kX2luZGV4cCA9IGk7CiAgCSAgICAgICpmaWVsZF9pbmRl eHAgPSBqOwpJbmRleDoganYtdHlwZXByaW50LmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9qdi10eXBlcHJp bnQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zCmRpZmYgLWMgLTMgLXAg LXIxLjMganYtdHlwZXByaW50LmMKKioqIGp2LXR5cGVwcmludC5jCTIwMDAv MTIvMTUgMDE6MDE6NDcJMS4zCi0tLSBqdi10eXBlcHJpbnQuYwkyMDAxLzAy LzE4IDIwOjQyOjQyCioqKioqKioqKioqKioqKgoqKiogMjgsMzQgKioqKgog ICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCiAgI2luY2x1ZGUgInR5cGVwcmlu dC5oIgogICNpbmNsdWRlICJjLWxhbmcuaCIKISAKICAvKiBMb2NhbCBmdW5j dGlvbnMgKi8KICAKICBzdGF0aWMgdm9pZCBqYXZhX3R5cGVfcHJpbnRfYmFz ZSAoc3RydWN0IHR5cGUgKiB0eXBlLAotLS0gMjgsMzQgLS0tLQogICNpbmNs dWRlICJnZGJfc3RyaW5nLmgiCiAgI2luY2x1ZGUgInR5cGVwcmludC5oIgog ICNpbmNsdWRlICJjLWxhbmcuaCIKISAjaW5jbHVkZSAiY3AtYWJpLmgiCiAg LyogTG9jYWwgZnVuY3Rpb25zICovCiAgCiAgc3RhdGljIHZvaWQgamF2YV90 eXBlX3ByaW50X2Jhc2UgKHN0cnVjdCB0eXBlICogdHlwZSwKKioqKioqKioq KioqKioqIGphdmFfdHlwZV9wcmludF9iYXNlIChzdHJ1Y3QgdHlwZSAqdHlw ZSwKKioqIDIyNCwyMzUgKioqKgogIAogIAkJICBwaHlzbmFtZSA9IFRZUEVf Rk5fRklFTERfUEhZU05BTUUgKGYsIGopOwogIAohIAkJICBpc19mdWxsX3Bo eXNuYW1lX2NvbnN0cnVjdG9yID0KISAJCSAgICAoKHBoeXNuYW1lWzBdID09 ICdfJyAmJiBwaHlzbmFtZVsxXSA9PSAnXycKISAJCSAgICAgICYmIHN0cmNo ciAoIjAxMjM0NTY3ODlRdCIsIHBoeXNuYW1lWzJdKSkKISAJCSAgICAgfHwg U1RSRVFOIChwaHlzbmFtZSwgIl9fY3RfXyIsIDYpCiEgCQkgICAgIHx8IERF U1RSVUNUT1JfUFJFRklYX1AgKHBoeXNuYW1lKQohIAkJICAgICB8fCBTVFJF UU4gKHBoeXNuYW1lLCAiX19kdF9fIiwgNikpOwogIAogIAkJICBRVUlUOwog IAotLS0gMjI0LDIzMCAtLS0tCiAgCiAgCQkgIHBoeXNuYW1lID0gVFlQRV9G Tl9GSUVMRF9QSFlTTkFNRSAoZiwgaik7CiAgCiEgCQkgIGlzX2Z1bGxfcGh5 c25hbWVfY29uc3RydWN0b3IgPSBjb25zdHJ1Y3Rvcl9wcmVmaXhfcCAocGh5 c25hbWUpICE9IDAgfHwgZGVzdHJ1Y3Rvcl9wcmVmaXhfcCAocGh5c25hbWUp ICE9IDA7CiAgCiAgCQkgIFFVSVQ7CiAgCkluZGV4OiBsaW5lc3BlYy5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n ZGIvbGluZXNwZWMuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYg LWMgLTMgLXAgLXIxLjQgbGluZXNwZWMuYwoqKiogbGluZXNwZWMuYwkyMDAw LzEyLzE1IDAxOjAxOjQ4CTEuNAotLS0gbGluZXNwZWMuYwkyMDAxLzAyLzE4 IDIwOjQyOjQyCioqKioqKioqKioqKioqKgoqKiogMjgsMzQgKioqKgogICNp bmNsdWRlICJkZW1hbmdsZS5oIgogICNpbmNsdWRlICJ2YWx1ZS5oIgogICNp bmNsdWRlICJjb21wbGV0ZXIuaCIKISAKICAvKiBQcm90b3R5cGUgZm9yIG9u ZSBmdW5jdGlvbiBpbiBwYXJzZXItZGVmcy5oLAogICAgIGluc3RlYWQgb2Yg aW5jbHVkaW5nIHRoYXQgZW50aXJlIGZpbGUuICovCiAgCi0tLSAyOCwzNSAt LS0tCiAgI2luY2x1ZGUgImRlbWFuZ2xlLmgiCiAgI2luY2x1ZGUgInZhbHVl LmgiCiAgI2luY2x1ZGUgImNvbXBsZXRlci5oIgohICNpbmNsdWRlICJnZGJf cmVnZXguaCIKISAjaW5jbHVkZSAiY3AtYWJpLmgiCiAgLyogUHJvdG90eXBl IGZvciBvbmUgZnVuY3Rpb24gaW4gcGFyc2VyLWRlZnMuaCwKICAgICBpbnN0 ZWFkIG9mIGluY2x1ZGluZyB0aGF0IGVudGlyZSBmaWxlLiAqLwogIAoqKioq KioqKioqKioqKiogZmluZF9tZXRob2RzIChzdHJ1Y3QgdHlwZSAqdCwgY2hh ciAqbmFtZQoqKiogMTE5LDEyNiAqKioqCiAgICAgICAgaW50IG1ldGhvZF9j b3VudGVyOwogIAogICAgICAgIC8qIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBq dXN0IGJlIENIRUNLX1RZUEVERUYgKHQpPyAgKi8KISAgICAgICB0ID0gU1lN Qk9MX1RZUEUgKHN5bV9jbGFzcyk7CiEgCiAgICAgICAgLyogTG9vcCBvdmVy IGVhY2ggbWV0aG9kIG5hbWUuICBBdCB0aGlzIGxldmVsLCBhbGwgb3Zlcmxv YWRzIG9mIGEgbmFtZQogICAgICAgICAgIGFyZSBjb3VudGVkIGFzIGEgc2lu Z2xlIG5hbWUuICBUaGVyZSBpcyBhbiBpbm5lciBsb29wIHdoaWNoIGxvb3Bz IG92ZXIKICAgICAgICAgICBlYWNoIG92ZXJsb2FkLiAgKi8KLS0tIDEyMCwx MjYgLS0tLQogICAgICAgIGludCBtZXRob2RfY291bnRlcjsKICAKICAgICAg ICAvKiBGSVhNRTogU2hvdWxkbid0IHRoaXMganVzdCBiZSBDSEVDS19UWVBF REVGICh0KT8gICovCiEgICAgICAgQ0hFQ0tfVFlQRURFRiAodCk7CiAgICAg ICAgLyogTG9vcCBvdmVyIGVhY2ggbWV0aG9kIG5hbWUuICBBdCB0aGlzIGxl dmVsLCBhbGwgb3ZlcmxvYWRzIG9mIGEgbmFtZQogICAgICAgICAgIGFyZSBj b3VudGVkIGFzIGEgc2luZ2xlIG5hbWUuICBUaGVyZSBpcyBhbiBpbm5lciBs b29wIHdoaWNoIGxvb3BzIG92ZXIKICAgICAgICAgICBlYWNoIG92ZXJsb2Fk LiAgKi8KKioqKioqKioqKioqKioqIGZpbmRfbWV0aG9kcyAoc3RydWN0IHR5 cGUgKnQsIGNoYXIgKm5hbWUKKioqIDE0MywxNDkgKioqKgogIAkJbWV0aG9k X25hbWUgPSBkZW1fb3BuYW1lOwogIAkgICAgfQogIAohIAkgIGlmIChTVFJF USAobmFtZSwgbWV0aG9kX25hbWUpKQogIAkgICAgLyogRmluZCBhbGwgdGhl IG92ZXJsb2FkZWQgbWV0aG9kcyB3aXRoIHRoYXQgbmFtZS4gICovCiAgCSAg ICBmb3IgKGZpZWxkX2NvdW50ZXIgPSBUWVBFX0ZOX0ZJRUxETElTVF9MRU5H VEggKHQsIG1ldGhvZF9jb3VudGVyKSAtIDE7CiAgCQkgZmllbGRfY291bnRl ciA+PSAwOwotLS0gMTQzLDE0OSAtLS0tCiAgCQltZXRob2RfbmFtZSA9IGRl bV9vcG5hbWU7CiAgCSAgICB9CiAgCiEgCSAgaWYgKHN0cmNtcF9pdyAobmFt ZSwgbWV0aG9kX25hbWUpID09IDApCiAgCSAgICAvKiBGaW5kIGFsbCB0aGUg b3ZlcmxvYWRlZCBtZXRob2RzIHdpdGggdGhhdCBuYW1lLiAgKi8KICAJICAg IGZvciAoZmllbGRfY291bnRlciA9IFRZUEVfRk5fRklFTERMSVNUX0xFTkdU SCAodCwgbWV0aG9kX2NvdW50ZXIpIC0gMTsKICAJCSBmaWVsZF9jb3VudGVy ID49IDA7CioqKioqKioqKioqKioqKiBmaW5kX21ldGhvZHMgKHN0cnVjdCB0 eXBlICp0LCBjaGFyICpuYW1lCioqKiAxNjcsMTc3ICoqKioKICAJCSAgfQog IAkJZWxzZQogIAkJICBwaHlzX25hbWUgPSBUWVBFX0ZOX0ZJRUxEX1BIWVNO QU1FIChmLCBmaWVsZF9jb3VudGVyKTsKISAKICAJCS8qIERlc3RydWN0b3Ig aXMgaGFuZGxlZCBieSBjYWxsZXIsIGRvbnQgYWRkIGl0IHRvIHRoZSBsaXN0 ICovCiEgCQlpZiAoREVTVFJVQ1RPUl9QUkVGSVhfUCAocGh5c19uYW1lKSkK ICAJCSAgY29udGludWU7Ci0gCiAgCQlzeW1fYXJyW2kxXSA9IGxvb2t1cF9z eW1ib2wgKHBoeXNfbmFtZSwKICAJCQkJCSAgICAgTlVMTCwgVkFSX05BTUVT UEFDRSwKICAJCQkJCSAgICAgKGludCAqKSBOVUxMLAotLS0gMTY3LDE3NiAt LS0tCiAgCQkgIH0KICAJCWVsc2UKICAJCSAgcGh5c19uYW1lID0gVFlQRV9G Tl9GSUVMRF9QSFlTTkFNRSAoZiwgZmllbGRfY291bnRlcik7CiEgCQkKICAJ CS8qIERlc3RydWN0b3IgaXMgaGFuZGxlZCBieSBjYWxsZXIsIGRvbnQgYWRk IGl0IHRvIHRoZSBsaXN0ICovCiEgCQlpZiAoZGVzdHJ1Y3Rvcl9wcmVmaXhf cCAocGh5c19uYW1lKSAhPSAwKQogIAkJICBjb250aW51ZTsKICAJCXN5bV9h cnJbaTFdID0gbG9va3VwX3N5bWJvbCAocGh5c19uYW1lLAogIAkJCQkJICAg ICBOVUxMLCBWQVJfTkFNRVNQQUNFLAogIAkJCQkJICAgICAoaW50ICopIE5V TEwsCkluZGV4OiBzeW10YWIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3N5bXRhYi5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjI4CmRpZmYgLWMgLTMgLXAgLXIxLjI4IHN5bXRhYi5j CioqKiBzeW10YWIuYwkyMDAxLzAxLzMwIDAyOjQ5OjM2CTEuMjgKLS0tIHN5 bXRhYi5jCTIwMDEvMDIvMTggMjA6NDI6NDMKKioqKioqKioqKioqKioqCioq KiA0NCw1MCAqKioqCiAgI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIKICAjaW5j bHVkZSAiZ2RiX3N0YXQuaCIKICAjaW5jbHVkZSA8Y3R5cGUuaD4KISAKICAv KiBQcm90b3R5cGUgZm9yIG9uZSBmdW5jdGlvbiBpbiBwYXJzZXItZGVmcy5o LAogICAgIGluc3RlYWQgb2YgaW5jbHVkaW5nIHRoYXQgZW50aXJlIGZpbGUu ICovCiAgCi0tLSA0NCw1MCAtLS0tCiAgI2luY2x1ZGUgImdkYl9zdHJpbmcu aCIKICAjaW5jbHVkZSAiZ2RiX3N0YXQuaCIKICAjaW5jbHVkZSA8Y3R5cGUu aD4KISAjaW5jbHVkZSAiY3AtYWJpLmgiCiAgLyogUHJvdG90eXBlIGZvciBv bmUgZnVuY3Rpb24gaW4gcGFyc2VyLWRlZnMuaCwKICAgICBpbnN0ZWFkIG9m IGluY2x1ZGluZyB0aGF0IGVudGlyZSBmaWxlLiAqLwogIAoqKioqKioqKioq KioqKiogZ2RiX21hbmdsZV9uYW1lIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50 IAoqKiogMjg3LDI5MyAqKioqCiAgICBpbnQgaXNfZnVsbF9waHlzbmFtZV9j b25zdHJ1Y3RvcjsKICAKICAgIGludCBpc19jb25zdHJ1Y3RvcjsKISAgIGlu dCBpc19kZXN0cnVjdG9yID0gREVTVFJVQ1RPUl9QUkVGSVhfUCAocGh5c25h bWUpOwogICAgLyogTmVlZCBhIG5ldyB0eXBlIHByZWZpeC4gICovCiAgICBj aGFyICpjb25zdF9wcmVmaXggPSBtZXRob2QtPmlzX2NvbnN0ID8gIkMiIDog IiI7CiAgICBjaGFyICp2b2xhdGlsZV9wcmVmaXggPSBtZXRob2QtPmlzX3Zv bGF0aWxlID8gIlYiIDogIiI7Ci0tLSAyODcsMjkzIC0tLS0KICAgIGludCBp c19mdWxsX3BoeXNuYW1lX2NvbnN0cnVjdG9yOwogIAogICAgaW50IGlzX2Nv bnN0cnVjdG9yOwohICAgaW50IGlzX2Rlc3RydWN0b3IgPSBkZXN0cnVjdG9y X3ByZWZpeF9wIChwaHlzbmFtZSk7CiAgICAvKiBOZWVkIGEgbmV3IHR5cGUg cHJlZml4LiAgKi8KICAgIGNoYXIgKmNvbnN0X3ByZWZpeCA9IG1ldGhvZC0+ aXNfY29uc3QgPyAiQyIgOiAiIjsKICAgIGNoYXIgKnZvbGF0aWxlX3ByZWZp eCA9IG1ldGhvZC0+aXNfdm9sYXRpbGUgPyAiViIgOiAiIjsKKioqKioqKioq KioqKioqIGdkYl9tYW5nbGVfbmFtZSAoc3RydWN0IHR5cGUgKnR5cGUsIGlu dCAKKioqIDI5NywzMDYgKioqKgogICAgaWYgKE9QTkFNRV9QUkVGSVhfUCAo ZmllbGRfbmFtZSkpCiAgICAgIHJldHVybiB4c3RyZHVwIChwaHlzbmFtZSk7 CiAgCiEgICBpc19mdWxsX3BoeXNuYW1lX2NvbnN0cnVjdG9yID0KISAgICAg KChwaHlzbmFtZVswXSA9PSAnXycgJiYgcGh5c25hbWVbMV0gPT0gJ18nICYm CiEgICAgICAgKGlzZGlnaXQgKHBoeXNuYW1lWzJdKSB8fCBwaHlzbmFtZVsy XSA9PSAnUScgfHwgcGh5c25hbWVbMl0gPT0gJ3QnKSkKISAgICAgIHx8IChz dHJuY21wIChwaHlzbmFtZSwgIl9fY3QiLCA0KSA9PSAwKSk7CiAgCiAgICBp c19jb25zdHJ1Y3RvciA9CiAgICAgIGlzX2Z1bGxfcGh5c25hbWVfY29uc3Ry dWN0b3IgfHwgKG5ld25hbWUgJiYgU1RSRVEgKGZpZWxkX25hbWUsIG5ld25h bWUpKTsKLS0tIDI5NywzMDMgLS0tLQogICAgaWYgKE9QTkFNRV9QUkVGSVhf UCAoZmllbGRfbmFtZSkpCiAgICAgIHJldHVybiB4c3RyZHVwIChwaHlzbmFt ZSk7CiAgCiEgICBpc19mdWxsX3BoeXNuYW1lX2NvbnN0cnVjdG9yID0gY29u c3RydWN0b3JfcHJlZml4X3AgKHBoeXNuYW1lKTsKICAKICAgIGlzX2NvbnN0 cnVjdG9yID0KICAgICAgaXNfZnVsbF9waHlzbmFtZV9jb25zdHJ1Y3RvciB8 fCAobmV3bmFtZSAmJiBTVFJFUSAoZmllbGRfbmFtZSwgbmV3bmFtZSkpOwpJ bmRleDogc3ltdGFiLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls ZTogL2N2cy9zcmMvc3JjL2dkYi9zeW10YWIuaCx2CnJldHJpZXZpbmcgcmV2 aXNpb24gMS4xOApkaWZmIC1jIC0zIC1wIC1yMS4xOCBzeW10YWIuaAoqKiog c3ltdGFiLmgJMjAwMS8wMi8wOCAwNjowMzo1NAkxLjE4Ci0tLSBzeW10YWIu aAkyMDAxLzAyLzE4IDIwOjQyOjQzCioqKioqKioqKioqKioqKiBzdHJ1Y3Qg cGFydGlhbF9zeW10YWIKKioqIDEwNTUsMTA3NCAqKioqCiAgICAgJ192dCQn IGlzIHRoZSBvbGQgY2Zyb250LXN0eWxlIHZ0YWJsZXM7ICdfVlQkJyBpcyB0 aGUgbmV3CiAgICAgc3R5bGUsIHVzaW5nIHRodW5rcyAod2hlcmUgJyQnIGlz IHJlYWxseSBDUExVU19NQVJLRVIpLiAqLwogIAotICNkZWZpbmUgVlRCTF9Q UkVGSVhfUChOQU1FKSBcCi0gICAoKChOQU1FKVswXSA9PSAnXycgXAotICAg ICYmICgoKE5BTUUpWzFdID09ICdWJyAmJiAoTkFNRSlbMl0gPT0gJ1QnKSBc Ci0gICAgICAgIHx8ICgoTkFNRSlbMV0gPT0gJ3YnICYmIChOQU1FKVsyXSA9 PSAndCcpKSBcCi0gICAgJiYgaXNfY3BsdXNfbWFya2VyICgoTkFNRSlbM10p KSB8fCAoKE5BTUUpWzBdPT0nXycgJiYgKE5BTUUpWzFdPT0nXycgXAotICAg ICYmIChOQU1FKVsyXT09J3YnICYmIChOQU1FKVszXT09J3QnICYmIChOQU1F KVs0XT09J18nKSkKLSAKLSAvKiBNYWNybyB0aGF0IHlpZWxkcyBub24temVy byB2YWx1ZSBpZmYgTkFNRSBpcyB0aGUgcHJlZml4IGZvciBDKysgZGVzdHJ1 Y3RvcgotICAgIG5hbWVzLiAgTm90ZSB0aGF0IHRoaXMgbWFjcm8gaXMgZysr IHNwZWNpZmljIChGSVhNRSkuICAqLwotIAotICNkZWZpbmUgREVTVFJVQ1RP Ul9QUkVGSVhfUChOQU1FKSBcCi0gICAoKE5BTUUpWzBdID09ICdfJyAmJiBp c19jcGx1c19tYXJrZXIgKChOQU1FKVsxXSkgJiYgKE5BTUUpWzJdID09ICdf JykKICAMCi0gCiAgLyogRXh0ZXJuYWwgdmFyaWFibGVzIGFuZCBmdW5jdGlv bnMgZm9yIHRoZSBvYmplY3RzIGRlc2NyaWJlZCBhYm92ZS4gKi8KICAKICAv KiBUaGlzIHN5bXRhYiB2YXJpYWJsZSBzcGVjaWZpZXMgdGhlIGN1cnJlbnQg ZmlsZSBmb3IgcHJpbnRpbmcgc291cmNlIGxpbmVzICovCi0tLSAxMDU1LDEw NjEgLS0tLQpJbmRleDogdmFsb3BzLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi92YWxvcHMuYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS4zMQpkaWZmIC1jIC0zIC1wIC1yMS4zMSB2YWxv cHMuYwoqKiogdmFsb3BzLmMJMjAwMS8wMi8wNiAyMDowNTo0MQkxLjMxCi0t LSB2YWxvcHMuYwkyMDAxLzAyLzE4IDIwOjQyOjQ0CioqKioqKioqKioqKioq KgoqKiogMzAsMzUgKioqKgotLS0gMzAsMzYgLS0tLQogICNpbmNsdWRlICJk ZW1hbmdsZS5oIgogICNpbmNsdWRlICJsYW5ndWFnZS5oIgogICNpbmNsdWRl ICJnZGJjbWQuaCIKKyAjaW5jbHVkZSAiY3AtYWJpLmgiCiAgCiAgI2luY2x1 ZGUgPGVycm5vLmg+CiAgI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIKKioqKioq KioqKioqKioqIHZhbHVlX3J0dGlfdHlwZSAodmFsdWVfcHRyIHYsIGludCAq ZnVsbCwKKioqIDMyOTUsMzMwMSAqKioqCiAgCiAgICAgICAgLyogVHJ5IHRv IGZpbmQgYSBzeW1ib2wgdGhhdCBpcyB0aGUgdnRhYmxlICovCiAgICAgICAg bWluc3ltPWxvb2t1cF9taW5pbWFsX3N5bWJvbF9ieV9wYyh2dGJsKTsKISAg ICAgICBpZiAobWluc3ltPT1OVUxMIHx8IChkZW1hbmdsZWRfbmFtZT1TWU1C T0xfTkFNRShtaW5zeW0pKT09TlVMTCB8fCAhVlRCTF9QUkVGSVhfUChkZW1h bmdsZWRfbmFtZSkpCiAgCXJldHVybiBOVUxMOwogIAogICAgICAgIC8qIElm IHdlIGp1c3Qgc2tpcCB0aGUgcHJlZml4LCB3ZSBnZXQgc2NyZXdlZCBieSBu YW1lc3BhY2VzICovCi0tLSAzMjk2LDMzMDIgLS0tLQogIAogICAgICAgIC8q IFRyeSB0byBmaW5kIGEgc3ltYm9sIHRoYXQgaXMgdGhlIHZ0YWJsZSAqLwog ICAgICAgIG1pbnN5bT1sb29rdXBfbWluaW1hbF9zeW1ib2xfYnlfcGModnRi bCk7CiEgICAgICAgaWYgKG1pbnN5bT09TlVMTCB8fCAoZGVtYW5nbGVkX25h bWU9U1lNQk9MX05BTUUobWluc3ltKSk9PU5VTEwgfHwgIXZ0YmxfcHJlZml4 X3AoZGVtYW5nbGVkX25hbWUpKQogIAlyZXR1cm4gTlVMTDsKICAKICAgICAg ICAvKiBJZiB3ZSBqdXN0IHNraXAgdGhlIHByZWZpeCwgd2UgZ2V0IHNjcmV3 ZWQgYnkgbmFtZXNwYWNlcyAqLwpJbmRleDogTWFrZWZpbGUuaW4KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9N YWtlZmlsZS5pbix2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42MgpkaWZmIC1j IC0zIC1wIC1yMS42MiBNYWtlZmlsZS5pbgoqKiogTWFrZWZpbGUuaW4JMjAw MS8wMi8xOCAwNzoyMjoxNgkxLjYyCi0tLSBNYWtlZmlsZS5pbgkyMDAxLzAy LzE4IDIwOjQyOjQ0CioqKioqKioqKioqKioqKiBJTlRMX0RFUFMgPSBASU5U TERFUFNACioqKiAxMzcsMTQzICoqKioKLS0tIDEzNywxNTggLS0tLQogIElO VExfU1JDID0gJChzcmNkaXIpLyQoSU5UTF9ESVIpCiAgSU5UTF9DRkxBR1Mg PSAtSSQoSU5UTF9ESVIpIC1JJChJTlRMX1NSQykKICAKKyAjIAorICMgQ1At QUJJIHN1YiBkaXJlY3RvcnkgZGVmaW5pdGlvbnMKICAjCisgCisgU1VCRElS X0NQQUJJX09CUyA9IFwKKyAJY3AtYWJpLm8gZ251LXYzLWFiaS5vIGdudS12 Mi1hYmkubworIFNVQkRJUl9DUEFCSV9TUkNTID0gXAorIAljcC1hYmkvY3At YWJpLmMgY3AtYWJpL2dudS12My1hYmkuYyBjcC1hYmkvZ251LXYyLWFiaS5j CisgU1VCRElSX0NQQUJJX0RFUFMgPQorIFNVQkRJUl9DUEFCSV9JTklUUyA9 IGNwLWFiaS9jcC1hYmkuYyBjcC1hYmkvZ251LXYzLWFiaS5jIGNwLWFiaS9n bnUtdjItYWJpLmMKKyBTVUJESVJfQ1BBQklfQ0ZMQUdTID0KKyBTVUJESVJf Q1BBQklfQUxMID0gCisgU1VCRElSX0NQQUJJX0NMRUFOID0KKyBTVUJESVJf Q1BBQklfSU5TVEFMTCA9CisgU1VCRElSX0NQQUJJX1VOSU5TVEFMTCA9Cisg IwogICMgQ0xJIHN1YiBkaXJlY3RvcnkgZGVmaW5pdG9ucwogICMKICBTVUJE SVJfQ0xJX09CUyA9IFwKKioqKioqKioqKioqKioqIHZhcm9iai5vOiB2YXJv YmouYyAkKGRlZnNfaCkgJChmcmFtZV9oKSAKKioqIDIwNTcsMjA2MiAqKioq Ci0tLSAyMDcyLDIwODggLS0tLQogIAkkKGxhbmd1YWdlX2gpIHZhbHByaW50 LmggdmFyb2JqLmggd3JhcHBlci5oCiAgCiAgd3JhcHBlci5vOiB3cmFwcGVy LmMgJChkZWZzX2gpICQoZnJhbWVfaCkgJCh2YWx1ZV9oKSB3cmFwcGVyLmgK KyAKKyAjIENQQUJJIGRlcGVuZGVuY2llcworICMgTmVlZCB0byBleHBsaWNp dGx5IHNwZWNpZnkgdGhlIGNvbXBpbGUgcnVsZSBhcyBtYWtlIHdpbGwgZG8g bm90aGluZworICMgb3IgdHJ5IHRvIGNvbXBpbGUgdGhlIG9iamVjdCBmaWxl IGludG8gdGhlIGNwLWFiaSBkaXJlY3RvcnkuCisgCisgY3AtYWJpLm86ICQo c3JjZGlyKS9jcC1hYmkvY3AtYWJpLmMgY3AtYWJpLmggCisgCSQoQ0MpIC1j ICQoSU5URVJOQUxfQ0ZMQUdTKSAkKHNyY2RpcikvY3AtYWJpL2NwLWFiaS5j CisgZ251LXYzLWFiaS5vOiAkKHNyY2RpcikvY3AtYWJpL2dudS12My1hYmku YyBjcC1hYmkuaAorIAkkKENDKSAtYyAkKElOVEVSTkFMX0NGTEFHUykgJChz cmNkaXIpL2NwLWFiaS9nbnUtdjMtYWJpLmMKKyBnbnUtdjItYWJpLm86ICQo c3JjZGlyKS9jcC1hYmkvZ251LXYyLWFiaS5jIGNwLWFiaS5oCisgCSQoQ0Mp IC1jICQoSU5URVJOQUxfQ0ZMQUdTKSAkKHNyY2RpcikvY3AtYWJpL2dudS12 Mi1hYmkuYwogIAogICMKICAjIENMSSBkZXBlbmRlbmNpZXMKSW5kZXg6IGNv bmZpZ3VyZS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv Y3ZzL3NyYy9zcmMvZ2RiL2NvbmZpZ3VyZS5pbix2CnJldHJpZXZpbmcgcmV2 aXNpb24gMS41NgpkaWZmIC1jIC0zIC1wIC1yMS41NiBjb25maWd1cmUuaW4K KioqIGNvbmZpZ3VyZS5pbgkyMDAxLzAyLzE0IDE4OjQ4OjQwCTEuNTYKLS0t IGNvbmZpZ3VyZS5pbgkyMDAxLzAyLzE4IDIwOjQyOjQ0CioqKioqKioqKioq KioqKiBlc2FjCioqKiA0OTksNTA0ICoqKioKLS0tIDQ5OSw1MjcgLS0tLQog IAogIGRubCBIYW5kbGUgb3B0aW9uYWwgZmVhdHVyZXMgdGhhdCBjYW4gYmUg ZW5hYmxlZC4KICAKKyBkbmwgSGFuZGxlIGNwLWFiaSBzdWItZGlyZWN0b3J5 IGNvbmZpZ3VyeS4KKyBBQ19BUkdfRU5BQkxFKGNwLWFiaSwKKyBbICAtLWVu YWJsZS1jcC1hYmkJICAgICBFbmFibGUgQysrIEFCSSBhYnN0cmFjdGlvbl0s CisgWworICAgY2FzZSAiJHtlbmFibGVfY3BfYWJpfSIgaW4KKyAgICAgInll cyIgfCAibm8iKSA7OworICAgICAiIikgZW5hYmxlX2NwX2FiaT15ZXMgOzsK KyAgICAgICopCisgICAgICAgQUNfTVNHX0VSUk9SKEJhZCB2YWx1ZSBmb3Ig LS1lbmFibGUtY3AtYWJpOiAke2VuYWJsZXZhbH0pCisgICAgIDs7CisgICAg IGVzYWMKKyBdLCBbZW5hYmxlX2NwX2FiaT15ZXNdKQorIGNhc2UgJHtlbmFi bGVfY3BfYWJpfSBpbgorICAgInllcyIgKQorICAgICBpZiB0ZXN0IC1kICIk e3NyY2Rpcn0vY3AtYWJpIiA7IHRoZW4KKyAgICAgICBDT05GSUdfT0JTPSIk e0NPTkZJR19PQlN9IFwkKFNVQkRJUl9DUEFCSV9PQlMpIgorICAgICAgIENP TkZJR19ERVBTPSIke0NPTkZJR19ERVBTfSBcJChTVUJESVJfQ1BBQklfREVQ UykiCisgICAgICAgQ09ORklHX1NSQ1M9IiR7Q09ORklHX1NSQ1N9IFwkKFNV QkRJUl9DUEFCSV9TUkNTKSIKKyAgICAgICBDT05GSUdfSU5JVFM9IiR7Q09O RklHX0lOSVRTfSBcJChTVUJESVJfQ1BBQklfSU5JVFMpIgorICAgICAgIEVO QUJMRV9DRkxBR1M9IiR7RU5BQkxFX0NGTEFHU30gXCQoU1VCRElSX0NQQUJJ X0NGTEFHUykiCisgICAgIGZpCisgICAgIDs7CisgZXNhYwogIGRubCBIYW5k bGUgTUkgc3ViLWRpcmVjdG9yeSBjb25maWd1cnkuCiAgQUNfQVJHX0VOQUJM RShnZGJtaSwKICBbICAtLWVuYWJsZS1nZGJtaSAgICAgICAgICAgIEVuYWJs ZSBHREItTUkgaW50ZXJmYWNlXSwKKioqKioqKioqKioqKioqIGNhc2UgJHtl bmFibGVfZ2RibWl9IGluCioqKiA1MjYsNTMxICoqKioKLS0tIDU0OSw1NTUg LS0tLQogICAgICBmaQogICAgICA7OwogIGVzYWMKKyAKICAKICAjIENvbmZp Z3VyZSBVSV9PVVQgYnkgZGVmYXVsdCAoYmVmb3JlIDUuMiBpdCBjYW4gYmUg ZGlzYWJsZWQpCiAgIyBJdCBtdXN0IGJlIGNvbmZpZ3VyZWQgaWYgZ2RibWkg aXMgY29uZmlndXJlZAo= ------------=_1583534347-29878-0-- >From msnyder@redhat.com Sun Feb 18 15:29:00 2001 From: Michael Snyder To: Michael Elizabeth Chastain Cc: gdb-patches@sources.redhat.com, jmoore@cygnus.com Subject: Re: [RFA] Fix for gdb-gnats bug #14 Date: Sun, 18 Feb 2001 15:29:00 -0000 Message-id: <3A905AC4.ADAAE908@redhat.com> References: <200102170147.RAA01919@bosch.cygnus.com> X-SW-Source: 2001-02/msg00347.html Content-length: 1121 Michael Elizabeth Chastain wrote: > > Hi Michael, > > > Correct. In fact, this test has always been wrong, and AFAIK, > > it could never ever ever have passed. I don't understand how > > it has existed as such. > > My guess is that gdb used to run all the commands in a command list, > including all the commands after "next" and "step". No. Trust me -- it never did. This would require infrastructure that has never existed, and would require code to be reentrant which has always relied on global variables. > > Then someone wrote the test to expect that behaviour. > > Then someone noticed that gdb was having trouble and changed gdb and > also updated the manual. The prose in the manual gives me a feeling of > "this section got added in response to a bug". It may have got added in response to a sufficient number of users going "hey, how come this doesn't work?" > I'd have to go way back into old archives to check out that theory. > > > I don't understand why it isn't a FAIL on RH7. The output is > > identical to the failing output on Solaris. > > Ah. It _is_ a FAIL on RH 7. > > Michael