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;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: black;">
Hi Alan,</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;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;&amp;quot;Aptos&amp;qu=
ot;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt;">
&gt;You might like to test this patch for me.<br>
&gt;On a 32-bit system it is possible to build binutils with<br>
&gt;--enable-64-bit-bfd or with --enable-targets choosing extra targets<br>
&gt;that require a 64-bit bfd.&nbsp; So all of the BFD64 tests added in com=
mit<br>
&gt;d6867a7559 and further modified in commit f03265d9cd are bogus, in<br>
&gt;particular the removal of code by #ifndef BFD64.&nbsp; It looks to me t=
hat<br>
&gt;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: &quot;&amp;q=
uot;Aptos&amp;quot;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt;">
<br>
</div>
<div class=3D"PlainText" style=3D"margin-left: 40px; font-family: &quot;&am=
p;quot;Aptos&amp;quot;&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;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
lsattr -El sys0 | grep pre430core &nbsp; &nbsp;# should say 'true'</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
sys0 changed</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
pre430core &nbsp; &nbsp; &nbsp;true &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Us=
e pre-430 style CORE dump &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; True</div>
<div style=3D"direction: ltr; margin-left: 40px; font-family: &quot;&amp;qu=
ot;Aptos&amp;quot;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt;">
<br>
</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, 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;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -include /home/aditya/binutils-gdb/bfd/config.h \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -I/home/aditya/binutils-gdb/bfd \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -I/home/aditya/binutils-gdb/include \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; /home/aditya/binutils-gdb/bfd/*.o \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; /home/aditya/binutils-gdb/libiberty/libiberty.a \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -L/opt/freeware/lib64 \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -lz -lzstd -lintl -lpthread</div>
<div style=3D"direction: ltr; margin-left: 40px; font-family: &quot;&amp;qu=
ot;Aptos&amp;quot;&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;&amp;quot;Aptos&amp;quo=
t;&quot;, 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;&amp;quot;Aptos&amp;quo=
t;&quot;, 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;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt;">
<br>
</div>
<div style=3D"font-family: &quot;&amp;quot;Aptos&amp;quot;&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;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt;">
<br>
</div>
<div style=3D"font-family: &quot;&amp;quot;Aptos&amp;quot;&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: &quot;&amp;qu=
ot;Aptos&amp;quot;&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;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -include /home/aditya/binutils-gdb/bfd/config.h \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -I/home/aditya/binutils-gdb/bfd \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -I/home/aditya/binutils-gdb/include \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; /home/aditya/binutils-gdb/bfd/*.o \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; /home/aditya/binutils-gdb/libiberty/libiberty.a \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -L/opt/freeware/lib64 \</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; -lz -lzstd -lintl -lpthread</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, 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;&amp;quot;Aptos&amp;quo=
t;&quot;, 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;&amp;quot;Aptos&amp;quo=
t;&quot;, 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;&amp;quot;Aptos&amp;quo=
t;&quot;, 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;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
Sections:</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; .stack &nbsp; &nbsp; &nbsp; &nbsp;size=3D0x1000 &nbsp;vma=3D0x2ff220=
00 &nbsp;filepos=3D0x48f6</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; .reg &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size=3D0x250 &nbsp;vma=3D0x0 =
&nbsp;filepos=3D0x10</div>
<div style=3D"margin-left: 40px; font-family: &quot;&amp;quot;Aptos&amp;quo=
t;&quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0=
);">
&nbsp; .ldinfo &nbsp; &nbsp; &nbsp; size=3D0x7ffffff &nbsp;vma=3D0x0 &nbsp;=
filepos=3D0x4840</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"=
>
<br>
</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;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;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"=
>
<br>
</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;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;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"=
>
<br>
</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"=
>
Regards,</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"=
>
Aditya.</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;quot;&=
quot;, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"=
>
<br>
</div>
<div style=3D"direction: ltr; font-family: &quot;&amp;quot;Aptos&amp;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_--