public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: target/10067: GCC-3.2.2 outputs invalid asm on sparc64
@ 2003-03-28 10:10 ebotcazou
  0 siblings, 0 replies; 3+ messages in thread
From: ebotcazou @ 2003-03-28 10:10 UTC (permalink / raw)
  To: dat94ali, ebotcazou, gcc-bugs, gcc-prs

Synopsis: GCC-3.2.2 outputs invalid asm on sparc64

State-Changed-From-To: analyzed->closed
State-Changed-By: ebotcazou
State-Changed-When: Fri Mar 28 09:27:32 2003
State-Changed-Why:
    Fixed. See http://gcc.gnu.org/ml/gcc-patches/2003-03/msg02306.html

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10067


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: target/10067: GCC-3.2.2 outputs invalid asm on sparc64
@ 2003-03-27  9:26 ebotcazou
  0 siblings, 0 replies; 3+ messages in thread
From: ebotcazou @ 2003-03-27  9:26 UTC (permalink / raw)
  To: dat94ali, ebotcazou, gcc-bugs, gcc-prs, nobody

Synopsis: GCC-3.2.2 outputs invalid asm on sparc64

Responsible-Changed-From-To: unassigned->ebotcazou
Responsible-Changed-By: ebotcazou
Responsible-Changed-When: Thu Mar 27 09:10:43 2003
Responsible-Changed-Why:
    Fixing.
State-Changed-From-To: open->analyzed
State-Changed-By: ebotcazou
State-Changed-When: Thu Mar 27 09:10:43 2003
State-Changed-Why:
    Confirmed with gcc 3.2.1 and gcc 3.2.2

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10067


^ permalink raw reply	[flat|nested] 3+ messages in thread

* target/10067: GCC-3.2.2 outputs invalid asm on sparc64
@ 2003-03-13 23:46 dat94ali
  0 siblings, 0 replies; 3+ messages in thread
From: dat94ali @ 2003-03-13 23:46 UTC (permalink / raw)
  To: gcc-gnats


>Number:         10067
>Category:       target
>Synopsis:       GCC-3.2.2 outputs invalid asm on sparc64
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 13 23:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     dat94ali@ludat.lth.se
>Release:        gcc-3.2.2
>Organization:
>Environment:
sparc-unknown-netbsdelf16
gcc 3.2.2
binutils 2.13.2.1
>Description:
When building a generic cross-compiler from sparc to sparc64 
(using GNU make and native gcc 3.2.2 for the build), the resulting
"xgcc" will output assembly operands in incorrect order, making 
GNU as stop on error. GCC will output branch-with-prediction
instructions like "ba,pt,a %xcc LABEL" which is invalid. The correct
order is "ba,a,pt %xcc LABEL". This did not happen with GCC 3.2.1 so
it is some kind of regression. The error does not occur while building a native gcc-3.2.2 on sparc64 NetBSD-1.5ZC
configured with --enable-languages=c,c++ and similarly
configured binutils 2.13.2.1


Binutils and GCC were both configured with:
"--target=sparc64-elf --program-prefix=sparc64- --enable-languages=c,c++"
and newlib-1.11.0 was linked into the gcc tree for automatic building, with
NetBSD startup files (crt*.o) in /usr/local/sparc64/lib to make configure
scripts that try to test whether xgcc works by attempting to link something
happy.

The errors occurred while trying to build newlib/libc/stdlib/
A transcript of the failing session follows:

-----8<-----------8<-----------8<-----------8<-----------8<------
Reading specs from /usr/tmp/gcc-3.2.2/work/gcc/specs
Configured with: ../configure --prefix=/usr/local/sparc64 --enable-languages=c,c++ --target=sparc64-elf --program-prefix=sparc64-
Thread model: single
gcc version 3.2.2
 /usr/tmp/gcc-3.2.2/work/gcc/cpp0 -lang-c -nostdinc -v -I. -I../../../../../newlib/libc/stdlib -iprefix /usr/tmp/gcc-3.2.2/work/gcc/../lib/gcc-lib/sparc64-elf/3.2.2/ -isystem /usr/tmp/gcc-3.2.2/work/gcc/include -isystem /usr/tmp/gcc-3.2.2/work/sparc64-elf/newlib/include -isystem /usr/local/sparc64/sparc64-elf/bin/include -isystem /usr/local/sparc64/sparc64-elf/lib/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI_VERSION=102 -Dsparc -D__ELF__ -D__sparc__ -D__ELF__ -D__sparc -Acpu=sparc -Amachine=sparc -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -D__supersparc__ -D__sparc_v8__ -D__arch64__ -Acpu=sparc64 -Amachine=sparc64 -D__svr4__ -DPACKAGE="newlib" -DVERSION="1.11.0" -DMALLOC_ALIGNMENT=8 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_BLKSIZE -DHAVE_GETTIMEOFDAY -DHAVE_FCNTL -DTARGET_PTR_SIZE=64 -DINTERNAL_NEWLIB -DDEFINE_MALLOPT -isystem /usr/tmp/gcc-3.2.2/work/sparc64-elf/newlib/targ-include -isystem /usr/tmp/gcc-3.2.2/newlib/libc/include -isystem /usr/local/sparc64/sparc64-elf/include ../../../../../newlib/libc/stdlib/mallocr.c mallocr.i
ignoring nonexistent directory "/usr/tmp/gcc-3.2.2/work/sparc64-elf/newlib/include"
ignoring nonexistent directory "/usr/local/sparc64/sparc64-elf/bin/include"
ignoring nonexistent directory "/usr/local/sparc64/sparc64-elf/lib/include"
ignoring nonexistent directory "/usr/local/sparc64/sparc64-elf/include"
GNU CPP version 3.2.2 (cpplib) (sparc64-elf)
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../../../../newlib/libc/stdlib
 /usr/tmp/gcc-3.2.2/work/gcc/include
 /usr/tmp/gcc-3.2.2/work/sparc64-elf/newlib/targ-include
 /usr/tmp/gcc-3.2.2/newlib/libc/include
End of search list.
 /usr/tmp/gcc-3.2.2/work/gcc/cc1 -fpreprocessed mallocr.i -quiet -dumpbase mallocr.c -mcpu=supersparc -mtune=supersparc -O2 -O2 -O2 -version -fno-builtin -o mallocr.s
GNU CPP version 3.2.2 (cpplib) (sparc64-elf)
GNU C version 3.2.2 (sparc64-elf)
 compiled by GNU C version 3.2.2.
 /usr/local/sparc64/sparc64-elf/bin/as -V -s -64 -no-undeclared-regs -o malloptr.o mallocr.s
GNU assembler version 2.13.2.1 (sparc64-elf) using BFD version 2.13.2.1
mallocr.s: Assembler messages:
mallocr.s:24: Error: Illegal operands
mallocr.s:43: Error: Illegal operands
-----8<-----------8<-----------8<-----------8<-----------8<------


>How-To-Repeat:
Configure and try to build a sparc->sparc64 cross compiler,
and compile any C source leading to the emission of branch
with prediction instructions with the "annul" bit set, such
as newlib-1.11.0/newlib/libc/stdlib/mallocr.c (preprocessed source included)
>Fix:
Correct order of emission of attributes to branch instructions with predictions; The ",a" modifier ("annul" bit) should always appear first (sections A.3 - A.7
of the SPARCv9 architecture manual).
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="mallocr.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="mallocr.i"

