Re: Remove BFD64 checks from rs6000-core.c
Aditya Kamath via Binutils <[email protected]> Fri, 31 Jul 2026 07:16:37 +0000
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82@LV8PR15MB6488.namprd15.prod.outlook.com> |
--_004_LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82LV8PR15MB6488namp_ Content-Type: multipart/alternative; boundary="_000_LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82LV8PR15MB6488namp_" --_000_LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82LV8PR15MB6488namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Alan, >You might like to test this patch for me. >On a 32-bit system it is possible to build binutils with >--enable-64-bit-bfd or with --enable-targets choosing extra targets >that require a 64-bit bfd. So all of the BFD64 tests added in commit >d6867a7559 and further modified in commit f03265d9cd are bogus, in >particular the removal of code by #ifndef BFD64. It looks to me that >this would break reading of core files in rs6000-aix4.2 or earlier. chdev -l sys0 -a pre430core=3Dtrue lsattr -El sys0 | grep pre430core # should say 'true' sys0 changed pre430core true Use pre-430 style CORE= dump True gcc -maix64 -o /tmp/bfdtest_orig /tmp/bfdtest.c \ -include /home/aditya/binutils-gdb/bfd/config.h \ -I/home/aditya/binutils-gdb/bfd \ -I/home/aditya/binutils-gdb/include \ /home/aditya/binutils-gdb/bfd/*.o \ /home/aditya/binutils-gdb/libiberty/libiberty.a \ -L/opt/freeware/lib64 \ -lz -lzstd -lintl -lpthread /tmp/bfdtest_orig /tmp/core /tmp/core: not recognised as a core file: file format not recognized Yes it was breaking reading core files. After using the fix you provided as attached in this email [ See: diff.patc= h ] we get, gcc -maix64 -o /tmp/bfdtest /tmp/bfdtest.c \ -include /home/aditya/binutils-gdb/bfd/config.h \ -I/home/aditya/binutils-gdb/bfd \ -I/home/aditya/binutils-gdb/include \ /home/aditya/binutils-gdb/bfd/*.o \ /home/aditya/binutils-gdb/libiberty/libiberty.a \ -L/opt/freeware/lib64 \ -lz -lzstd -lintl -lpthread bash-5.3# /tmp/bfdtest /tmp/core Format : aixcoff-rs6000 Failing command: crashme Failing signal : 6 Sections: .stack size=3D0x1000 vma=3D0x2ff22000 filepos=3D0x48f6 .reg size=3D0x250 vma=3D0x0 filepos=3D0x10 .ldinfo size=3D0x7ffffff vma=3D0x0 filepos=3D0x4840 So your fix works. Thanks for reaching out. Regards, Aditya. --_000_LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82LV8PR15MB6488namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"= > </head> <body> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: black;"> Hi Alan,</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: black;"> <br> </div> <div id=3D"mail-editor-reference-message-container"> <div class=3D"PlainText" style=3D"font-family: "&quot;Aptos&qu= ot;", Arial, Helvetica, sans-serif; font-size: 12pt;"> >You might like to test this patch for me.<br> >On a 32-bit system it is possible to build binutils with<br> >--enable-64-bit-bfd or with --enable-targets choosing extra targets<br> >that require a 64-bit bfd. So all of the BFD64 tests added in com= mit<br> >d6867a7559 and further modified in commit f03265d9cd are bogus, in<br> >particular the removal of code by #ifndef BFD64. It looks to me t= hat<br> >this would break reading of core files in rs6000-aix4.2 or earlier.</di= v> <div class=3D"PlainText" style=3D"direction: ltr; font-family: "&q= uot;Aptos&quot;", Arial, Helvetica, sans-serif; font-size: 12pt;"> <br> </div> <div class=3D"PlainText" style=3D"margin-left: 40px; font-family: "&am= p;quot;Aptos&quot;", Arial, Helvetica, sans-serif; font-size: 12pt= ; color: rgb(0, 0, 0);"> chdev -l sys0 -a pre430core=3Dtrue</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> lsattr -El sys0 | grep pre430core # should say 'true'</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> sys0 changed</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> pre430core true &nbs= p; Us= e pre-430 style CORE dump = True</div> <div style=3D"direction: ltr; margin-left: 40px; font-family: "&qu= ot;Aptos&quot;", Arial, Helvetica, sans-serif; font-size: 12pt;"> <br> </div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> gcc -maix64 -o /tmp/bfdtest_orig /tmp/bfdtest.c \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -include /home/aditya/binutils-gdb/bfd/config.h \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -I/home/aditya/binutils-gdb/bfd \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -I/home/aditya/binutils-gdb/include \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> /home/aditya/binutils-gdb/bfd/*.o \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> /home/aditya/binutils-gdb/libiberty/libiberty.a \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -L/opt/freeware/lib64 \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -lz -lzstd -lintl -lpthread</div> <div style=3D"direction: ltr; margin-left: 40px; font-family: "&qu= ot;Aptos&quot;", Arial, Helvetica, sans-serif; font-size: 12pt; co= lor: rgb(0, 0, 0);"> <br> </div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> /tmp/bfdtest_orig /tmp/core</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> /tmp/core: not recognised as a core file: file format not recognized</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt;"> <br> </div> <div style=3D"font-family: "&quot;Aptos&quot;", Arial, He= lvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"> Yes it was breaking reading core files.</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt;"> <br> </div> <div style=3D"font-family: "&quot;Aptos&quot;", Arial, He= lvetica, sans-serif; font-size: 12pt;"> <br> After using the fix you provided as attached in this email [ See: diff.patc= h ] we get,</div> <div style=3D"direction: ltr; margin-left: 40px; font-family: "&qu= ot;Aptos&quot;", Arial, Helvetica, sans-serif; font-size: 12pt; co= lor: rgb(0, 0, 0);"> gcc -maix64 -o /tmp/bfdtest /tmp/bfdtest.c \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -include /home/aditya/binutils-gdb/bfd/config.h \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -I/home/aditya/binutils-gdb/bfd \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -I/home/aditya/binutils-gdb/include \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> /home/aditya/binutils-gdb/bfd/*.o \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> /home/aditya/binutils-gdb/libiberty/libiberty.a \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -L/opt/freeware/lib64 \</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> -lz -lzstd -lintl -lpthread</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> bash-5.3# /tmp/bfdtest /tmp/core</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> Format : aixcoff-rs6000</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> Failing command: crashme</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> Failing signal : 6</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> Sections:</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> .stack size=3D0x1000 vma=3D0x2ff220= 00 filepos=3D0x48f6</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> .reg size=3D0x250 vma=3D0x0 = filepos=3D0x10</div> <div style=3D"margin-left: 40px; font-family: "&quot;Aptos&quo= t;", Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0= );"> .ldinfo size=3D0x7ffffff vma=3D0x0 = filepos=3D0x4840</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > <br> </div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > So your fix works.</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > <br> </div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > Thanks for reaching out.</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > <br> </div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > Regards,</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > Aditya.</div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > <br> </div> <div style=3D"direction: ltr; font-family: "&quot;Aptos&quot;&= quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"= > <br> </div> </div> </body> </html> --_000_LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82LV8PR15MB6488namp_-- --_004_LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82LV8PR15MB6488namp_ Content-Type: application/octet-stream; name="diff.patch" Content-Description: diff.patch Content-Disposition: attachment; filename="diff.patch"; size=5577; creation-date="Fri, 31 Jul 2026 07:15:16 GMT"; modification-date="Fri, 31 Jul 2026 07:15:16 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2JmZC9yczYwMDAtY29yZS5jIGIvYmZkL3JzNjAwMC1jb3JlLmMKaW5kZXgg OGQxYzIxY2Y4NWYuLmQ2MDVjNDE5NDQ5IDEwMDY0NAotLS0gYS9iZmQvcnM2MDAwLWNvcmUuYwor KysgYi9iZmQvcnM2MDAwLWNvcmUuYwpAQCAtMTA5LDEwICsxMDksOCBAQCB0eXBlZGVmIHVuaW9u CiAjZWxzZQogICBzdHJ1Y3QgY29yZV9kdW1wIG5ld19kdW1wOwkvKiBGb3Igc2ltcGxlciBjb2Rp bmcuICAqLwogI2VuZGlmCi0jaWZuZGVmIEJGRDY0CQkJLyogVXNlIG9sZCBvbmx5IGlmIGdkYiBp cyAzMi1iaXQuICAqLwogICBzdHJ1Y3QgY29yZV9kdW1wIG9sZDsJCS8qIE9sZCBBSVggNC4yLSBj b3JlIGR1bXAsIHN0aWxsIHVzZWQgb24KIAkJCQkgICA0LjMrIHdpdGggYXBwcm9wcmlhdGUgU01J VCBjb25maWcuICAqLwotI2VuZGlmCiB9IENvcmVIZHI7CiAKIC8qIFVuaW9uIG9mIG9sZCBhbmQg bmV3IHZtX2luZm8gc3RydWN0dXJlcy4gICovCkBAIC0xMjUsMjAgKzEyMywxNCBAQCB0eXBlZGVm IHVuaW9uCiAjZWxzZQogICBzdHJ1Y3Qgdm1faW5mbyBuZXdfZHVtcDsKICNlbmRpZgotI2lmbmRl ZiBCRkQ2NAogICBzdHJ1Y3Qgdm1faW5mbyBvbGQ7Ci0jZW5kaWYKIH0gVm1JbmZvOwogI2VuZGlm CiAKIC8qIFJldHVybiB3aGV0aGVyIENvcmVIZHIgQyBpcyBpbiBuZXcgb3Igb2xkIGZvcm1hdC4g ICovCiAKICNpZmRlZiBBSVhfQ09SRV9EVU1QWF9DT1JFCi0jIGlmbmRlZiBCRkQ2NAotIyAgZGVm aW5lIENPUkVfTkVXKGMpCSghKGMpLm9sZC5jX2VudHJpZXMpCi0jIGVsc2UKLSMgIGRlZmluZSBD T1JFX05FVyhjKQkxCi0jIGVuZGlmCisjIGRlZmluZSBDT1JFX05FVyhjKQkoKGMpLm9sZC5jX2Vu dHJpZXMgPT0gMCkKICNlbHNlCiAjIGRlZmluZSBDT1JFX05FVyhjKQkwCiAjZW5kaWYKQEAgLTI3 MCwxMyArMjYyLDkgQEAgdHlwZWRlZiB1bmlvbgogCiAvKiBTaXplIG9mIHRoZSBsZWFkaW5nIHBv cnRpb24gdGhhdCBvbGQgYW5kIG5ldyBjb3JlIGR1bXAgc3RydWN0dXJlcyBoYXZlIGluCiAgICBj b21tb24uICAqLwotI2lmZGVmIEFJWF9DT1JFX0RVTVBYX0NPUkUKLSNkZWZpbmUgQ09SRV9DT01N T05TWiAgKChsb25nKSAmKChzdHJ1Y3QgY29yZV9kdW1weCAqKSAwKS0+Y19lbnRyaWVzIFwKLQkJ CSsgc2l6ZW9mICgoKHN0cnVjdCBjb3JlX2R1bXB4ICopIDApLT5jX2VudHJpZXMpKQotI2Vsc2UK ICNkZWZpbmUgQ09SRV9DT01NT05TWiAgKChpbnQpICYoKHN0cnVjdCBjb3JlX2R1bXAgKikgMCkt PmNfZW50cmllcyBcCiAJCQkrIHNpemVvZiAoKChzdHJ1Y3QgY29yZV9kdW1wICopIDApLT5jX2Vu dHJpZXMpKQotI2VuZGlmCisKIC8qIERlZmluZSBwcm90b3R5cGVzIGZvciBjZXJ0YWluIGZ1bmN0 aW9ucywgdG8gYXZvaWQgYSBjb21waWxlciB3YXJuaW5nCiAgICBzYXlpbmcgdGhhdCB0aGV5IGFy ZSBtaXNzaW5nLiAgKi8KIApAQCAtMzA1LDEwICsyOTMsOCBAQCByZWFkX2hkciAoYmZkICphYmZk LCBDb3JlSGRyICpjb3JlKQogICAvKiBSZWFkIHRoZSB0cmFpbGluZyBwb3J0aW9uIG9mIHRoZSBz dHJ1Y3R1cmUuICAqLwogICBpZiAoQ09SRV9ORVcgKCpjb3JlKSkKICAgICBzaXplID0gc2l6ZW9m IChjb3JlLT5uZXdfZHVtcCk7Ci0jaWZuZGVmIEJGRDY0CiAgIGVsc2UKICAgICBzaXplID0gc2l6 ZW9mIChjb3JlLT5vbGQpOwotI2VuZGlmCiAgIHNpemUgLT0gQ09SRV9DT01NT05TWjsKICAgcmV0 dXJuIGJmZF9yZWFkICgoY2hhciAqKSBjb3JlICsgQ09SRV9DT01NT05TWiwgc2l6ZSwgYWJmZCkg PT0gc2l6ZTsKIH0KQEAgLTM4NCw3ICszNzAsNiBAQCByczYwMDBjb2ZmX2NvcmVfcCAoYmZkICph YmZkKQogICAgICAgY19leHRvZmYgPSBjb3JlLm5ld19kdW1wLmNfZXh0Y3R4OwogICAgICAgcHJv YzY0ID0gQ05FV19QUk9DNjQgKGNvcmUubmV3X2R1bXApOwogICAgIH0KLSNpZm5kZWYgQkZENjQK ICAgZWxzZQogICAgIHsKICAgICAgIGNfZmxhZyA9IGNvcmUub2xkLmNfZmxhZzsKQEAgLTM5NSw3 ICszODAsNiBAQCByczYwMDBjb2ZmX2NvcmVfcCAoYmZkICphYmZkKQogICAgICAgY19sb2FkZXIg PSAoZmlsZV9wdHIpIChwdHJfdG9fdWludCkgQ09MRF9MT0FERVIgKGNvcmUub2xkKTsKICAgICAg IHByb2M2NCA9IDA7CiAgICAgfQotI2VuZGlmCiAKICAgaWYgKHByb2M2NCkKICAgICB7CkBAIC00 MDcsMTMgKzM5MSwxMSBAQCByczYwMDBjb2ZmX2NvcmVfcCAoYmZkICphYmZkKQogICAgICAgY19y ZWdzaXplID0gc2l6ZW9mIChDTkVXX01TVFNBVkUgKGNvcmUubmV3X2R1bXApKTsKICAgICAgIGNf cmVncHRyID0gJkNORVdfTVNUU0FWRSAoY29yZS5uZXdfZHVtcCk7CiAgICAgfQotI2lmbmRlZiBC RkQ2NAogICBlbHNlCiAgICAgewogICAgICAgY19yZWdzaXplID0gc2l6ZW9mIChDT0xEX01TVFNB VkUgKGNvcmUub2xkKSk7CiAgICAgICBjX3JlZ3B0ciA9ICZDT0xEX01TVFNBVkUgKGNvcmUub2xk KTsKICAgICB9Ci0jZW5kaWYKICAgY19yZWdvZmYgPSAoY2hhciAqKSBjX3JlZ3B0ciAtIChjaGFy ICopICZjb3JlOwogCiAgIGlmIChiZmRfc3RhdCAoYWJmZCwgJnN0YXRidWYpIDwgMCkKQEAgLTQ2 NywxMiArNDQ5LDcgQEAgcnM2MDAwY29mZl9jb3JlX3AgKGJmZCAqYWJmZCkKIAogICAvKiBTYW5p dHkgY2hlY2sgb24gdGhlIGNfdGFiIGZpZWxkLiAgKi8KICAgaWYgKCFDT1JFX05FVyAoY29yZSkK LSAgICAgICYmICgKLSNpZm5kZWYgQkZENjQKLQkgIGNfbG9hZGVyIDwgKGZpbGVfcHRyKSBzaXpl b2YgY29yZS5vbGQKLSNlbHNlCi0JICBjX2xvYWRlciA8IChmaWxlX3B0cikgc2l6ZW9mIGNvcmUu bmV3X2R1bXAKLSNlbmRpZgorICAgICAgJiYgKGNfbG9hZGVyIDwgKGZpbGVfcHRyKSBzaXplb2Yg Y29yZS5vbGQKIAkgIHx8IGNfbG9hZGVyID49IHN0YXRidWYuc3Rfc2l6ZQogCSAgfHwgY19sb2Fk ZXIgPj0gY19zdGFjaykpCiAgICAgewpAQCAtNDg1LDExICs0NjIsNyBAQCByczYwMDBjb2ZmX2Nv cmVfcCAoYmZkICphYmZkKQogICAgIF9iZmRfZXJyb3JfaGFuZGxlciAoXygiJXBCOiB3YXJuaW5n IGNvcmUgZmlsZSB0cnVuY2F0ZWQiKSwgYWJmZCk7CiAKICAgLyogQWxsb2NhdGUgY29yZSBmaWxl IGhlYWRlci4gICovCi0jaWZuZGVmIEJGRDY0CiAgIHNpemUgPSBDT1JFX05FVyAoY29yZSkgPyBz aXplb2YgKGNvcmUubmV3X2R1bXApIDogc2l6ZW9mIChjb3JlLm9sZCk7Ci0jZWxzZQotICBzaXpl ID0gIHNpemVvZiAoY29yZS5uZXdfZHVtcCk7Ci0jZW5kaWYKICAgdG1wcHRyID0gYmZkX2FsbG9j IChhYmZkLCBzaXplICsgMSk7CiAgIGlmICghdG1wcHRyKQogICAgIHJldHVybiBOVUxMOwpAQCAt NTk5LDcgKzU3Miw2IEBAIHJzNjAwMGNvZmZfY29yZV9wIChiZmQgKmFiZmQpCiAJY192bXJlZ2lv bnMgPSBjb3JlLm5ld19kdW1wLmNfdm1yZWdpb25zOwogCWNfdm1tID0gKGZpbGVfcHRyKSBjb3Jl Lm5ld19kdW1wLmNfdm1tOwogICAgICAgfQotI2lmbmRlZiBCRkQ2NAogICAgIGVsc2UKICAgICAg IHsKIAljX2RhdGFzaXplID0gY29yZS5vbGQuY19kYXRhc2l6ZTsKQEAgLTYwNyw3ICs1NzksNiBA QCByczYwMDBjb2ZmX2NvcmVfcCAoYmZkICphYmZkKQogCWNfdm1yZWdpb25zID0gY29yZS5vbGQu Y192bXJlZ2lvbnM7CiAJY192bW0gPSAoZmlsZV9wdHIpIChwdHJfdG9fdWludCkgY29yZS5vbGQu Y192bW07CiAgICAgICB9Ci0jZW5kaWYKIAogICAgIC8qIC5kYXRhIHNlY3Rpb24gZnJvbSBleGVj dXRhYmxlLiAgKi8KICAgICBpZiAoY19kYXRhc2l6ZSkKQEAgLTY4MiwxMSArNjUzLDcgQEAgcnM2 MDAwY29mZl9jb3JlX3AgKGJmZCAqYWJmZCkKIAkgICAgZmlsZV9wdHIgdm1pbmZvX29mZnNldDsK IAkgICAgYmZkX3ZtYSB2bWluZm9fYWRkcjsKIAotI2lmbmRlZiBCRkQ2NAogCSAgICBzaXplID0g Q09SRV9ORVcgKGNvcmUpID8gc2l6ZW9mICh2bWluZm8ubmV3X2R1bXApIDogc2l6ZW9mICh2bWlu Zm8ub2xkKTsKLSNlbHNlCi0JICAgIHNpemUgPSBzaXplb2YgKHZtaW5mby5uZXdfZHVtcCk7Ci0j ZW5kaWYKIAkgICAgaWYgKGJmZF9yZWFkICgmdm1pbmZvLCBzaXplLCBhYmZkKSAhPSBzaXplKQog CSAgICAgIGdvdG8gZmFpbDsKIApAQCAtNjk2LDE0ICs2NjMsMTIgQEAgcnM2MDAwY29mZl9jb3Jl X3AgKGJmZCAqYWJmZCkKIAkJdm1pbmZvX3NpemUgPSB2bWluZm8ubmV3X2R1bXAudm1pbmZvX3Np emU7CiAJCXZtaW5mb19vZmZzZXQgPSB2bWluZm8ubmV3X2R1bXAudm1pbmZvX29mZnNldDsKIAkg ICAgICB9Ci0jaWZuZGVmIEJGRDY0CiAJICAgIGVsc2UKIAkgICAgICB7CiAJCXZtaW5mb19hZGRy ID0gKGJmZF92bWEpIChwdHJfdG9fdWludCkgdm1pbmZvLm9sZC52bWluZm9fYWRkcjsKIAkJdm1p bmZvX3NpemUgPSB2bWluZm8ub2xkLnZtaW5mb19zaXplOwogCQl2bWluZm9fb2Zmc2V0ID0gdm1p bmZvLm9sZC52bWluZm9fb2Zmc2V0OwogCSAgICAgIH0KLSNlbmRpZgogCiAJICAgIGlmICh2bWlu Zm9fb2Zmc2V0KQogCSAgICAgIGlmICghbWFrZV9iZmRfYXNlY3Rpb24gKGFiZmQsICIudm1kYXRh IiwKQEAgLTc0MywxMCArNzA4LDggQEAgcnM2MDAwY29mZl9jb3JlX2ZpbGVfbWF0Y2hlc19leGVj dXRhYmxlX3AgKGJmZCAqY29yZV9iZmQsIGJmZCAqZXhlY19iZmQpCiAKICAgaWYgKENPUkVfTkVX IChjb3JlKSkKICAgICBjX2xvYWRlciA9IENORVdfTE9BREVSIChjb3JlLm5ld19kdW1wKTsKLSNp Zm5kZWYgQkZENjQKICAgZWxzZQogICAgIGNfbG9hZGVyID0gKGZpbGVfcHRyKSAocHRyX3RvX3Vp bnQpIENPTERfTE9BREVSIChjb3JlLm9sZCk7Ci0jZW5kaWYKIAogICBpZiAoQ09SRV9ORVcgKGNv cmUpICYmIENORVdfUFJPQzY0IChjb3JlLm5ld19kdW1wKSkKICAgICBzaXplID0gKGludCkgKChM ZEluZm8gKikgMCktPmw2NC5sZGluZm9fZmlsZW5hbWU7CkBAIC04MDksMTIgKzc3Miw5IEBAIGNo YXIgKgogcnM2MDAwY29mZl9jb3JlX2ZpbGVfZmFpbGluZ19jb21tYW5kIChiZmQgKmFiZmQpCiB7 CiAgIENvcmVIZHIgKmNvcmUgPSBjb3JlX2hkciAoYWJmZCk7Ci0jaWZuZGVmIEJGRDY0Ci0gIGNo YXIgKmNvbSA9IENPUkVfTkVXICgqY29yZSkgPwotICAgIENORVdfQ09NTSAoY29yZS0+bmV3X2R1 bXApIDogQ09MRF9DT01NIChjb3JlLT5vbGQpOwotI2Vsc2UKLSAgY2hhciAqY29tID0gQ05FV19D T01NIChjb3JlLT5uZXdfZHVtcCk7Ci0jZW5kaWYKKyAgY2hhciAqY29tID0gKENPUkVfTkVXICgq Y29yZSkKKwkgICAgICAgPyBDTkVXX0NPTU0gKGNvcmUtPm5ld19kdW1wKQorCSAgICAgICA6IENP TERfQ09NTSAoY29yZS0+b2xkKSk7CiAKICAgaWYgKCpjb20pCiAgICAgcmV0dXJuIGNvbTsKQEAg LTgyNiwxMSArNzg2LDcgQEAgaW50CiByczYwMDBjb2ZmX2NvcmVfZmlsZV9mYWlsaW5nX3NpZ25h bCAoYmZkICphYmZkKQogewogICBDb3JlSGRyICpjb3JlID0gY29yZV9oZHIgKGFiZmQpOwotI2lm bmRlZiBCRkQ2NAogICByZXR1cm4gQ09SRV9ORVcgKCpjb3JlKSA/IGNvcmUtPm5ld19kdW1wLmNf c2lnbm8gOiBjb3JlLT5vbGQuY19zaWdubzsKLSNlbHNlCi0gIHJldHVybiAgY29yZS0+bmV3X2R1 bXAuY19zaWdubzsKLSNlbmRpZgogfQogCiAjZW5kaWYgLyogQUlYX0NPUkUgKi8K --_004_LV8PR15MB6488EC5DC9AC4D730DEAD8ABD6C82LV8PR15MB6488namp_--