This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
optimization/496: Intennal compiler error in instantiate_virtual_regs_1 using mno-ieee-fp or -mno-move on FreeBSD 4.1-stable
- To: gcc-gnats at gcc dot gnu dot org
- Subject: optimization/496: Intennal compiler error in instantiate_virtual_regs_1 using mno-ieee-fp or -mno-move on FreeBSD 4.1-stable
- From: stephen_roome at yahoo dot com
- Date: 30 Aug 2000 12:52:24 -0000
- Cc: steve at snuggly dot demon dot co dot uk
- Reply-To: stephen_roome at yahoo dot com
- Resent-Cc: gcc-prs at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, steve at snuggly dot demon dot co dot uk
- Resent-Reply-To: gcc-gnats@gcc.gnu.org, stephen_roome@yahoo.com
>Number: 496
>Category: optimization
>Synopsis: Intennal compiler error in instantiate_virtual_regs_1 using mno-ieee-fp or -mno-move on FreeBSD 4.1-stable
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Wed Aug 30 05:56:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Steve Roome <stephen_roome@yahoo.com>
>Release: gcc version 2.95.2 19991024 (release)
>Organization:
>Environment:
FreeBSD 4.1-stable cvsupped as of August 23 2000
>Description:
steve@moose 24 0 % make
gcc -O3 -mcpu=pentiumpro -march=pentiumpro -Wall -Werror -I/usr/X11R6/include -ffast-math -mfancy-math-387 -mno-ieee-fp -mno-move -fomit-frame-pointer -c main.c -o main.o
main.c: In function `main':
main.c:206: Internal compiler error in `instantiate_virtual_regs_1', at function.c:3865
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
*** Error code 1
Stop in /usr/home/steve/blobs.
steve@moose 26 0 % gcc -v ~/blobs/ 1:42pm
Using builtin specs.
gcc version 2.95.2 19991024 (release)
You have new mail.
steve@moose 27 0 %
function.c has this FreeBSD cvs id : (if this helps)
/* $FreeBSD: src/contrib/gcc/function.c,v 1.6.2.1 2000/07/04 06:01:24 obrien Exp $ */
>How-To-Repeat:
try compiling the same code.. maybe it's freebsd specific,
but I don't have another x86 machine to test this on which
doesn't have FreeBSD on it =(
[I've supplied the main.c with the header files included in
it, so that it's compilable without much extra.]
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="main.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="main.c"
I2RlZmluZSBVU0VfWFNZTkMKI2RlZmluZSBGUFNDT1VOVEVSCi8vI2RlZmluZSBGUFNDT1VOVEVS
X1NURE9VVAojaWZuZGVmIF9fUEFSVElDTEVfU1lTX0lOQ0xVREVECiNkZWZpbmUgX19QQVJUSUNM
RV9TWVNfSU5DTFVERUQKI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8bWF0aC5oPgojaW5j
bHVkZSA8c3RkaW8uaD4KCiNkZWZpbmUgU0hJRlRfVkFMIDgKCnR5cGVkZWYgc3RydWN0IHsKICAg
IGRvdWJsZSB4OwogICAgZG91YmxlIHk7CiAgICBkb3VibGUgeHY7CiAgICBkb3VibGUgeXY7CiAg
ICBpbnQgbGlmZTsKfSBQYXJ0aWNsZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIFBhcnRpY2xlICpw
OwogICAgaW50IG5fcGFydGljbGVzOwogICAgaW50IHhtYXg7CiAgICBpbnQgeW1heDsKICAgIGlu
dCB4cG9zLCB5cG9zOyAvKiBsZWFkIHBhcnRpY2xlIC8gaW1tb3ZhYmxlIGF0dHJhY3RvciAoY2Vu
dHJlLXBvaW50KSAqLwogICAgaW50IGZvbGxvdzsKCiNkZWZpbmUgRk9SQ0VfQU5HTEUgMAojZGVm
aW5lIEZPUkNFX0dSQVYgMQojZGVmaW5lIEZPUkNFX1NQUklORyAyCiNkZWZpbmUgRk9SQ0VfT1RI
RVIgMwojZGVmaW5lIEZPUkNFX0xJTUlUIDQKCiAgICBpbnQgZm9yY2Vfc3lzOwoKI2RlZmluZSBD
UkVBVEVfUkFORE9NIC0xCiNkZWZpbmUgQ1JFQVRFX1JFR0lPTiAwCiNkZWZpbmUgQ1JFQVRFX0VY
UExPREUgMQogICAgaW50IHJlZ2lvbl94bWluOwogICAgaW50IHJlZ2lvbl94bWF4OwogICAgaW50
IHJlZ2lvbl95bWluOwogICAgaW50IHJlZ2lvbl95bWF4OwoKICAgIGludCBjbW9kZWxpZmVtYXg7
CiAgICBpbnQgY21vZGVsaWZlbWluOwogICAgaW50IGNtb2RlY2hhbmdlY291bnQ7CiAgICBpbnQg
ZG90Y3JlYXRlY291bnQ7CiAgICBpbnQgY21vZGU7Cn0gUGFydGljbGVfU3lzOwoKaW50IENyZWF0
ZVBhcnRpY2xlcyhQYXJ0aWNsZV9TeXMgKnBzeXMsIGludCB4bWF4LCBpbnQgeW1heCk7CmludCBz
ZXRmb3JjZXN5cyhQYXJ0aWNsZV9TeXMgKnBzeXMpOwoKdm9pZCBnZXRfeHlfb2ZfcGFydGljbGUo
UGFydGljbGUgKmQsIGludCAqcHgsIGludCAqcHkpOwp2b2lkIHNldGRvdChQYXJ0aWNsZV9TeXMg
KnBzeXMsIFBhcnRpY2xlICpkKTsKaW50IG5vcm1hbGlzZShkb3VibGUgKngsIGRvdWJsZSAqeSk7
CnZvaWQgYXV0b21vdmVwKFBhcnRpY2xlX1N5cyAqcHN5cywgZG91YmxlIGZyaWN0aW9uLCBkb3Vi
bGUgeGdyYXYsIGRvdWJsZSB5Z3JhdiwgZG91YmxlIHhjZW50LCBkb3VibGUgeWNlbnQpOwojZW5k
aWYKCiNpZm5kZWYgX19YU1RVRkZJTkNMVURFRAojZGVmaW5lIF9fWFNUVUZGSU5DTFVERUQKI2lu
Y2x1ZGUgPFgxMS9YbGliLmg+CiNpbmNsdWRlIDxYMTEvWHV0aWwuaD4KCi8qIGZvciBnZXRlbnYg
c3RkbGliLmggaXMgbmVlZGVkICovCiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0ZGlv
Lmg+CgovKiBmb3IgbWVtc2V0ICovCiNpbmNsdWRlIDxzdHJpbmcuaD4KCnR5cGVkZWYgc3RydWN0
IHsKICAgIERpc3BsYXkgKmRweTsKICAgIGludCB4cmVzLHlyZXM7CiAgICBpbnQgeHN0LHlzdDsK
ICAgIGNoYXIgKmRpc3BzdHI7CiAgICBYVmlzdWFsSW5mbyB4dnM7CiAgICBXaW5kb3cgd2luLHJ3
OwogICAgWFNldFdpbmRvd0F0dHJpYnV0ZXMgc3dhOwogICAgWEV2ZW50IHhldjsKICAgIEdDIGdj
OwogICAgWEltYWdlICp4aW07CiAgICB1bnNpZ25lZCBsb25nIHNpbXBsZV9tYXBbMjU2XTsgLyog
QSBzaW1wbGUgY29sb3VyIG1hcC4gKi8KICAgIGludCBSX21heCwgUl9zaGZ0LCBHX21heCwgR19z
aGZ0LCBCX21heCwgQl9zaGZ0Owp9IEdmeDsKCnZvaWQgY3JlYXRlX3NpbXBsZV9tYXAoR2Z4ICpn
Zix1bnNpZ25lZCBsb25nIHN0YXJ0Y29sLCB1bnNpZ25lZCBsb25nIGVuZGNvbCk7CnZvaWQgY3Jl
YXRlX2ZpcmVfbWFwKEdmeCAqZ2YpOwp2b2lkIGNyZWF0ZV9za3lfbWFwKEdmeCAqZ2YpOwp2b2lk
IHJhbmdlX2ZpbmQoR2Z4ICpnKTsKaW50IFNldHVwR2Z4KEdmeCAqZyxpbnQgeHJlcywgaW50IHly
ZXMsIGludCBpbndpbmRvdyk7CgojZW5kaWYKI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8
c3RkaW8uaD4KI2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPHN5cy90aW1lLmg+CiNpbmNsdWRl
IDxzdHJpbmcuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgdW5z
aWduZWQgY2hhciAqYnVmZmVyMTsKICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjI7CiAgICAKICAg
IHVuc2lnbmVkIGNoYXIgKmJhY2s7CiAgICB1bnNpZ25lZCBjaGFyICpmcm9udDsKICAgIGludCB4
bWF4LCB5bWF4Owp9IENCdWZmOwoKZXh0ZXJuIHZvaWQgcmVuZGVyX2JsdXJyZWRfYnVmZmVyKEdm
eCAqZywgQ0J1ZmYgKmNiKTsKZXh0ZXJuIHZvaWQgcmVuZGVyX3Ntb290aGVkX2J1ZmZlcihHZngg
KmcsIENCdWZmICpjYik7CgoKaW50IFNldHVwQ0J1ZmYoQ0J1ZmYgKmNiLCBpbnQgeHJlcywgaW50
IHlyZXMpIHsKICAgIGNiLT5idWZmZXIxPSh1bnNpZ25lZCBjaGFyICopbWFsbG9jKHhyZXMgKiB5
cmVzICogc2l6ZW9mKHVuc2lnbmVkIGNoYXIpKTsKICAgIGNiLT5idWZmZXIyPSh1bnNpZ25lZCBj
aGFyICopbWFsbG9jKHhyZXMgKiB5cmVzICogc2l6ZW9mKHVuc2lnbmVkIGNoYXIpKTsKICAgIGNi
LT5mcm9udD1jYi0+YnVmZmVyMTsKICAgIGNiLT5iYWNrID1jYi0+YnVmZmVyMjsKICAgIGNiLT54
bWF4PXhyZXM7CiAgICBjYi0+eW1heD15cmVzOwogICAgbWVtc2V0KCh2b2lkICopY2ItPmJ1ZmZl
cjEsMCx4cmVzKnlyZXMpOyAvKiB1bmVjZXNzYXJ5ICovCiAgICBtZW1zZXQoKHZvaWQgKiljYi0+
YnVmZmVyMiwwLHhyZXMqeXJlcyk7IC8qIHVuZWNlc3NhcnkgKi8KICAgIHJldHVybiAoY2ItPmJ1
ZmZlcjEgJiYgY2ItPmJ1ZmZlcjIpOwp9Cgp2b2lkIHN3YXBidWZmKENCdWZmICpjYikgewogICAg
dW5zaWduZWQgY2hhciAqcCA9Y2ItPmZyb250OwogICAgY2ItPmZyb250PWNiLT5iYWNrOwogICAg
Y2ItPmJhY2s9cDsKfQoKaW5saW5lIHZvaWQgIGFkZF9waXhlbF9mcm9udChDQnVmZiAqYiwgaW50
IHgsIGludCB5LCB1bnNpZ25lZCBjaGFyIHBpeHZhbCkgewogICAgdW5zaWduZWQgY2hhciAqbG9j
ID0gYi0+ZnJvbnQgKyB4ICt5KmItPnhtYXg7CiAgICB1bnNpZ25lZCBpbnQgcHggPSBwaXh2YWwg
KyAqbG9jOwogICAgaWYgKHB4PjI1NSkgcHg9MjU1OwogICAgKmxvYyA9ICh1bnNpZ25lZCBjaGFy
KXB4Owp9Cgp2b2lkIHJlbmRlcnBzeXMoR2Z4ICpnLCBDQnVmZiAqY2IsIFBhcnRpY2xlX1N5cyAq
cHN5cykgewogICAgUGFydGljbGUgKnAgPSBwc3lzLT5wOwogICAgaW50IHBjb3VudD0wOwogICAg
d2hpbGUgKHBjb3VudCA8IHBzeXMtPm5fcGFydGljbGVzKSB7CglwPXBzeXMtPnAgKyBwY291bnQ7
CgkvL2FkZF9waXhlbF9mcm9udChjYiwgcC0+eCwgcC0+eSwgMSsocC0+bGlmZT4+NykpOwoJYWRk
X3BpeGVsX2Zyb250KGNiLCBwLT54LCBwLT55LCAxKyhwLT5saWZlPj4xMCkpOwoJcGNvdW50Kys7
CiAgICB9Cn0KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKICAgIHN0YXRpYyBp
bnQgaW53aW5kb3c9MTsgICAgICAgICAvKiBydW5zIGluIHdpbmRvdyBieSBkZWZhdWx0ICovCiAg
ICBzdGF0aWMgaW50IGJsdXI9MTsgICAgICAgICAgICAgLyogYmx1cnJlZCBieSBkZWZhdWx0ICov
CiAgICBpbnQgc2hvd3VzYWdlLGNoLCBpLCB4cmVzLCB5cmVzLCBuX3BhcnRpY2xlcyxyYXRlOwog
ICAgUGFydGljbGVfU3lzIHBzeXM7CiAgICBleHRlcm4gaW50IG9wdGluZDsKICAgIGV4dGVybiBj
aGFyICpvcHRhcmc7CiAgICBDQnVmZiBjYjsKICAgIEdmeCBnOwogICAgaW50IHBhbD0xOwogICAg
c3RydWN0IHRpbWV2YWwgdHAxLHRwMjsKICAgIHN0cnVjdCB0aW1lem9uZSB0ejsKICAgIGludCBm
cmFtZTsKICAgIGRvdWJsZSBmcmljdGlvbix4Z3Jhdix5Z3Jhdix4Y2VudCx5Y2VudDsKI2lmZGVm
IEZQU0NPVU5URVIKICAgIGludCBmcHM9MDsKI2lmbmRlZiBGUFNDT1VOVEVSX1NURE9VVAogICAg
Y2hhciAqc2NyZWVuc3RyPW1hbGxvYygyMDApOwojZWxzZQogICAgaW50IGZwc2xhc3Q9MDsKICAg
IGludCBxbGVubGFzdD0tMTsKICAgIGludCBmb3JjZV9sYXN0PS0xOwojZW5kaWYKI2VuZGlmCgog
ICAgc2hvd3VzYWdlPXhyZXM9eXJlcz1uX3BhcnRpY2xlcz1yYXRlPTA7CiAgICBmcmljdGlvbj0w
Ljk5OTk5OTsgeGdyYXY9MC4wOyB5Z3Jhdj0wLjAwMDU7CiAgICB4Y2VudD0wLjAwMDAxO3ljZW50
PTAuMDAwMDE7CgogICAgd2hpbGUgKChjaCA9IGdldG9wdChhcmdjLCBhcmd2LCAiP2h2Zjpybjp4
Onk6czpiWDpZOnAiKSkgIT0gLTEpCglzd2l0Y2ggKGNoKSB7CgljYXNlICdyJzogaW53aW5kb3c9
MDsgIGJyZWFrOwoJY2FzZSAnbic6IG5fcGFydGljbGVzPWF0b2kob3B0YXJnKTsgYnJlYWs7Cglj
YXNlICd4JzogeHJlcz1hdG9pKG9wdGFyZyk7ICBicmVhazsKCWNhc2UgJ3knOiB5cmVzPWF0b2ko
b3B0YXJnKTsgIGJyZWFrOwoJY2FzZSAncyc6IHJhdGU9YXRvaShvcHRhcmcpOyAgYnJlYWs7Cglj
YXNlICc/Jzogc2hvd3VzYWdlPTE7IGJyZWFrOwoJY2FzZSAnaCc6IHNob3d1c2FnZT0xOyBicmVh
azsKCWNhc2UgJ2InIDogYmx1cj0wOyBicmVhazsKCWNhc2UgJ3AnIDogcGFsPTA7IGJyZWFrOwoJ
Y2FzZSAnZicgOiBwcmludGYoImZyaWN0aW9uIHNldCB0byAlZlxuIixmcmljdGlvbj1hdG9mKG9w
dGFyZykpOyBicmVhazsKCWNhc2UgJ1gnIDogcHJpbnRmKCJYZ3JhdiBzZXQgdG8gJWZcbiIseGdy
YXY9YXRvZihvcHRhcmcpKTsgYnJlYWs7CgljYXNlICdZJyA6IHByaW50ZigiWWdyYXYgc2V0IHRv
ICVmXG4iLHlncmF2PWF0b2Yob3B0YXJnKSk7IGJyZWFrOwoJZGVmYXVsdDogIHNob3d1c2FnZT0x
OwoJfQogICAgYXJnYyAtPSBvcHRpbmQ7CiAgICBhcmd2ICs9IG9wdGluZDsKICAgIAogICAgaWYg
KHNob3d1c2FnZSkgewoJcHJpbnRmKCIlc1xuIixhcmd2Wy1vcHRpbmRdKTsKCXByaW50ZigiXHQt
ZiA6IHR1cm4gb2ZmIGZpcmUgZWZmZWN0XG4iKTsKCXByaW50ZigiXHQtbiA8bj46IHNldCBudW1i
ZXIgb2YgcCB0byBuXG4iKTsKCXByaW50ZigiXHQteCA8eHJlcz4gOiBzZXQgeCByZXNvbHV0aW9u
XG4iKTsKCXByaW50ZigiXHQteSA8eXJlcz4gOiBzZXQgeSByZXNvbHV0aW9uXG4iKTsKCXByaW50
ZigiXHQtcyA8cmF0ZT4gOiBzZXQgbnVtYmVyIG9mIGZyYW1lcyBwZXIgYmx1clxuIik7Cglwcmlu
dGYoIlx0LXIgOiBydW4gaW4gcm9vdCB3aW5kb3csIGFubm95aW5nbHkgcGxhY2VkIGF0IHRvcCBs
ZWZ0LlxuIik7CglwcmludGYoIlx0LWIgOiBkb24ndCBibHVyXG4iKTsKICAgIH0KICAgIHByaW50
ZigicmF0ZSBpcyAlZFxuIixyYXRlKTsKCiAgICByYXRlPSgocmF0ZT4xMDAwKSB8IChyYXRlPDEp
KT8xOnJhdGU7CiAgICB4cmVzPSgoeHJlcz4yMDAwKSB8ICh4cmVzPDEwKSk/MzIwOnhyZXM7CiAg
ICB5cmVzPSgoeXJlcz4yMDAwKSB8ICh5cmVzPDEwKSk/MjQwOnlyZXM7CgogICAgcHJpbnRmKCJ0
cnlpbmcgdG8gcnVuIHdpdGggJWQsJWRcbiIseHJlcyx5cmVzKTsKICAgIFNldHVwR2Z4KCZnLHhy
ZXMseXJlcyxpbndpbmRvdyk7CiAgICByYW5nZV9maW5kKCZnKTsKCiAgICBTZXR1cENCdWZmKCZj
YixnLnhyZXMsZy55cmVzKTsKICAgIHBzeXMubl9wYXJ0aWNsZXM9KChuX3BhcnRpY2xlcz4wKSAm
JiAobl9wYXJ0aWNsZXM8MjAwMDAwMCkpP25fcGFydGljbGVzOjEwMDAwOwogICAgQ3JlYXRlUGFy
dGljbGVzKCZwc3lzLCB4cmVzLCB5cmVzKTsKCiAgICBpPTA7CiAgICBwcmludGYoIkNyZWF0aW5n
IG9yaWdpbmFsIGRvdHNcbiIpOwogICAgd2hpbGUgKGkgPCBwc3lzLm5fcGFydGljbGVzKSB7Cglz
ZXRkb3QoJnBzeXMsKHBzeXMucCkraSk7CglpKys7CiAgICB9CiAgICBwcmludGYoIkZpbmlzaGVk
IGNyZWF0aW9uIG9mIGRvdHNcbiIpOwogICAgdHoudHpfbWludXRlc3dlc3Q9MDsKICAgIHR6LnR6
X2RzdHRpbWU9MDsKICAgIGdldHRpbWVvZmRheSgmdHAxLCZ0eik7CiAgICBnZXR0aW1lb2ZkYXko
JnRwMiwmdHopOwogICAgZnJhbWU9MDsKICAgIHBzeXMuZm9yY2Vfc3lzPTA7CiAgICBwcmludGYo
IlJhdGUgaXMgJWRcbiIscmF0ZSk7CiAgICAocGFsKT9jcmVhdGVfc2t5X21hcCgmZyk6Y3JlYXRl
X2ZpcmVfbWFwKCZnKTsKICAgIHdoaWxlICgxKSB7CglmcmFtZSsrOwoJaT1yYXRlOwoKCXdoaWxl
KGktLSkgewoJICAgIGF1dG9tb3ZlcCgmcHN5cywgZnJpY3Rpb24sIHhncmF2LCB5Z3JhdiwgeGNl
bnQsIHljZW50KTsKCSAgICByZW5kZXJwc3lzKCZnLCAmY2IsICZwc3lzKTsKCX0KCQojaWZkZWYg
QVVUT19DSEFOR0VfUEFMRVRURQoJaWYgKCEoZnJhbWUmMHhmZikpIHsKCSAgICBzd2l0Y2ggKGZy
YW1lJjB4MWZmKSB7CgkgICAgY2FzZSAoMSkgOiBjcmVhdGVfZmlyZV9tYXAoJmcpOyBicmVhazsK
CSAgICBjYXNlICgwKSA6IGNyZWF0ZV9za3lfbWFwKCZnKTsgYnJlYWs7CgkgICAgZGVmYXVsdCA6
IGJyZWFrOwoJICAgIH0KCX0KI2VuZGlmCgoJaWYgKGJsdXIpIHsKCSAgICByZW5kZXJfYmx1cnJl
ZF9idWZmZXIoJmcsJmNiKTsKCX0gZWxzZSB7CgkgICAgcmVuZGVyX3Ntb290aGVkX2J1ZmZlcigm
ZywgJmNiKTsKCX0KCVhQdXRJbWFnZShnLmRweSxnLndpbixnLmdjLGcueGltLDAsMCxnLnhzdCxn
LnlzdCxnLnhyZXMsZy55cmVzKTsKI2lmZGVmIEZQU0NPVU5URVIKCWdldHRpbWVvZmRheSgmdHAx
LCZ0eik7CglmcHM9MTAwMDAwMC8oKHRwMS50dl9zZWMtdHAyLnR2X3NlYykqMTAwMDAwMCArICh0
cDEudHZfdXNlYyAtIHRwMi50dl91c2VjKSk7CglnZXR0aW1lb2ZkYXkoJnRwMiwmdHopOwkvKiB0
ZGlmZiBpcyBudW1iZXIgbWljcm9zZWNzIGJldHdlZW4gZnJhbWVzICovCiNpZm5kZWYgRlBTQ09V
TlRFUl9TVERPVVQKCXNwcmludGYoc2NyZWVuc3RyLCJmcHMgOiAlNGQgZm9yY2UgOiAlM2QgcSA6
ICU1ZCAiLGZwcywgcHN5cy5mb3JjZV9zeXMsIFFMZW5ndGgoZy5kcHkpKTsKCVhTZXRGb3JlZ3Jv
dW5kKGcuZHB5LGcuZ2MsV2hpdGVQaXhlbChnLmRweSxEZWZhdWx0U2NyZWVuKGcuZHB5KSkpOwoJ
WERyYXdTdHJpbmcoZy5kcHksZy53aW4sZy5nYyxnLnhzdCxnLnlzdCtnLnlyZXMsc2NyZWVuc3Ry
LHN0cmxlbihzY3JlZW5zdHIpKTsKI2Vsc2UKCWlmICgoZnBzbGFzdCE9ZnBzKSB8fCAocHN5cy5m
b3JjZV9zeXMhPWZvcmNlX2xhc3QpIHx8IChRTGVuZ3RoKGcuZHB5KSE9cWxlbmxhc3QpKQoJICAg
IHByaW50ZigiZnBzOiAlNGQgZm9yY2UgOiAlM2QgcSA6ICU1ZFxuIixmcHMscHN5cy5mb3JjZV9z
eXMsIFFMZW5ndGgoZy5kcHkpKTsKCWZwc2xhc3Q9ZnBzOwoJZm9yY2VfbGFzdD1wc3lzLmZvcmNl
X3N5czsKCXFsZW5sYXN0PVFMZW5ndGgoZy5kcHkpOwojZW5kaWYKI2VuZGlmCglmb3IoaT0wO2k8
UUxlbmd0aChnLmRweSk7aSsrKSB7CgkgICAgWEV2ZW50IHhldjsKCSAgICBYTmV4dEV2ZW50KGcu
ZHB5LCAmeGV2KTsKCSAgICBwcmludGYoIlRoZXJlJ3MgYW4gZXZlbnQgd2FpdGluZyBvZiB0eXBl
ICVkXG4iLCB4ZXYudHlwZSk7CgkgICAgcHJpbnRmKCJcbiAtLS0gRVZFTlQgUkFORE9NTFkgRElT
Q0FSREVEIEZPUiBOTyBSRUFTT04gLS0tXG4iKTsKCSAgICBwcmludGYoIiAgICAgIGEgcHJvcGVy
IGV2ZW50IGxvb3AgaXMgbmVlZGVkIHRvIHRlc3RcbiIKCQkgICAiICAgICAgZWFjaCBldmVudCBh
bmQgZS5nLiBzbGVlcCBkdXJpbmcgdGltZVxuIgoJCSAgICIgICAgICB0aGF0IHRoaXMgYXBwIGlz
IGljb25pZmllZCwgb3IgcmVzaXplXG4iCgkJICAgIiAgICAgIGNvcnJlY3RseSBvbiByZXNpemUg
ZXZlbnRzLi4uICAgICAgICBcbiIpOwoJfQkKI2lmZGVmIFVTRV9TWU5DCglYU3luYyhnLmRweSxG
YWxzZSk7CiNlbmRpZgogICAgfQogICAgcmV0dXJuIDE7Cn0KCg==