IyAxICIuLi8uLi8uLi8uLi8uLi9uZXdsaWIvbGliYy9zdGRsaWIvbWFsbG9jci5jIgojIDEgIjxi
dWlsdC1pbj4iCiMgMSAiPGNvbW1hbmQgbGluZT4iCiMgMSAiLi4vLi4vLi4vLi4vLi4vbmV3bGli
L2xpYmMvc3RkbGliL21hbGxvY3IuYyIKIyAyNjAgIi4uLy4uLy4uLy4uLy4uL25ld2xpYi9saWJj
L3N0ZGxpYi9tYWxsb2NyLmMiCiMgMSAiL3Vzci90bXAvZ2NjLTMuMi4yL3dvcmsvZ2NjL2luY2x1
ZGUvc3RkZGVmLmgiIDEgMyA0CiMgMTUxICIvdXNyL3RtcC9nY2MtMy4yLjIvd29yay9nY2MvaW5j
bHVkZS9zdGRkZWYuaCIgMyA0CnR5cGVkZWYgbG9uZyBpbnQgcHRyZGlmZl90OwojIDIxMyAiL3Vz
ci90bXAvZ2NjLTMuMi4yL3dvcmsvZ2NjL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAp0eXBlZGVmIGxv
bmcgdW5zaWduZWQgaW50IHNpemVfdDsKIyAzMjUgIi91c3IvdG1wL2djYy0zLjIuMi93b3JrL2dj
Yy9pbmNsdWRlL3N0ZGRlZi5oIiAzIDQKdHlwZWRlZiBzaG9ydCB1bnNpZ25lZCBpbnQgd2NoYXJf
dDsKIyAyNjEgIi4uLy4uLy4uLy4uLy4uL25ld2xpYi9saWJjL3N0ZGxpYi9tYWxsb2NyLmMiIDIK
IyAyNjkgIi4uLy4uLy4uLy4uLy4uL25ld2xpYi9saWJjL3N0ZGxpYi9tYWxsb2NyLmMiCiMgMSAi
L3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3RkaW8uaCIgMSAzIDQKIyAy
OSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3RkaW8uaCIgMyA0CiMg
MSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvX2Fuc2kuaCIgMSAzIDQK
IyAxNSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvX2Fuc2kuaCIgMyA0
CiMgMSAiL3Vzci90bXAvZ2NjLTMuMi4yL3dvcmsvc3BhcmM2NC1lbGYvbmV3bGliL3RhcmctaW5j
bHVkZS9uZXdsaWIuaCIgMSAzIDQKIyAxNiAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJj
L2luY2x1ZGUvX2Fuc2kuaCIgMiAzIDQKIyAxICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xp
YmMvaW5jbHVkZS9zeXMvY29uZmlnLmgiIDEgMyA0CgoKCiMgMSAiL3Vzci90bXAvZ2NjLTMuMi4y
L25ld2xpYi9saWJjL2luY2x1ZGUvbWFjaGluZS9pZWVlZnAuaCIgMSAzIDQKIyA1ICIvdXNyL3Rt
cC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvY29uZmlnLmgiIDIgMyA0CiMgMTcg
Ii91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL19hbnNpLmgiIDIgMyA0CiMg
MzAgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0
CgoKCgojIDEgIi91c3IvdG1wL2djYy0zLjIuMi93b3JrL2djYy9pbmNsdWRlL3N0ZGRlZi5oIiAx
IDMgNAojIDM1ICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zdGRpby5o
IiAyIDMgNAoKCiMgMSAiL3Vzci90bXAvZ2NjLTMuMi4yL3dvcmsvZ2NjL2luY2x1ZGUvc3RkYXJn
LmgiIDEgMyA0CiMgNDMgIi91c3IvdG1wL2djYy0zLjIuMi93b3JrL2djYy9pbmNsdWRlL3N0ZGFy
Zy5oIiAzIDQKdHlwZWRlZiBfX2J1aWx0aW5fdmFfbGlzdCBfX2dudWNfdmFfbGlzdDsKIyAzOCAi
L3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3RkaW8uaCIgMiAzIDQKCgoK
CgoKCiMgMSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3JlZW50
LmgiIDEgMyA0CiMgMTQgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5
cy9yZWVudC5oIiAzIDQKIyAxICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVk
ZS9zeXMvX3R5cGVzLmgiIDEgMyA0CiMgMTIgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGli
Yy9pbmNsdWRlL3N5cy9fdHlwZXMuaCIgMyA0CnR5cGVkZWYgbG9uZyBfb2ZmX3Q7Cl9fZXh0ZW5z
aW9uX18gdHlwZWRlZiBsb25nIGxvbmcgX29mZjY0X3Q7CgoKdHlwZWRlZiBpbnQgX3NzaXplX3Q7
CgoKCgoKIyAxICIvdXNyL3RtcC9nY2MtMy4yLjIvd29yay9nY2MvaW5jbHVkZS9zdGRkZWYuaCIg
MSAzIDQKIyAzNTQgIi91c3IvdG1wL2djYy0zLjIuMi93b3JrL2djYy9pbmNsdWRlL3N0ZGRlZi5o
IiAzIDQKdHlwZWRlZiBsb25nIGludCB3aW50X3Q7CiMgMjMgIi91c3IvdG1wL2djYy0zLjIuMi9u
ZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9fdHlwZXMuaCIgMiAzIDQKCgp0eXBlZGVmIHN0cnVjdAp7
CiAgaW50IF9fY291bnQ7CiAgdW5pb24KICB7CiAgICB3aW50X3QgX193Y2g7CiAgICB1bnNpZ25l
ZCBjaGFyIF9fd2NoYls0XTsKICB9IF9fdmFsdWU7Cn0gX21ic3RhdGVfdDsKCnR5cGVkZWYgaW50
IF9mbG9ja190OwojIDE1ICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9z
eXMvcmVlbnQuaCIgMiAzIDQKCgoKCgoKCnR5cGVkZWYgdW5zaWduZWQgaW50IF9fVUxvbmc7CiMg
NDAgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9yZWVudC5oIiAz
IDQKc3RydWN0IF9CaWdpbnQKewogIHN0cnVjdCBfQmlnaW50ICpfbmV4dDsKICBpbnQgX2ssIF9t
YXh3ZHMsIF9zaWduLCBfd2RzOwogIF9fVUxvbmcgX3hbMV07Cn07CgoKc3RydWN0IF9fdG0Kewog
IGludCBfX3RtX3NlYzsKICBpbnQgX190bV9taW47CiAgaW50IF9fdG1faG91cjsKICBpbnQgX190
bV9tZGF5OwogIGludCBfX3RtX21vbjsKICBpbnQgX190bV95ZWFyOwogIGludCBfX3RtX3dkYXk7
CiAgaW50IF9fdG1feWRheTsKICBpbnQgX190bV9pc2RzdDsKfTsKIyA2OCAiL3Vzci90bXAvZ2Nj
LTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3JlZW50LmgiIDMgNApzdHJ1Y3QgX2F0ZXhp
dCB7CiAgICAgICAgc3RydWN0IF9hdGV4aXQgKl9uZXh0OwogICAgICAgIGludCBfaW5kOwogICAg
ICAgIHZvaWQgKCpfZm5zWzMyXSkodm9pZCk7CiAgICAgICAgdm9pZCAqX2ZuYXJnc1szMl07CiAg
ICAgICAgX19VTG9uZyBfZm50eXBlczsKfTsKIyA5MSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xp
Yi9saWJjL2luY2x1ZGUvc3lzL3JlZW50LmgiIDMgNApzdHJ1Y3QgX19zYnVmIHsKICAgICAgICB1
bnNpZ25lZCBjaGFyICpfYmFzZTsKICAgICAgICBpbnQgX3NpemU7Cn07CgoKCgoKCnR5cGVkZWYg
bG9uZyBfZnBvc190OwojIDE1NiAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1
ZGUvc3lzL3JlZW50LmgiIDMgNApzdHJ1Y3QgX19zRklMRSB7CiAgdW5zaWduZWQgY2hhciAqX3A7
CiAgaW50IF9yOwogIGludCBfdzsKICBzaG9ydCBfZmxhZ3M7CiAgc2hvcnQgX2ZpbGU7CiAgc3Ry
dWN0IF9fc2J1ZiBfYmY7CiAgaW50IF9sYmZzaXplOwoKCgoKCgogIHZvaWQgKiBfY29va2llOwoK
ICBpbnQgKCpfcmVhZCkgKHZvaWQgKiBfY29va2llLCBjaGFyICpfYnVmLCBpbnQgX24pOwogIGlu
dCAoKl93cml0ZSkgKHZvaWQgKiBfY29va2llLCBjb25zdCBjaGFyICpfYnVmLCBpbnQgX24pOwoK
ICBfZnBvc190ICgqX3NlZWspICh2b2lkICogX2Nvb2tpZSwgX2Zwb3NfdCBfb2Zmc2V0LCBpbnQg
X3doZW5jZSk7CiAgaW50ICgqX2Nsb3NlKSAodm9pZCAqIF9jb29raWUpOwoKCiAgc3RydWN0IF9f
c2J1ZiBfdWI7CiAgdW5zaWduZWQgY2hhciAqX3VwOwogIGludCBfdXI7CgoKICB1bnNpZ25lZCBj
aGFyIF91YnVmWzNdOwogIHVuc2lnbmVkIGNoYXIgX25idWZbMV07CgoKICBzdHJ1Y3QgX19zYnVm
IF9sYjsKCgogIGludCBfYmxrc2l6ZTsKICBpbnQgX29mZnNldDsKCgogIHN0cnVjdCBfcmVlbnQg
Kl9kYXRhOwoKCgogIF9mbG9ja190IF9sb2NrOwoKfTsKIyAyNDkgIi91c3IvdG1wL2djYy0zLjIu
Mi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9yZWVudC5oIiAzIDQKdHlwZWRlZiBzdHJ1Y3QgX19z
RklMRSBfX0ZJTEU7CgoKc3RydWN0IF9nbHVlCnsKICBzdHJ1Y3QgX2dsdWUgKl9uZXh0OwogIGlu
dCBfbmlvYnM7CiAgX19GSUxFICpfaW9iczsKfTsKIyAyODAgIi91c3IvdG1wL2djYy0zLjIuMi9u
ZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9yZWVudC5oIiAzIDQKc3RydWN0IF9yYW5kNDggewogIHVu
c2lnbmVkIHNob3J0IF9zZWVkWzNdOwogIHVuc2lnbmVkIHNob3J0IF9tdWx0WzNdOwogIHVuc2ln
bmVkIHNob3J0IF9hZGQ7CgoKCgp9OwojIDUzMiAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9s
aWJjL2luY2x1ZGUvc3lzL3JlZW50LmgiIDMgNApzdHJ1Y3QgX3JlZW50CnsKICBpbnQgX2Vycm5v
OwoKCgoKICBfX0ZJTEUgKl9zdGRpbiwgKl9zdGRvdXQsICpfc3RkZXJyOwoKICBpbnQgX2luYzsK
ICBjaGFyIF9lbWVyZ2VuY3lbMjVdOwoKICBpbnQgX2N1cnJlbnRfY2F0ZWdvcnk7CiAgY29uc3Qg
Y2hhciAqX2N1cnJlbnRfbG9jYWxlOwoKICBpbnQgX19zZGlkaW5pdDsKCiAgdm9pZCAoKl9fY2xl
YW51cCkgKHN0cnVjdCBfcmVlbnQgKik7CgoKICBzdHJ1Y3QgX0JpZ2ludCAqX3Jlc3VsdDsKICBp
bnQgX3Jlc3VsdF9rOwogIHN0cnVjdCBfQmlnaW50ICpfcDVzOwogIHN0cnVjdCBfQmlnaW50ICoq
X2ZyZWVsaXN0OwoKCiAgaW50IF9jdnRsZW47CiAgY2hhciAqX2N2dGJ1ZjsKCiAgdW5pb24KICAg
IHsKICAgICAgc3RydWN0CiAgICAgICAgewogICAgICAgICAgdW5zaWduZWQgaW50IF91bnVzZWRf
cmFuZDsKICAgICAgICAgIGNoYXIgKiBfc3RydG9rX2xhc3Q7CiAgICAgICAgICBjaGFyIF9hc2N0
aW1lX2J1ZlsyNl07CiAgICAgICAgICBzdHJ1Y3QgX190bSBfbG9jYWx0aW1lX2J1ZjsKICAgICAg
ICAgIGludCBfZ2FtbWFfc2lnbmdhbTsKICAgICAgICAgIF9fZXh0ZW5zaW9uX18gdW5zaWduZWQg
bG9uZyBsb25nIF9yYW5kX25leHQ7CiAgICAgICAgICBzdHJ1Y3QgX3JhbmQ0OCBfcjQ4OwogICAg
ICAgICAgX21ic3RhdGVfdCBfbWJsZW5fc3RhdGU7CiAgICAgICAgICBfbWJzdGF0ZV90IF9tYnRv
d2Nfc3RhdGU7CiAgICAgICAgICBfbWJzdGF0ZV90IF93Y3RvbWJfc3RhdGU7CiAgICAgICAgICBj
aGFyIF9sNjRhX2J1Zls4XTsKICAgICAgICAgIGNoYXIgX3NpZ25hbF9idWZbMjRdOwogICAgICAg
ICAgaW50IF9nZXRkYXRlX2VycjsKICAgICAgICAgIF9tYnN0YXRlX3QgX21icmxlbl9zdGF0ZTsK
ICAgICAgICAgIF9tYnN0YXRlX3QgX21icnRvd2Nfc3RhdGU7CiAgICAgICAgICBfbWJzdGF0ZV90
IF9tYnNydG93Y3Nfc3RhdGU7CiAgICAgICAgICBfbWJzdGF0ZV90IF93Y3J0b21iX3N0YXRlOwog
ICAgICAgICAgX21ic3RhdGVfdCBfd2NzcnRvbWJzX3N0YXRlOwogICAgICAgIH0gX3JlZW50OwoK
CgogICAgICBzdHJ1Y3QKICAgICAgICB7CgogICAgICAgICAgdW5zaWduZWQgY2hhciAqIF9uZXh0
ZlszMF07CiAgICAgICAgICB1bnNpZ25lZCBpbnQgX25tYWxsb2NbMzBdOwogICAgICAgIH0gX3Vu
dXNlZDsKICAgIH0gX25ldzsKCgogIHN0cnVjdCBfYXRleGl0ICpfYXRleGl0OwogIHN0cnVjdCBf
YXRleGl0IF9hdGV4aXQwOwoKCiAgdm9pZCAoKiooX3NpZ19mdW5jKSkoaW50KTsKCgoKCiAgc3Ry
dWN0IF9nbHVlIF9fc2dsdWU7CiAgX19GSUxFIF9fc2ZbM107Cn07CiMgNzI4ICIvdXNyL3RtcC9n
Y2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMyA0CmV4dGVybiBzdHJ1
Y3QgX3JlZW50ICpfaW1wdXJlX3B0ciA7Cgp2b2lkIF9yZWNsYWltX3JlZW50IChzdHJ1Y3QgX3Jl
ZW50ICopOwojIDQ2ICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zdGRp
by5oIiAyIDMgNAojIDEgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5
cy90eXBlcy5oIiAxIDMgNAojIDI0ICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5j
bHVkZS9zeXMvdHlwZXMuaCIgMyA0CnR5cGVkZWYgc2hvcnQgaW50IF9faW50MTZfdDsKdHlwZWRl
ZiB1bnNpZ25lZCBzaG9ydCBpbnQgX191aW50MTZfdDsKCgoKCgp0eXBlZGVmIGludCBfX2ludDMy
X3Q7CnR5cGVkZWYgdW5zaWduZWQgaW50IF9fdWludDMyX3Q7CgoKCnR5cGVkZWYgbG9uZyBpbnQg
X19pbnQ2NF90Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IF9fdWludDY0X3Q7CiMgNTkgIi91
c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKIyAx
ICIvdXNyL3RtcC9nY2MtMy4yLjIvd29yay9nY2MvaW5jbHVkZS9zdGRkZWYuaCIgMSAzIDQKIyA2
MCAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIg
MyA0CiMgMSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvbWFjaGluZS90
eXBlcy5oIiAxIDMgNAojIDM2ICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVk
ZS9tYWNoaW5lL3R5cGVzLmgiIDMgNAp0eXBlZGVmIGxvbmcgaW50IF9fb2ZmX3Q7CnR5cGVkZWYg
aW50IF9fcGlkX3Q7CgpfX2V4dGVuc2lvbl9fIHR5cGVkZWYgbG9uZyBsb25nIGludCBfX2xvZmZf
dDsKIyA2MSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3R5cGVz
LmgiIDIgMyA0CiMgODIgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5
cy90eXBlcy5oIiAzIDQKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVfY2hhcjsKdHlwZWRlZiB1bnNp
Z25lZCBzaG9ydCB1X3Nob3J0Owp0eXBlZGVmIHVuc2lnbmVkIGludCB1X2ludDsKdHlwZWRlZiB1
bnNpZ25lZCBsb25nIHVfbG9uZzsKCgoKdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1c2hvcnQ7CnR5
cGVkZWYgdW5zaWduZWQgaW50IHVpbnQ7CgoKCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBjbG9ja190
OwoKCgoKdHlwZWRlZiBsb25nIHRpbWVfdDsKCgoKCnN0cnVjdCB0aW1lc3BlYyB7CiAgdGltZV90
IHR2X3NlYzsKICBsb25nIHR2X25zZWM7Cn07CgpzdHJ1Y3QgaXRpbWVyc3BlYyB7CiAgc3RydWN0
IHRpbWVzcGVjIGl0X2ludGVydmFsOwogIHN0cnVjdCB0aW1lc3BlYyBpdF92YWx1ZTsKfTsKCgp0
eXBlZGVmIGxvbmcgZGFkZHJfdDsKdHlwZWRlZiBjaGFyICogY2FkZHJfdDsKCgoKCgp0eXBlZGVm
IHVuc2lnbmVkIGxvbmcgaW5vX3Q7CiMgMTU4ICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xp
YmMvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMyA0CnR5cGVkZWYgc2hvcnQgZGV2X3Q7CgoKCgp0eXBl
ZGVmIGxvbmcgb2ZmX3Q7Cgp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVpZF90Owp0eXBlZGVmIHVu
c2lnbmVkIHNob3J0IGdpZF90OwoKCnR5cGVkZWYgaW50IHBpZF90Owp0eXBlZGVmIGxvbmcga2V5
X3Q7CnR5cGVkZWYgX3NzaXplX3Qgc3NpemVfdDsKCgoKCgoKCnR5cGVkZWYgdW5zaWduZWQgbG9u
ZyBtb2RlX3Q7CiMgMTg4ICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9z
eXMvdHlwZXMuaCIgMyA0CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgbmxpbmtfdDsKIyAyMTAgIi91
c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKdHlw
ZWRlZiBsb25nIGZkX21hc2s7CgoKCgoKCgp0eXBlZGVmIHN0cnVjdCBfdHlwZXNfZmRfc2V0IHsK
ICAgICAgICBmZF9tYXNrIGZkc19iaXRzWygoKDY0KSsoKChzaXplb2YgKGZkX21hc2spICogOCkp
LTEpKS8oKHNpemVvZiAoZmRfbWFzaykgKiA4KSkpXTsKfSBfdHlwZXNfZmRfc2V0OwojIDQ3ICIv
dXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zdGRpby5oIiAyIDMgNAoKCgp0
eXBlZGVmIF9mcG9zX3QgZnBvc190Owp0eXBlZGVmIF9fRklMRSBGSUxFOwoKCgoKCiMgMSAiL3Vz
ci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3N0ZGlvLmgiIDEgMyA0CiMg
NTggIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0
CiMgMTYyICIvdXNyL3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zdGRpby5oIiAz
IDQKRklMRSAqIHRtcGZpbGUgKHZvaWQpOwpjaGFyICogdG1wbmFtIChjaGFyICopOwppbnQgZmNs
b3NlIChGSUxFICopOwppbnQgZmZsdXNoIChGSUxFICopOwpGSUxFICogZnJlb3BlbiAoY29uc3Qg
Y2hhciAqLCBjb25zdCBjaGFyICosIEZJTEUgKik7CnZvaWQgc2V0YnVmIChGSUxFICosIGNoYXIg
Kik7CmludCBzZXR2YnVmIChGSUxFICosIGNoYXIgKiwgaW50LCBzaXplX3QpOwppbnQgZnByaW50
ZiAoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLik7CmludCBmc2NhbmYgKEZJTEUgKiwgY29uc3Qg
Y2hhciAqLCAuLi4pOwppbnQgcHJpbnRmIChjb25zdCBjaGFyICosIC4uLik7CmludCBzY2FuZiAo
Y29uc3QgY2hhciAqLCAuLi4pOwppbnQgc3NjYW5mIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg
KiwgLi4uKTsKaW50IHZmcHJpbnRmIChGSUxFICosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xp
c3QpOwppbnQgdnByaW50ZiAoY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7CmludCB2c3By
aW50ZiAoY2hhciAqLCBjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0KTsKaW50IGZnZXRjIChG
SUxFICopOwpjaGFyICogZmdldHMgKGNoYXIgKiwgaW50LCBGSUxFICopOwppbnQgZnB1dGMgKGlu
dCwgRklMRSAqKTsKaW50IGZwdXRzIChjb25zdCBjaGFyICosIEZJTEUgKik7CmludCBnZXRjIChG
SUxFICopOwppbnQgZ2V0Y2hhciAodm9pZCk7CmNoYXIgKiBnZXRzIChjaGFyICopOwppbnQgcHV0
YyAoaW50LCBGSUxFICopOwppbnQgcHV0Y2hhciAoaW50KTsKaW50IHB1dHMgKGNvbnN0IGNoYXIg
Kik7CmludCB1bmdldGMgKGludCwgRklMRSAqKTsKc2l6ZV90IGZyZWFkICh2b2lkICosIHNpemVf
dCBfc2l6ZSwgc2l6ZV90IF9uLCBGSUxFICopOwpzaXplX3QgZndyaXRlIChjb25zdCB2b2lkICog
LCBzaXplX3QgX3NpemUsIHNpemVfdCBfbiwgRklMRSAqKTsKaW50IGZnZXRwb3MgKEZJTEUgKiwg
ZnBvc190ICopOwppbnQgZnNlZWsgKEZJTEUgKiwgbG9uZywgaW50KTsKaW50IGZzZXRwb3MgKEZJ
TEUgKiwgY29uc3QgZnBvc190ICopOwpsb25nIGZ0ZWxsICggRklMRSAqKTsKdm9pZCByZXdpbmQg
KEZJTEUgKik7CnZvaWQgY2xlYXJlcnIgKEZJTEUgKik7CmludCBmZW9mIChGSUxFICopOwppbnQg
ZmVycm9yIChGSUxFICopOwp2b2lkIHBlcnJvciAoY29uc3QgY2hhciAqKTsKCkZJTEUgKiBmb3Bl
biAoY29uc3QgY2hhciAqX25hbWUsIGNvbnN0IGNoYXIgKl90eXBlKTsKaW50IHNwcmludGYgKGNo
YXIgKiwgY29uc3QgY2hhciAqLCAuLi4pOwppbnQgcmVtb3ZlIChjb25zdCBjaGFyICopOwppbnQg
cmVuYW1lIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CgoKaW50IGFzcHJpbnRmIChjaGFy
ICoqLCBjb25zdCBjaGFyICosIC4uLik7CmludCBmc2Vla28gKEZJTEUgKiwgb2ZmX3QsIGludCk7
Cm9mZl90IGZ0ZWxsbyAoIEZJTEUgKik7CmludCB2ZmlwcmludGYgKEZJTEUgKiwgY29uc3QgY2hh
ciAqLCBfX2dudWNfdmFfbGlzdCk7CmludCBpcHJpbnRmIChjb25zdCBjaGFyICosIC4uLik7Cmlu
dCBmaXByaW50ZiAoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLik7CmludCBzaXByaW50ZiAoY2hh
ciAqLCBjb25zdCBjaGFyICosIC4uLik7CmNoYXIgKiB0ZW1wbmFtIChjb25zdCBjaGFyICosIGNv
bnN0IGNoYXIgKik7CmludCB2YXNwcmludGYgKGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgX19nbnVj
X3ZhX2xpc3QpOwppbnQgdnNucHJpbnRmIChjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCBf
X2dudWNfdmFfbGlzdCk7CmludCB2ZnNjYW5mIChGSUxFICosIGNvbnN0IGNoYXIgKiwgX19nbnVj
X3ZhX2xpc3QpOwppbnQgdnNjYW5mIChjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0KTsKaW50
IHZzc2NhbmYgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7Cgpp
bnQgZmNsb3NlYWxsICh2b2lkKTsKaW50IHNucHJpbnRmIChjaGFyICosIHNpemVfdCwgY29uc3Qg
Y2hhciAqLCAuLi4pOwojIDIzMSAiL3Vzci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1
ZGUvc3RkaW8uaCIgMyA0CkZJTEUgKiBmZG9wZW4gKGludCwgY29uc3QgY2hhciAqKTsKCmludCBm
aWxlbm8gKEZJTEUgKik7CmludCBnZXR3IChGSUxFICopOwppbnQgcGNsb3NlIChGSUxFICopOwpG
SUxFICogcG9wZW4gKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKaW50IHB1dHcgKGludCwg
RklMRSAqKTsKdm9pZCBzZXRidWZmZXIgKEZJTEUgKiwgY2hhciAqLCBpbnQpOwppbnQgc2V0bGlu
ZWJ1ZiAoRklMRSAqKTsKaW50IGdldGNfdW5sb2NrZWQgKEZJTEUgKik7CmludCBnZXRjaGFyX3Vu
bG9ja2VkICh2b2lkKTsKdm9pZCBmbG9ja2ZpbGUgKEZJTEUgKik7CmludCBmdHJ5bG9ja2ZpbGUg
KEZJTEUgKik7CnZvaWQgZnVubG9ja2ZpbGUgKEZJTEUgKik7CmludCBwdXRjX3VubG9ja2VkIChp
bnQsIEZJTEUgKik7CmludCBwdXRjaGFyX3VubG9ja2VkIChpbnQpOwoKCgoKCgppbnQgX2FzcHJp
bnRmX3IgKHN0cnVjdCBfcmVlbnQgKiwgY2hhciAqKiwgY29uc3QgY2hhciAqLCAuLi4pOwppbnQg
X2ZjbG9zZWFsbF9yIChzdHJ1Y3QgX3JlZW50ICopOwpGSUxFICogX2Zkb3Blbl9yIChzdHJ1Y3Qg
X3JlZW50ICosIGludCwgY29uc3QgY2hhciAqKTsKRklMRSAqIF9mb3Blbl9yIChzdHJ1Y3QgX3Jl
ZW50ICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKaW50IF9mc2NhbmZfciAoc3RydWN0
IF9yZWVudCAqLCBGSUxFICosIGNvbnN0IGNoYXIgKiwgLi4uKTsKaW50IF9nZXRjaGFyX3IgKHN0
cnVjdCBfcmVlbnQgKik7CmNoYXIgKiBfZ2V0c19yIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKik7
CmludCBfaXByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgLi4uKTsKaW50
IF9ta3N0ZW1wX3IgKHN0cnVjdCBfcmVlbnQgKiwgY2hhciAqKTsKY2hhciAqIF9ta3RlbXBfciAo
c3RydWN0IF9yZWVudCAqLCBjaGFyICopOwp2b2lkIF9wZXJyb3JfciAoc3RydWN0IF9yZWVudCAq
LCBjb25zdCBjaGFyICopOwppbnQgX3ByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNo
YXIgKiwgLi4uKTsKaW50IF9wdXRjaGFyX3IgKHN0cnVjdCBfcmVlbnQgKiwgaW50KTsKaW50IF9w
dXRzX3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqKTsKaW50IF9yZW1vdmVfciAoc3Ry
dWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICopOwppbnQgX3JlbmFtZV9yIChzdHJ1Y3QgX3JlZW50
ICosIGNvbnN0IGNoYXIgKl9vbGQsIGNvbnN0IGNoYXIgKl9uZXcpOwoKaW50IF9zY2FuZl9yIChz
dHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgLi4uKTsKaW50IF9zcHJpbnRmX3IgKHN0cnVj
dCBfcmVlbnQgKiwgY2hhciAqLCBjb25zdCBjaGFyICosIC4uLik7CmludCBfc25wcmludGZfciAo
c3RydWN0IF9yZWVudCAqLCBjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCAuLi4pOwppbnQg
X3NzY2FuZl9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCAu
Li4pOwpjaGFyICogX3RlbXBuYW1fciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICosIGNv
bnN0IGNoYXIgKik7CkZJTEUgKiBfdG1wZmlsZV9yIChzdHJ1Y3QgX3JlZW50ICopOwpjaGFyICog
X3RtcG5hbV9yIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKik7CmludCBfdmFzcHJpbnRmX3IgKHN0
cnVjdCBfcmVlbnQgKiwgY2hhciAqKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7Cmlu
dCBfdmZwcmludGZfciAoc3RydWN0IF9yZWVudCAqLCBGSUxFICosIGNvbnN0IGNoYXIgKiwgX19n
bnVjX3ZhX2xpc3QpOwppbnQgX3ZwcmludGZfciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFy
ICosIF9fZ251Y192YV9saXN0KTsKaW50IF92c3ByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICosIGNo
YXIgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7CmludCBfdnNucHJpbnRmX3IgKHN0
cnVjdCBfcmVlbnQgKiwgY2hhciAqLCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xp
c3QpOwppbnQgX3Zmc2NhbmZfciAoc3RydWN0IF9yZWVudCAqLCBGSUxFICosIGNvbnN0IGNoYXIg
KiwgX19nbnVjX3ZhX2xpc3QpOwppbnQgX3ZzY2FuZl9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0
IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOwppbnQgX3Zzc2NhbmZfciAoc3RydWN0IF9yZWVudCAq
LCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOwoKc3NpemVfdCBf
X2dldGRlbGltIChjaGFyICoqLCBzaXplX3QgKiwgaW50LCBGSUxFICopOwpzc2l6ZV90IF9fZ2V0
bGluZSAoY2hhciAqKiwgc2l6ZV90ICosIEZJTEUgKik7CiMgMzA5ICIvdXNyL3RtcC9nY2MtMy4y
LjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zdGRpby5oIiAzIDQKaW50IF9fc3JnZXQgKEZJTEUgKik7
CmludCBfX3N3YnVmIChpbnQsIEZJTEUgKik7CgoKCgoKCkZJTEUgKmZ1bm9wZW4gKGNvbnN0IHZv
aWQgKiBfY29va2llLCBpbnQgKCpyZWFkZm4pKHZvaWQgKiBfY29va2llLCBjaGFyICpfYnVmLCBp
bnQgX24pLCBpbnQgKCp3cml0ZWZuKSh2b2lkICogX2Nvb2tpZSwgY29uc3QgY2hhciAqX2J1Ziwg
aW50IF9uKSwgZnBvc190ICgqc2Vla2ZuKSh2b2lkICogX2Nvb2tpZSwgZnBvc190IF9vZmYsIGlu
dCBfd2hlbmNlKSwgaW50ICgqY2xvc2Vmbikodm9pZCAqIF9jb29raWUpKTsKIyA0MTYgIi91c3Iv
dG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N0ZGlvLmgiIDMgNAoKIyAyNzAgIi4u
Ly4uLy4uLy4uLy4uL25ld2xpYi9saWJjL3N0ZGxpYi9tYWxsb2NyLmMiIDIKIyAxICIvdXNyL3Rt
cC9nY2MtMy4yLjIvd29yay9nY2MvaW5jbHVkZS9saW1pdHMuaCIgMSAzIDQKIyAyNzEgIi4uLy4u
Ly4uLy4uLy4uL25ld2xpYi9saWJjL3N0ZGxpYi9tYWxsb2NyLmMiIDIKIyAyOTggIi4uLy4uLy4u
Ly4uLy4uL25ld2xpYi9saWJjL3N0ZGxpYi9tYWxsb2NyLmMiCiMgMSAiL3Vzci90bXAvZ2NjLTMu
Mi4yL25ld2xpYi9saWJjL2luY2x1ZGUvcmVlbnQuaCIgMSAzIDQKIyA1NCAiL3Vzci90bXAvZ2Nj
LTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvcmVlbnQuaCIgMyA0CiMgMSAiL3Vzci90bXAvZ2Nj
LTMuMi4yL3dvcmsvZ2NjL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0CiMgNTUgIi91c3IvdG1wL2dj
Yy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3JlZW50LmgiIDIgMyA0CgoKc3RydWN0IHN0YXQ7
CnN0cnVjdCB0bXM7CnN0cnVjdCB0aW1ldmFsOwpzdHJ1Y3QgdGltZXpvbmU7CgoKCmV4dGVybiBp
bnQgX2Nsb3NlX3IgKHN0cnVjdCBfcmVlbnQgKiwgaW50KTsKZXh0ZXJuIGludCBfZXhlY3ZlX3Ig
KHN0cnVjdCBfcmVlbnQgKiwgY2hhciAqLCBjaGFyICoqLCBjaGFyICoqKTsKZXh0ZXJuIGludCBf
ZmNudGxfciAoc3RydWN0IF9yZWVudCAqLCBpbnQsIGludCwgaW50KTsKZXh0ZXJuIGludCBfZm9y
a19yIChzdHJ1Y3QgX3JlZW50ICopOwpleHRlcm4gaW50IF9mc3RhdF9yIChzdHJ1Y3QgX3JlZW50
ICosIGludCwgc3RydWN0IHN0YXQgKik7CmV4dGVybiBpbnQgX2dldHBpZF9yIChzdHJ1Y3QgX3Jl
ZW50ICopOwpleHRlcm4gaW50IF9raWxsX3IgKHN0cnVjdCBfcmVlbnQgKiwgaW50LCBpbnQpOwpl
eHRlcm4gaW50IF9saW5rX3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqLCBjb25zdCBj
aGFyICopOwpleHRlcm4gX29mZl90IF9sc2Vla19yIChzdHJ1Y3QgX3JlZW50ICosIGludCwgX29m
Zl90LCBpbnQpOwpleHRlcm4gaW50IF9vcGVuX3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hh
ciAqLCBpbnQsIGludCk7CmV4dGVybiBfc3NpemVfdCBfcmVhZF9yIChzdHJ1Y3QgX3JlZW50ICos
IGludCwgdm9pZCAqLCBzaXplX3QpOwpleHRlcm4gdm9pZCAqX3NicmtfciAoc3RydWN0IF9yZWVu
dCAqLCBwdHJkaWZmX3QpOwpleHRlcm4gaW50IF9zdGF0X3IgKHN0cnVjdCBfcmVlbnQgKiwgY29u
c3QgY2hhciAqLCBzdHJ1Y3Qgc3RhdCAqKTsKZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX3RpbWVzX3Ig
KHN0cnVjdCBfcmVlbnQgKiwgc3RydWN0IHRtcyAqKTsKZXh0ZXJuIGludCBfdW5saW5rX3IgKHN0
cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqKTsKZXh0ZXJuIGludCBfd2FpdF9yIChzdHJ1Y3Qg
X3JlZW50ICosIGludCAqKTsKZXh0ZXJuIF9zc2l6ZV90IF93cml0ZV9yIChzdHJ1Y3QgX3JlZW50
ICosIGludCwgY29uc3Qgdm9pZCAqLCBzaXplX3QpOwoKCmV4dGVybiBpbnQgX2dldHRpbWVvZmRh
eV9yIChzdHJ1Y3QgX3JlZW50ICosIHN0cnVjdCB0aW1ldmFsICp0cCwgc3RydWN0IHRpbWV6b25l
ICp0enApOwojIDI5OSAiLi4vLi4vLi4vLi4vLi4vbmV3bGliL2xpYmMvc3RkbGliL21hbGxvY3Iu
YyIgMgojIDMyMiAiLi4vLi4vLi4vLi4vLi4vbmV3bGliL2xpYmMvc3RkbGliL21hbGxvY3IuYyIK
ZXh0ZXJuIHZvaWQgX19tYWxsb2NfbG9jayhzdHJ1Y3QgX3JlZW50ICopOwpleHRlcm4gdm9pZCBf
X21hbGxvY191bmxvY2soc3RydWN0IF9yZWVudCAqKTsKIyA1MDEgIi4uLy4uLy4uLy4uLy4uL25l
d2xpYi9saWJjL3N0ZGxpYi9tYWxsb2NyLmMiCnZvaWQqIG1lbXNldCh2b2lkKiwgaW50LCBzaXpl
X3QpOwp2b2lkKiBtZW1jcHkodm9pZCosIGNvbnN0IHZvaWQqLCBzaXplX3QpOwojIDYzNyAiLi4v
Li4vLi4vLi4vLi4vbmV3bGliL2xpYmMvc3RkbGliL21hbGxvY3IuYyIKIyAxICIvdXNyL3RtcC9n
Y2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS91bmlzdGQuaCIgMSAzIDQKCgoKIyAxICIvdXNy
L3RtcC9nY2MtMy4yLjIvbmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvdW5pc3RkLmgiIDEgMyA0CiMg
MTMgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy91bmlzdGQuaCIg
MyA0CiMgMSAiL3Vzci90bXAvZ2NjLTMuMi4yL3dvcmsvZ2NjL2luY2x1ZGUvc3RkZGVmLmgiIDEg
MyA0CiMgMTQgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy91bmlz
dGQuaCIgMiAzIDQKCmV4dGVybiBjaGFyICoqZW52aXJvbjsKCnZvaWQgX2V4aXQgKGludCBfX3N0
YXR1cyApIF9fYXR0cmlidXRlX18gKChub3JldHVybikpOwoKaW50IGFjY2VzcyAoY29uc3QgY2hh
ciAqX19wYXRoLCBpbnQgX19hbW9kZSApOwp1bnNpZ25lZCBhbGFybSAodW5zaWduZWQgX19zZWNz
ICk7CmludCBjaGRpciAoY29uc3QgY2hhciAqX19wYXRoICk7CmludCBjaG1vZCAoY29uc3QgY2hh
ciAqX19wYXRoLCBtb2RlX3QgX19tb2RlICk7CmludCBjaG93biAoY29uc3QgY2hhciAqX19wYXRo
LCB1aWRfdCBfX293bmVyLCBnaWRfdCBfX2dyb3VwICk7CgoKCmludCBjbG9zZSAoaW50IF9fZmls
ZGVzICk7CmNoYXIgKmN0ZXJtaWQgKGNoYXIgKl9fcyApOwpjaGFyICpjdXNlcmlkIChjaGFyICpf
X3MgKTsKaW50IGR1cCAoaW50IF9fZmlsZGVzICk7CmludCBkdXAyIChpbnQgX19maWxkZXMsIGlu
dCBfX2ZpbGRlczIgKTsKCgoKaW50IGV4ZWNsIChjb25zdCBjaGFyICpfX3BhdGgsIGNvbnN0IGNo
YXIgKiwgLi4uICk7CmludCBleGVjbGUgKGNvbnN0IGNoYXIgKl9fcGF0aCwgY29uc3QgY2hhciAq
LCAuLi4gKTsKaW50IGV4ZWNscCAoY29uc3QgY2hhciAqX19maWxlLCBjb25zdCBjaGFyICosIC4u
LiApOwppbnQgZXhlY3YgKGNvbnN0IGNoYXIgKl9fcGF0aCwgY2hhciAqIGNvbnN0IF9fYXJndltd
ICk7CmludCBleGVjdmUgKGNvbnN0IGNoYXIgKl9fcGF0aCwgY2hhciAqIGNvbnN0IF9fYXJndltd
LCBjaGFyICogY29uc3QgX19lbnZwW10gKTsKaW50IGV4ZWN2cCAoY29uc3QgY2hhciAqX19maWxl
LCBjaGFyICogY29uc3QgX19hcmd2W10gKTsKCgoKaW50IGZjaG1vZCAoaW50IF9fZmlsZGVzLCBt
b2RlX3QgX19tb2RlICk7CmludCBmY2hvd24gKGludCBfX2ZpbGRlcywgdWlkX3QgX19vd25lciwg
Z2lkX3QgX19ncm91cCApOwpwaWRfdCBmb3JrICh2b2lkICk7CmxvbmcgZnBhdGhjb25mIChpbnQg
X19mZCwgaW50IF9fbmFtZSApOwppbnQgZnN5bmMgKGludCBfX2ZkKTsKY2hhciAqZ2V0Y3dkIChj
aGFyICpfX2J1Ziwgc2l6ZV90IF9fc2l6ZSApOwoKCgpnaWRfdCBnZXRlZ2lkICh2b2lkICk7CnVp
ZF90IGdldGV1aWQgKHZvaWQgKTsKZ2lkX3QgZ2V0Z2lkICh2b2lkICk7CmludCBnZXRncm91cHMg
KGludCBfX2dpZHNldHNpemUsIGdpZF90IF9fZ3JvdXBsaXN0W10gKTsKY2hhciAqZ2V0bG9naW4g
KHZvaWQgKTsKCgoKY2hhciAqZ2V0cGFzcyAoX19jb25zdCBjaGFyICpfX3Byb21wdCk7CnNpemVf
dCBnZXRwYWdlc2l6ZSAodm9pZCk7CnBpZF90IGdldHBnaWQgKHBpZF90KTsKcGlkX3QgZ2V0cGdy
cCAodm9pZCApOwpwaWRfdCBnZXRwaWQgKHZvaWQgKTsKcGlkX3QgZ2V0cHBpZCAodm9pZCApOwoK
Cgp1aWRfdCBnZXR1aWQgKHZvaWQgKTsKCgoKCgppbnQgaXNhdHR5IChpbnQgX19maWxkZXMgKTsK
aW50IGxjaG93biAoY29uc3QgY2hhciAqX19wYXRoLCB1aWRfdCBfX293bmVyLCBnaWRfdCBfX2dy
b3VwICk7CmludCBsaW5rIChjb25zdCBjaGFyICpfX3BhdGgxLCBjb25zdCBjaGFyICpfX3BhdGgy
ICk7CmludCBuaWNlIChpbnQgX19uaWNlX3ZhbHVlICk7Cm9mZl90IGxzZWVrIChpbnQgX19maWxk
ZXMsIG9mZl90IF9fb2Zmc2V0LCBpbnQgX193aGVuY2UgKTsKbG9uZyBwYXRoY29uZiAoY29uc3Qg
Y2hhciAqX19wYXRoLCBpbnQgX19uYW1lICk7CmludCBwYXVzZSAodm9pZCApOwoKCgppbnQgcGlw
ZSAoaW50IF9fZmlsZGVzWzJdICk7CnNzaXplX3QgcHJlYWQgKGludCBfX2ZkLCB2b2lkICpfX2J1
Ziwgc2l6ZV90IF9fbmJ5dGVzLCBvZmZfdCBfX29mZnNldCk7CnNzaXplX3QgcHdyaXRlIChpbnQg
X19mZCwgY29uc3Qgdm9pZCAqX19idWYsIHNpemVfdCBfX25ieXRlcywgb2ZmX3QgX19vZmZzZXQp
OwppbnQgcmVhZCAoaW50IF9fZmQsIHZvaWQgKl9fYnVmLCBzaXplX3QgX19uYnl0ZSApOwoKCgpp
bnQgcm1kaXIgKGNvbnN0IGNoYXIgKl9fcGF0aCApOwoKCgp2b2lkICogc2JyayAocHRyZGlmZl90
IF9faW5jcik7CgoKCgppbnQgc2V0Z2lkIChnaWRfdCBfX2dpZCApOwoKCgppbnQgc2V0cGdpZCAo
cGlkX3QgX19waWQsIHBpZF90IF9fcGdpZCApOwppbnQgc2V0cGdycCAodm9pZCApOwpwaWRfdCBz
ZXRzaWQgKHZvaWQgKTsKaW50IHNldHVpZCAodWlkX3QgX191aWQgKTsKCgoKdW5zaWduZWQgc2xl
ZXAgKHVuc2lnbmVkIGludCBfX3NlY29uZHMgKTsKdm9pZCBzd2FiIChjb25zdCB2b2lkICosIHZv
aWQgKiwgc3NpemVfdCk7Cmxvbmcgc3lzY29uZiAoaW50IF9fbmFtZSApOwpwaWRfdCB0Y2dldHBn
cnAgKGludCBfX2ZpbGRlcyApOwppbnQgdGNzZXRwZ3JwIChpbnQgX19maWxkZXMsIHBpZF90IF9f
cGdycF9pZCApOwpjaGFyICp0dHluYW1lIChpbnQgX19maWxkZXMgKTsKaW50IHVubGluayAoY29u
c3QgY2hhciAqX19wYXRoICk7CmludCB2aGFuZ3VwICh2b2lkICk7CmludCB3cml0ZSAoaW50IF9f
ZmQsIGNvbnN0IHZvaWQgKl9fYnVmLCBzaXplX3QgX19uYnl0ZSApOwoKZXh0ZXJuIGNoYXIgKm9w
dGFyZzsKZXh0ZXJuIGludCBvcHRpbmQsIG9wdGVyciwgb3B0b3B0OwppbnQgZ2V0b3B0KGludCwg
Y2hhciAqIGNvbnN0IFtdLCBjb25zdCBjaGFyICopOwpleHRlcm4gaW50IG9wdHJlc2V0OwoKCnBp
ZF90IHZmb3JrICh2b2lkICk7CgpleHRlcm4gY2hhciAqc3Vib3B0YXJnOwppbnQgZ2V0c3Vib3B0
KGNoYXIgKiosIGNoYXIgKiBjb25zdCAqLCBjaGFyICoqKTsKCgoKCmludCBfY2xvc2UgKGludCBf
X2ZpbGRlcyApOwpwaWRfdCBfZm9yayAodm9pZCApOwpwaWRfdCBfZ2V0cGlkICh2b2lkICk7Cmlu
dCBfbGluayAoY29uc3QgY2hhciAqX19wYXRoMSwgY29uc3QgY2hhciAqX19wYXRoMiApOwpvZmZf
dCBfbHNlZWsgKGludCBfX2ZpbGRlcywgb2ZmX3QgX19vZmZzZXQsIGludCBfX3doZW5jZSApOwpp
bnQgX3JlYWQgKGludCBfX2ZkLCB2b2lkICpfX2J1Ziwgc2l6ZV90IF9fbmJ5dGUgKTsKdm9pZCAq
IF9zYnJrIChwdHJkaWZmX3QgX19pbmNyKTsKaW50IF91bmxpbmsgKGNvbnN0IGNoYXIgKl9fcGF0
aCApOwppbnQgX3dyaXRlIChpbnQgX19mZCwgY29uc3Qgdm9pZCAqX19idWYsIHNpemVfdCBfX25i
eXRlICk7CmludCBfZXhlY3ZlIChjb25zdCBjaGFyICpfX3BhdGgsIGNoYXIgKiBjb25zdCBfX2Fy
Z3ZbXSwgY2hhciAqIGNvbnN0IF9fZW52cFtdICk7CiMgMTc0ICIvdXNyL3RtcC9nY2MtMy4yLjIv
bmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvdW5pc3RkLmgiIDMgNAojIDEgIi91c3IvdG1wL2djYy0z
LjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9mZWF0dXJlcy5oIiAxIDMgNAojIDE3NSAiL3Vz
ci90bXAvZ2NjLTMuMi4yL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3VuaXN0ZC5oIiAyIDMgNAoj
IDUgIi91c3IvdG1wL2djYy0zLjIuMi9uZXdsaWIvbGliYy9pbmNsdWRlL3VuaXN0ZC5oIiAyIDMg
NAojIDYzOCAiLi4vLi4vLi4vLi4vLi4vbmV3bGliL2xpYmMvc3RkbGliL21hbGxvY3IuYyIgMgoj
IDcxNCAiLi4vLi4vLi4vLi4vLi4vbmV3bGliL2xpYmMvc3RkbGliL21hbGxvY3IuYyIKc3RydWN0
IG1hbGxpbmZvIHsKICBpbnQgYXJlbmE7CiAgaW50IG9yZGJsa3M7CiAgaW50IHNtYmxrczsKICBp
bnQgaGJsa3M7CiAgaW50IGhibGtoZDsKICBpbnQgdXNtYmxrczsKICBpbnQgZnNtYmxrczsKICBp
bnQgdW9yZGJsa3M7CiAgaW50IGZvcmRibGtzOwogIGludCBrZWVwY29zdDsKfTsKIyAxMDM0ICIu
Li8uLi8uLi8uLi8uLi9uZXdsaWIvbGliYy9zdGRsaWIvbWFsbG9jci5jIgp2b2lkKiBfbWFsbG9j
X3Ioc3RydWN0IF9yZWVudCAqcmVlbnRfcHRyLCBzaXplX3QpOwp2b2lkIF9mcmVlX3Ioc3RydWN0
IF9yZWVudCAqcmVlbnRfcHRyLCB2b2lkKik7CnZvaWQqIF9yZWFsbG9jX3Ioc3RydWN0IF9yZWVu
dCAqcmVlbnRfcHRyLCB2b2lkKiwgc2l6ZV90KTsKdm9pZCogX21lbWFsaWduX3Ioc3RydWN0IF9y
ZWVudCAqcmVlbnRfcHRyLCBzaXplX3QsIHNpemVfdCk7CnZvaWQqIF92YWxsb2NfcihzdHJ1Y3Qg
X3JlZW50ICpyZWVudF9wdHIsIHNpemVfdCk7CnZvaWQqIF9wdmFsbG9jX3Ioc3RydWN0IF9yZWVu
dCAqcmVlbnRfcHRyLCBzaXplX3QpOwp2b2lkKiBfY2FsbG9jX3Ioc3RydWN0IF9yZWVudCAqcmVl
bnRfcHRyLCBzaXplX3QsIHNpemVfdCk7CnZvaWQgY2ZyZWUodm9pZCopOwppbnQgX21hbGxvY190
cmltX3Ioc3RydWN0IF9yZWVudCAqcmVlbnRfcHRyLCBzaXplX3QpOwpzaXplX3QgX21hbGxvY191
c2FibGVfc2l6ZV9yKHN0cnVjdCBfcmVlbnQgKnJlZW50X3B0ciwgdm9pZCopOwp2b2lkIF9tYWxs
b2Nfc3RhdHNfcihzdHJ1Y3QgX3JlZW50ICpyZWVudF9wdHIpOwppbnQgX21hbGxvcHRfcihzdHJ1
Y3QgX3JlZW50ICpyZWVudF9wdHIsIGludCwgaW50KTsKc3RydWN0IG1hbGxpbmZvIF9tYWxsaW5m
b19yKHN0cnVjdCBfcmVlbnQgKnJlZW50X3B0cik7CiMgMTI0MyAiLi4vLi4vLi4vLi4vLi4vbmV3
bGliL2xpYmMvc3RkbGliL21hbGxvY3IuYyIKc3RydWN0IG1hbGxvY19jaHVuawp7CiAgc2l6ZV90
IHByZXZfc2l6ZTsKICBzaXplX3Qgc2l6ZTsKICBzdHJ1Y3QgbWFsbG9jX2NodW5rKiBmZDsKICBz
dHJ1Y3QgbWFsbG9jX2NodW5rKiBiazsKfTsKCnR5cGVkZWYgc3RydWN0IG1hbGxvY19jaHVuayog
bWNodW5rcHRyOwojIDE1NTEgIi4uLy4uLy4uLy4uLy4uL25ld2xpYi9saWJjL3N0ZGxpYi9tYWxs
b2NyLmMiCnR5cGVkZWYgc3RydWN0IG1hbGxvY19jaHVuayogbWJpbnB0cjsKIyAxNjAzICIuLi8u
Li8uLi8uLi8uLi9uZXdsaWIvbGliYy9zdGRsaWIvbWFsbG9jci5jIgpleHRlcm4gbWJpbnB0ciBf
X21hbGxvY19hdl9bMTI4ICogMiArIDJdOwojIDE3MjIgIi4uLy4uLy4uLy4uLy4uL25ld2xpYi9s
aWJjL3N0ZGxpYi9tYWxsb2NyLmMiCmV4dGVybiB1bnNpZ25lZCBsb25nIF9fbWFsbG9jX3RyaW1f
dGhyZXNob2xkOwpleHRlcm4gdW5zaWduZWQgbG9uZyBfX21hbGxvY190b3BfcGFkOwoKCgoKZXh0
ZXJuIGNoYXIqIF9fbWFsbG9jX3NicmtfYmFzZTsKZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19tYWxs
b2NfbWF4X3NicmtlZF9tZW07CmV4dGVybiB1bnNpZ25lZCBsb25nIF9fbWFsbG9jX21heF90b3Rh
bF9tZW07CmV4dGVybiBzdHJ1Y3QgbWFsbGluZm8gX19tYWxsb2NfY3VycmVudF9tYWxsaW5mbzsK
IyAzNDMyICIuLi8uLi8uLi8uLi8uLi9uZXdsaWIvbGliYy9zdGRsaWIvbWFsbG9jci5jIgpleHRl
cm4gdm9pZCBfX21hbGxvY191cGRhdGVfbWFsbGluZm8odm9pZCk7CiMgMzU0OSAiLi4vLi4vLi4v
Li4vLi4vbmV3bGliL2xpYmMvc3RkbGliL21hbGxvY3IuYyIKaW50IF9tYWxsb3B0X3Ioc3RydWN0
IF9yZWVudCAqcmVlbnRfcHRyLCBpbnQgcGFyYW1fbnVtYmVyLCBpbnQgdmFsdWUpCgoKCnsKICBf
X21hbGxvY19sb2NrKHJlZW50X3B0cik7CiAgc3dpdGNoKHBhcmFtX251bWJlcikKICB7CiAgICBj
YXNlIC0xOgogICAgICBfX21hbGxvY190cmltX3RocmVzaG9sZCA9IHZhbHVlOyBfX21hbGxvY191
bmxvY2socmVlbnRfcHRyKTsgcmV0dXJuIDE7CiAgICBjYXNlIC0yOgogICAgICBfX21hbGxvY190
b3BfcGFkID0gdmFsdWU7IF9fbWFsbG9jX3VubG9jayhyZWVudF9wdHIpOyByZXR1cm4gMTsKICAg
IGNhc2UgLTM6CgoKCiAgICAgIF9fbWFsbG9jX3VubG9jayhyZWVudF9wdHIpOwogICAgICByZXR1
cm4gMTsKICAgIGNhc2UgLTQ6CgoKCiAgICAgIF9fbWFsbG9jX3VubG9jayhyZWVudF9wdHIpOyBy
ZXR1cm4gdmFsdWUgPT0gMDsKCgogICAgZGVmYXVsdDoKICAgICAgX19tYWxsb2NfdW5sb2NrKHJl
ZW50X3B0cik7CiAgICAgIHJldHVybiAwOwogIH0KfQo=


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-03-28  9:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-28 10:10 target/10067: GCC-3.2.2 outputs invalid asm on sparc64 ebotcazou
  -- strict thread matches above, loose matches on Subject: below --
2003-03-27  9:26 ebotcazou
2003-03-13 23:46 dat94ali

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).