This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

target/694: alignment problem with -mcpu=ultrasparc ?



>Number:         694
>Category:       target
>Synopsis:       alignment problem with -mcpu=ultrasparc ?
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 26 09:06:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Gaël Roualland
>Release:        gcc version 2.95.2 19991024 (release)
>Organization:
>Environment:
Solaris 8 on netra 1 (ultrasparc II)
Bug is also toggled on solaris7 ultra5 (gcc 2.95.1) and solaris7 enterprise 450
gcc 2.8.1 doesn't seem to be affected.
>Description:
The attached code produces a SIGBUS when run on an ultrasparc processor
when compiled with -mcpu=ultrasparc :
provided the source file is bug.c,
$ gcc -mcpu=ultrasparc bug.c -o bug
produces a binary that toggles a Bus Error.
$ gcc bug.c -o bug
does not generate the error. 
Various levels of optimizations doesn't seem to change
the problem, that seems to be in the double substraction 
in the fprintf call. Changing the number of arguments to
the call seems to solve the problem, hence I think it's
an alignment problem.

>How-To-Repeat:
Just compile with -mcpu=ultrasparc and run.
>Fix:
compile without -mcpu=ultrasparc....
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="bug.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bug.i"

IyAxICJidWcuYyIKIyAxICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDEgMwogCgoKCgogCiAKCiAK
IAogCgoKCgojcHJhZ21hIGlkZW50CSJAKCMpc3RkbGliLmgJMS40Nwk5OS8xMS8wMyBTTUkiCQoK
IyAxICIvdXNyL2luY2x1ZGUvaXNvL3N0ZGxpYl9pc28uaCIgMSAzCiAKCgoKCiAKIAoKIAogCiAK
CiAKCgoKCgoKCgoKCgoKCgojcHJhZ21hIGlkZW50CSJAKCMpc3RkbGliX2lzby5oCTEuMQk5OS8w
OC8wOSBTTUkiIAoKIyAxICIvdXNyL2luY2x1ZGUvc3lzL2ZlYXR1cmVfdGVzdHMuaCIgMSAzCiAK
CgoKCiAKIAogCgoKCgojcHJhZ21hIGlkZW50CSJAKCMpZmVhdHVyZV90ZXN0cy5oCTEuMTgJOTkv
MDcvMjYgU01JIgoKIyAxICIvdXNyL2luY2x1ZGUvc3lzL2lzYV9kZWZzLmgiIDEgMwogCgoKCgoK
CgojcHJhZ21hIGlkZW50CSJAKCMpaXNhX2RlZnMuaAkxLjIwCTk5LzA1LzA0IFNNSSIKCiAKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKIAoKCgoKCiMgMjY3ICIvdXNyL2luY2x1
ZGUvc3lzL2lzYV9kZWZzLmgiIDMKCgogCgoKCgoKCiAKCgoKCgoKIAoKCgoKCgoKCgogCgoKCgoK
CgoKCgoKCgoKCgogCgoKCgoKCgogCgoKCgoKIAoKCgoKCgoKIAoKCgoKCgoKCiAKCgoKIyAzNjYg
Ii91c3IvaW5jbHVkZS9zeXMvaXNhX2RlZnMuaCIgMwoKCiAKCgoKCgoKCgoKCgoKCgoKIyAxNSAi
L3Vzci9pbmNsdWRlL3N5cy9mZWF0dXJlX3Rlc3RzLmgiIDIgMwoKCgoKCgogCgoKCgoKCgoKCgoK
CiAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCiAKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKIAoKCgoKCgoKCgoKCgoKCgoKCgoKIAoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKIAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgogCgoKCgoKCgoKCgojIDMwICIvdXNyL2lu
Y2x1ZGUvaXNvL3N0ZGxpYl9pc28uaCIgMiAzCgoKCgoKCgoKCgp0eXBlZGVmCXN0cnVjdCB7Cglp
bnQJcXVvdDsKCWludAlyZW07Cn0gZGl2X3Q7Cgp0eXBlZGVmIHN0cnVjdCB7Cglsb25nCXF1b3Q7
Cglsb25nCXJlbTsKfSBsZGl2X3Q7CgoKCgoKCnR5cGVkZWYgdW5zaWduZWQgaW50ICAgIHNpemVf
dDsJCSAKCgoKCgoKCgoKCgoKCgoKCgoKCgp0eXBlZGVmIGxvbmcJd2NoYXJfdDsKCgoKCgpleHRl
cm4gdW5zaWduZWQgY2hhcglfX2N0eXBlW107CgoKZXh0ZXJuIHZvaWQgYWJvcnQodm9pZCk7CmV4
dGVybiBpbnQgYWJzKGludCk7CmV4dGVybiBpbnQgYXRleGl0KHZvaWQgKCopKHZvaWQpKTsKZXh0
ZXJuIGRvdWJsZSBhdG9mKGNvbnN0IGNoYXIgKik7CmV4dGVybiBpbnQgYXRvaShjb25zdCBjaGFy
ICopOwpleHRlcm4gbG9uZyBpbnQgYXRvbChjb25zdCBjaGFyICopOwpleHRlcm4gdm9pZCAqYnNl
YXJjaChjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBzaXplX3QsCglpbnQgKCop
KGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSk7CmV4dGVybiB2b2lkICpjYWxsb2Moc2l6ZV90
LCBzaXplX3QpOwpleHRlcm4gZGl2X3QgZGl2KGludCwgaW50KTsKZXh0ZXJuIHZvaWQgZXhpdChp
bnQpOwpleHRlcm4gdm9pZCBmcmVlKHZvaWQgKik7CmV4dGVybiBjaGFyICpnZXRlbnYoY29uc3Qg
Y2hhciAqKTsKZXh0ZXJuIGxvbmcgaW50IGxhYnMobG9uZyk7CmV4dGVybiBsZGl2X3QgbGRpdihs
b25nLCBsb25nKTsKZXh0ZXJuIHZvaWQgKm1hbGxvYyhzaXplX3QpOwpleHRlcm4gaW50IG1ibGVu
KGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKZXh0ZXJuIHNpemVfdCBtYnN0b3djcyh3Y2hhcl90ICos
IGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKZXh0ZXJuIGludCBtYnRvd2Mod2NoYXJfdCAqLCBjb25z
dCBjaGFyICosIHNpemVfdCk7CmV4dGVybiB2b2lkIHFzb3J0KHZvaWQgKiwgc2l6ZV90LCBzaXpl
X3QsCglpbnQgKCopKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSk7CmV4dGVybiBpbnQgcmFu
ZCh2b2lkKTsKZXh0ZXJuIHZvaWQgKnJlYWxsb2Modm9pZCAqLCBzaXplX3QpOwpleHRlcm4gdm9p
ZCBzcmFuZCh1bnNpZ25lZCBpbnQpOwpleHRlcm4gZG91YmxlIHN0cnRvZChjb25zdCBjaGFyICos
IGNoYXIgKiopOwpleHRlcm4gbG9uZyBpbnQgc3RydG9sKGNvbnN0IGNoYXIgKiwgY2hhciAqKiwg
aW50KTsKZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW50IHN0cnRvdWwoY29uc3QgY2hhciAqLCBjaGFy
ICoqLCBpbnQpOwpleHRlcm4gaW50IHN5c3RlbShjb25zdCBjaGFyICopOwpleHRlcm4gaW50IHdj
dG9tYihjaGFyICosIHdjaGFyX3QpOwpleHRlcm4gc2l6ZV90IHdjc3RvbWJzKGNoYXIgKiwgY29u
c3Qgd2NoYXJfdCAqLCBzaXplX3QpOwoKIyAxNTAgIi91c3IvaW5jbHVkZS9pc28vc3RkbGliX2lz
by5oIiAzCgoKCgoKCgoKCgoKIyAxOCAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMKCgoKCgoK
CiAKCgoKIyA2MSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzCgoKCgoKCgp0eXBlZGVmIHN0cnVj
dCB7Cglsb25nIGxvbmcJcXVvdDsKCWxvbmcgbG9uZwlyZW07Cn0gbGxkaXZfdDsKCgoKCgoKCnR5
cGVkZWYgbG9uZwl1aWRfdDsJCQkgCgoKCgoKIAojIDk0ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgi
IDMKCgogCiMgMTA1ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMKCgoKCgoKCmV4dGVybiB2b2lk
IF9leGl0aGFuZGxlKHZvaWQpOwoKCgoKZXh0ZXJuIGRvdWJsZSBkcmFuZDQ4KHZvaWQpOwpleHRl
cm4gZG91YmxlIGVyYW5kNDgodW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiBsb25nIGpyYW5kNDgo
dW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiB2b2lkIGxjb25nNDgodW5zaWduZWQgc2hvcnQgKik7
CmV4dGVybiBsb25nIGxyYW5kNDgodm9pZCk7CmV4dGVybiBsb25nIG1yYW5kNDgodm9pZCk7CmV4
dGVybiBsb25nIG5yYW5kNDgodW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiB1bnNpZ25lZCBzaG9y
dCAqc2VlZDQ4KHVuc2lnbmVkIHNob3J0ICopOwpleHRlcm4gdm9pZCBzcmFuZDQ4KGxvbmcpOwpl
eHRlcm4gaW50IHB1dGVudihjaGFyICopOwpleHRlcm4gdm9pZCBzZXRrZXkoY29uc3QgY2hhciAq
KTsKCgoKCgoKCgoKCgoKdHlwZWRlZiBpbnQJc3NpemVfdDsJIAoKCgpleHRlcm4gdm9pZCBzd2Fi
KGNvbnN0IGNoYXIgKiwgY2hhciAqLCBzc2l6ZV90KTsKCgoKCgpleHRlcm4gaW50CW1rc3RlbXAo
Y2hhciAqKTsKCgoKCmV4dGVybiBpbnQJbWtzdGVtcDY0KGNoYXIgKik7CgoKCgoKZXh0ZXJuIGxv
bmcgYTY0bChjb25zdCBjaGFyICopOwpleHRlcm4gY2hhciAqZWN2dChkb3VibGUsIGludCwgaW50
ICosIGludCAqKTsKZXh0ZXJuIGNoYXIgKmZjdnQoZG91YmxlLCBpbnQsIGludCAqLCBpbnQgKik7
CmV4dGVybiBjaGFyICpnY3Z0KGRvdWJsZSwgaW50LCBjaGFyICopOwpleHRlcm4gaW50IGdldHN1
Ym9wdChjaGFyICoqLCBjaGFyICpjb25zdCAqLCBjaGFyICoqKTsKZXh0ZXJuIGludCAgZ3JhbnRw
dChpbnQpOwpleHRlcm4gY2hhciAqaW5pdHN0YXRlKHVuc2lnbmVkLCBjaGFyICosIHNpemVfdCk7
CmV4dGVybiBjaGFyICpsNjRhKGxvbmcpOwpleHRlcm4gY2hhciAqbWt0ZW1wKGNoYXIgKik7CmV4
dGVybiBjaGFyICpwdHNuYW1lKGludCk7CmV4dGVybiBsb25nIHJhbmRvbSh2b2lkKTsKZXh0ZXJu
IGNoYXIgKnJlYWxwYXRoKGNvbnN0IGNoYXIgKiwgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKnNldHN0
YXRlKGNvbnN0IGNoYXIgKik7CmV4dGVybiB2b2lkIHNyYW5kb20odW5zaWduZWQpOwpleHRlcm4g
aW50IHR0eXNsb3Qodm9pZCk7CmV4dGVybiBpbnQgIHVubG9ja3B0KGludCk7CmV4dGVybiB2b2lk
ICp2YWxsb2Moc2l6ZV90KTsKCgoKCmV4dGVybiBpbnQgZHVwMihpbnQsIGludCk7CmV4dGVybiBj
aGFyICpxZWN2dChsb25nIGRvdWJsZSwgaW50LCBpbnQgKiwgaW50ICopOwpleHRlcm4gY2hhciAq
cWZjdnQobG9uZyBkb3VibGUsIGludCwgaW50ICosIGludCAqKTsKZXh0ZXJuIGNoYXIgKnFnY3Z0
KGxvbmcgZG91YmxlLCBpbnQsIGNoYXIgKik7CmV4dGVybiBjaGFyICpnZXRjd2QoY2hhciAqLCBz
aXplX3QpOwpleHRlcm4gY29uc3QgY2hhciAqZ2V0ZXhlY25hbWUodm9pZCk7CmV4dGVybiBjaGFy
ICpnZXRsb2dpbih2b2lkKTsKZXh0ZXJuIGludCBnZXRvcHQoaW50LCBjaGFyICpjb25zdCAqLCBj
b25zdCBjaGFyICopOwpleHRlcm4gY2hhciAqb3B0YXJnOwpleHRlcm4gaW50IG9wdGluZCwgb3B0
ZXJyLCBvcHRvcHQ7CmV4dGVybiBjaGFyICpnZXRwYXNzKGNvbnN0IGNoYXIgKik7CmV4dGVybiBj
aGFyICpnZXRwYXNzcGhyYXNlKGNvbnN0IGNoYXIgKik7CmV4dGVybiBpbnQgZ2V0cHcodWlkX3Qs
IGNoYXIgKik7CmV4dGVybiBpbnQgaXNhdHR5KGludCk7CmV4dGVybiB2b2lkICptZW1hbGlnbihz
aXplX3QsIHNpemVfdCk7CmV4dGVybiBjaGFyICp0dHluYW1lKGludCk7CgoKZXh0ZXJuIGxvbmcg
bG9uZyBhdG9sbChjb25zdCBjaGFyICopOwpleHRlcm4gbG9uZyBsb25nIGxsYWJzKGxvbmcgbG9u
Zyk7CmV4dGVybiBsbGRpdl90IGxsZGl2KGxvbmcgbG9uZywgbG9uZyBsb25nKTsKZXh0ZXJuIGNo
YXIgKmxsdG9zdHIobG9uZyBsb25nLCBjaGFyICopOwpleHRlcm4gbG9uZyBsb25nIHN0cnRvbGwo
Y29uc3QgY2hhciAqLCBjaGFyICoqLCBpbnQpOwpleHRlcm4gdW5zaWduZWQgbG9uZyBsb25nIHN0
cnRvdWxsKGNvbnN0IGNoYXIgKiwgY2hhciAqKiwgaW50KTsKZXh0ZXJuIGNoYXIgKnVsbHRvc3Ry
KHVuc2lnbmVkIGxvbmcgbG9uZywgY2hhciAqKTsKCgoKCiMgMzA1ICIvdXNyL2luY2x1ZGUvc3Rk
bGliLmgiIDMKCgoKCgoKCiMgMSAiYnVnLmMiIDIKCiMgMSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgi
IDEgMwogCiAKCiAKIAogCgogCgoKCgogCgoKCgoKCiNwcmFnbWEgaWRlbnQJIkAoIylzdGRpby5o
CTEuNzgJOTkvMTIvMDggU01JIgkKCiMgMSAiL3Vzci9pbmNsdWRlL2lzby9zdGRpb19pc28uaCIg
MSAzCiAKIAoKIAogCiAKCiAKCgoKCiAKCgoKCgoKCgoKCgogCgoKCgoKCiNwcmFnbWEgaWRlbnQJ
IkAoIylzdGRpb19pc28uaAkxLjIJOTkvMTAvMjUgU01JIgogCgoKIyAxICIvdXNyL2luY2x1ZGUv
c3lzL3ZhX2xpc3QuaCIgMSAzCiAKCgoKCgoKCiNwcmFnbWEgaWRlbnQJIkAoIyl2YV9saXN0LmgJ
MS4xMgk5OS8wNS8wNCBTTUkiCgogCgoKCgoKCgoKCgoKCgoKdHlwZWRlZiB2b2lkICpfX3ZhX2xp
c3Q7CgoKCgoKCgoKCiMgMzYgIi91c3IvaW5jbHVkZS9pc28vc3RkaW9faXNvLmgiIDIgMwoKIyAx
ICIvdXNyL2luY2x1ZGUvc3RkaW9fdGFnLmgiIDEgMwogCgoKCgoKCgojcHJhZ21hIGlkZW50CSJA
KCMpc3RkaW9fdGFnLmgJMS4zCTk4LzA0LzIwIFNNSSIKCgoKCgoKCgoKCgp0eXBlZGVmIHN0cnVj
dCBfX0ZJTEUgIF9fRklMRTsKCgoKCgoKCiMgMzcgIi91c3IvaW5jbHVkZS9pc28vc3RkaW9faXNv
LmgiIDIgMwoKIyAxICIvdXNyL2luY2x1ZGUvc3RkaW9faW1wbC5oIiAxIDMKIAoKCgoKCgoKI3By
YWdtYSBpZGVudAkiQCgjKXN0ZGlvX2ltcGwuaAkxLjgJOTkvMDYvMTAgU01JIgoKCgoKCgoKCgoK
CgoKCgoKIyAzNiAiL3Vzci9pbmNsdWRlL3N0ZGlvX2ltcGwuaCIgMwoKCnN0cnVjdCBfX0ZJTEUg
CSAKewoKCgoKCXNzaXplX3QJCV9jbnQ7CSAKCXVuc2lnbmVkIGNoYXIJKl9wdHI7CSAKCgl1bnNp
Z25lZCBjaGFyCSpfYmFzZTsJIAoJdW5zaWduZWQgY2hhcglfZmxhZzsJIAoJdW5zaWduZWQgY2hh
cglfZmlsZTsJIAoJdW5zaWduZWQJX19vcmllbnRhdGlvbjoyOyAgCgl1bnNpZ25lZAlfX2lvbm9s
b2NrOjE7CSAKCXVuc2lnbmVkCV9fZmlsbGVyOjU7Cn07CgoKCgoKCgoKIyAzOCAiL3Vzci9pbmNs
dWRlL2lzby9zdGRpb19pc28uaCIgMiAzCgoKIAoKCgoKCgoKCgoKCgogCgoKCgoKdHlwZWRlZgls
b25nIGxvbmcJX19sb25nbG9uZ190OwoKCgoKCgoKCgoKCgoKCgp0eXBlZGVmCV9fRklMRSBGSUxF
OwoKCgoKCgoKCgoKCgp0eXBlZGVmIGxvbmcJCWZwb3NfdDsKCgoKCgoKCgoKCgoKCgoKCgoKIAoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpleHRlcm4gX19GSUxFCV9faW9i
WzIwIF07CgoKCgoKCgoKCgoKCgoKCgpleHRlcm4gaW50CXJlbW92ZShjb25zdCBjaGFyICopOwpl
eHRlcm4gaW50CXJlbmFtZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CmV4dGVybiBGSUxF
CSp0bXBmaWxlKHZvaWQpOwpleHRlcm4gY2hhcgkqdG1wbmFtKGNoYXIgKik7CmV4dGVybiBpbnQJ
ZmNsb3NlKEZJTEUgKik7CmV4dGVybiBpbnQJZmZsdXNoKEZJTEUgKik7CmV4dGVybiBGSUxFCSpm
b3Blbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CmV4dGVybiBGSUxFCSpmcmVvcGVuKGNv
bnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBGSUxFICopOwpleHRlcm4gdm9pZAlzZXRidWYoRklM
RSAqLCBjaGFyICopOwpleHRlcm4gaW50CXNldHZidWYoRklMRSAqLCBjaGFyICosIGludCwgc2l6
ZV90KTsKIApleHRlcm4gaW50CWZwcmludGYoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLik7CiAK
ZXh0ZXJuIGludAlmc2NhbmYoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLik7CiAKZXh0ZXJuIGlu
dAlwcmludGYoY29uc3QgY2hhciAqLCAuLi4pOwogCmV4dGVybiBpbnQJc2NhbmYoY29uc3QgY2hh
ciAqLCAuLi4pOwogCmV4dGVybiBpbnQJc3ByaW50ZihjaGFyICosIGNvbnN0IGNoYXIgKiwgLi4u
KTsKIApleHRlcm4gaW50CXNzY2FuZihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgLi4uKTsK
ZXh0ZXJuIGludAl2ZnByaW50ZihGSUxFICosIGNvbnN0IGNoYXIgKiwgX192YV9saXN0KTsKZXh0
ZXJuIGludAl2cHJpbnRmKGNvbnN0IGNoYXIgKiwgX192YV9saXN0KTsKZXh0ZXJuIGludAl2c3By
aW50ZihjaGFyICosIGNvbnN0IGNoYXIgKiwgX192YV9saXN0KTsKZXh0ZXJuIGludAlmZ2V0YyhG
SUxFICopOwpleHRlcm4gY2hhcgkqZmdldHMoY2hhciAqLCBpbnQsIEZJTEUgKik7CmV4dGVybiBp
bnQJZnB1dGMoaW50LCBGSUxFICopOwpleHRlcm4gaW50CWZwdXRzKGNvbnN0IGNoYXIgKiwgRklM
RSAqKTsKCgpleHRlcm4gaW50CWdldGMoRklMRSAqKTsKZXh0ZXJuIGludAlwdXRjKGludCwgRklM
RSAqKTsKCgoKZXh0ZXJuIGludAlnZXRjaGFyKHZvaWQpOwpleHRlcm4gaW50CXB1dGNoYXIoaW50
KTsKCmV4dGVybiBjaGFyCSpnZXRzKGNoYXIgKik7CmV4dGVybiBpbnQJcHV0cyhjb25zdCBjaGFy
ICopOwpleHRlcm4gaW50CXVuZ2V0YyhpbnQsIEZJTEUgKik7CmV4dGVybiBzaXplX3QJZnJlYWQo
dm9pZCAqLCBzaXplX3QsIHNpemVfdCwgRklMRSAqKTsKZXh0ZXJuIHNpemVfdAlmd3JpdGUoY29u
c3Qgdm9pZCAqLCBzaXplX3QsIHNpemVfdCwgRklMRSAqKTsKZXh0ZXJuIGludAlmZ2V0cG9zKEZJ
TEUgKiwgZnBvc190ICopOwpleHRlcm4gaW50CWZzZWVrKEZJTEUgKiwgbG9uZywgaW50KTsKZXh0
ZXJuIGludAlmc2V0cG9zKEZJTEUgKiwgY29uc3QgZnBvc190ICopOwpleHRlcm4gbG9uZwlmdGVs
bChGSUxFICopOwpleHRlcm4gdm9pZAlyZXdpbmQoRklMRSAqKTsKCgpleHRlcm4gdm9pZAljbGVh
cmVycihGSUxFICopOwpleHRlcm4gaW50CWZlb2YoRklMRSAqKTsKZXh0ZXJuIGludAlmZXJyb3Io
RklMRSAqKTsKCmV4dGVybiB2b2lkCXBlcnJvcihjb25zdCBjaGFyICopOwoKCmV4dGVybiBpbnQJ
X19maWxidWYoRklMRSAqKTsKZXh0ZXJuIGludAlfX2Zsc2J1ZihpbnQsIEZJTEUgKik7CgoKIyAy
NzUgIi91c3IvaW5jbHVkZS9pc28vc3RkaW9faXNvLmgiIDMKCgoKCgoKCgoKCgoKIyAyOTUgIi91
c3IvaW5jbHVkZS9pc28vc3RkaW9faXNvLmgiIDMKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKIyAyMiAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMwoKCiAKCgoK
CgoKCiAKCgoKIyA4MSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMKCgoKCgoKCgoKCnR5cGVkZWYg
bG9uZwkJb2ZmX3Q7CgoKCgoKCgp0eXBlZGVmIF9fbG9uZ2xvbmdfdAlvZmY2NF90OwoKCgoKCgoK
Cgp0eXBlZGVmIF9fbG9uZ2xvbmdfdAlmcG9zNjRfdDsKCgoKIAoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCmV4dGVybiB1bnNpZ25lZCBjaGFyCSBfc2lidWZbXSwgX3NvYnVmW107CgoKIAojIDE3NiAi
L3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMKCgoKZXh0ZXJuIHVuc2lnbmVkIGNoYXIJKl9idWZlbmR0
YWJbXTsKZXh0ZXJuIEZJTEUJCSpfbGFzdGJ1ZjsKCgogCiMgMjA2ICIvdXNyL2luY2x1ZGUvc3Rk
aW8uaCIgMwoKCgoKCgoKCgpleHRlcm4gdm9pZCBzZXRidWZmZXIoRklMRSAqLCBjaGFyICosIHNp
emVfdCk7CmV4dGVybiBpbnQgc2V0bGluZWJ1ZihGSUxFICopOwoKCgoKIApleHRlcm4gaW50CXNu
cHJpbnRmKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLik7CgoKCgpleHRlcm4gaW50
CXZzbnByaW50ZihjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCBfX3ZhX2xpc3QpOwoKCiAK
CgoKCgpleHRlcm4gRklMRQkqZmRvcGVuKGludCwgY29uc3QgY2hhciAqKTsKZXh0ZXJuIGNoYXIJ
KmN0ZXJtaWQoY2hhciAqKTsKZXh0ZXJuIGludAlmaWxlbm8oRklMRSAqKTsKCgoKIAoKCiMgMjU1
ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMwoKCiAKCgoKCmV4dGVybiBGSUxFCSpwb3Blbihjb25z
dCBjaGFyICosIGNvbnN0IGNoYXIgKik7CmV4dGVybiBjaGFyCSpjdXNlcmlkKGNoYXIgKik7CmV4
dGVybiBjaGFyCSp0ZW1wbmFtKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKZXh0ZXJuIGlu
dAlnZXRvcHQoaW50LCBjaGFyICpjb25zdCAqLCBjb25zdCBjaGFyICopOwoKZXh0ZXJuIGludAln
ZXRzdWJvcHQoY2hhciAqKiwgY2hhciAqY29uc3QgKiwgY2hhciAqKik7CgpleHRlcm4gY2hhcgkq
b3B0YXJnOwpleHRlcm4gaW50CW9wdGluZCwgb3B0ZXJyLCBvcHRvcHQ7CmV4dGVybiBpbnQJZ2V0
dyhGSUxFICopOwpleHRlcm4gaW50CXB1dHcoaW50LCBGSUxFICopOwpleHRlcm4gaW50CXBjbG9z
ZShGSUxFICopOwoKCgogCgoKCmV4dGVybiBpbnQJZnNlZWtvKEZJTEUgKiwgb2ZmX3QsIGludCk7
CmV4dGVybiBvZmZfdAlmdGVsbG8oRklMRSAqKTsKCgogCgoKCgoKZXh0ZXJuIEZJTEUJKmZvcGVu
NjQoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwpleHRlcm4gRklMRQkqZnJlb3BlbjY0KGNv
bnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBGSUxFICopOwpleHRlcm4gRklMRQkqdG1wZmlsZTY0
KHZvaWQpOwpleHRlcm4gaW50CWZnZXRwb3M2NChGSUxFICosIGZwb3M2NF90ICopOwpleHRlcm4g
aW50CWZzZXRwb3M2NChGSUxFICosIGNvbnN0IGZwb3M2NF90ICopOwpleHRlcm4gaW50CWZzZWVr
bzY0KEZJTEUgKiwgb2ZmNjRfdCwgaW50KTsKZXh0ZXJuIG9mZjY0X3QJZnRlbGxvNjQoRklMRSAq
KTsKCgojIDM2NiAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMKCgoKCiMgMzkzICIvdXNyL2luY2x1
ZGUvc3RkaW8uaCIgMwoKCgoKCgoKCgojIDIgImJ1Zy5jIiAyCgoKaW50IG1haW4oaW50IGFyZ2Ms
IGNoYXIgKiogYXJndikgewogIGRvdWJsZSBhLCBiLCBjLCBkLCBlLCBmOwogIGludCBpPTI7CiAg
Y2hhciAqIHN0cmluZyA9ICJ0ZXN0IjsKCiAgYSA9IGIgPSAwLjE7CiAgYyA9IDMxLjU7CiAgZCA9
IDEwLjU7CiAgZSA9IDMyLjY7IAogIGYgPSAxOwogCiAgZnByaW50ZigoJl9faW9iWzJdKSAsCgkg
ICIlcyAlZCAlLjJmICUuMmYgJS4xZiUlICUuMWYgJS4xZnNcbiIsCgkgIHN0cmluZywgaSwgYSwg
YiwgYywgKGRvdWJsZSkgKGQgLSBmKSwgZSk7CiAgcmV0dXJuIDA7Cn0K

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]