This is the mail archive of the gcc-prs@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]
Other format: [Raw text]

c/8817: Failed to cross compile linux-2.4.19 kernel for StrongARM.


>Number:         8817
>Category:       c
>Synopsis:       Failed to cross compile linux-2.4.19 kernel for StrongARM.
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 04 20:36:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     suzhe@turbolinux.com.cn
>Release:        gcc-3.3 (cvs snapshot 2002.12.05)
>Organization:
>Environment:
cross compile for StrongARM with gcc-3.3 snapshot
>Description:
arm-linux-gcc -D__KERNEL__ -I/opt/cross_compiler/build/linux-2.4.19-arm/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -mtune=strongarm1100 -mshort-load-bytes -msoft-float   -nostdinc -I /opt/cross_compiler/strongarm-root/usr//lib/gcc-lib/arm-linux/3.3/include -DKBUILD_BASENAME=ll_rw_blk  -DEXPORT_SYMTAB -c ll_rw_blk.c
ll_rw_blk.c: In function `__blk_cleanup_queue':
ll_rw_blk.c:163: warning: comparison between signed and unsigned
ll_rw_blk.c: In function `ll_new_segment':
ll_rw_blk.c:256: warning: comparison between signed and unsigned
ll_rw_blk.c: In function `locate_hd_struct':
ll_rw_blk.c:628: warning: comparison between signed and unsigned
ll_rw_blk.c: In function `blkdev_release_request':
ll_rw_blk.c:765: warning: comparison between signed and unsigned
ll_rw_blk.c: In function `attempt_merge':
ll_rw_blk.c:788: warning: comparison between signed and unsigned
ll_rw_blk.c: In function `__make_request':
ll_rw_blk.c:971: warning: comparison between signed and unsigned
arm-linux-gcc -D__KERNEL__ -I/opt/cross_compiler/build/linux-2.4.19-arm/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -mtune=strongarm1100 -mshort-load-bytes -msoft-float   -nostdinc -I /opt/cross_compiler/strongarm-root/usr//lib/gcc-lib/arm-linux/3.3/include -DKBUILD_BASENAME=blkpg  -DEXPORT_SYMTAB -c blkpg.c
blkpg.c: In function `add_partition':
blkpg.c:94: warning: comparison between signed and unsigned
blkpg.c:104: warning: comparison between signed and unsigned
blkpg.c:105: warning: comparison between signed and unsigned
blkpg.c: In function `del_partition':
blkpg.c:140: warning: comparison between signed and unsigned
blkpg.c: In function `blkpg_ioctl':
blkpg.c:179: warning: comparison between signed and unsigned
blkpg.c: In function `blk_ioctl':
blkpg.c:285: warning: comparison between signed and unsigned
blkpg.c:252: error: asm-specifier for variable `__r1' conflicts with asm clobber list
blkpg.c:252: internal compiler error: asm clobber conflict with input operand
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[3]: *** [blkpg.o] Error 1
make[3]: Leaving directory `/opt/cross_compiler/build/linux-2.4.19-arm/drivers/block'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/opt/cross_compiler/build/linux-2.4.19-arm/drivers/block'
make[1]: *** [_subdir_block] Error 2
make[1]: Leaving directory `/opt/cross_compiler/build/linux-2.4.19-arm/drivers'
make: *** [_dir_drivers] Error 2
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="blkpg.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="blkpg.c"

LyoKICogUGFydGl0aW9uIHRhYmxlIGFuZCBkaXNrIGdlb21ldHJ5IGhhbmRsaW5nCiAqCiAqIFRo
aXMgb2Jzb2xldGVzIHRoZSBwYXJ0aXRpb24taGFuZGxpbmcgY29kZSBpbiBnZW5oZC5jOgogKiBV
c2Vyc3BhY2UgY2FuIGxvb2sgYXQgYSBkaXNrIGluIGFyYml0cmFyeSBmb3JtYXQgYW5kIHRlbGwK
ICogdGhlIGtlcm5lbCB3aGF0IHBhcnRpdGlvbnMgdGhlcmUgYXJlIG9uIHRoZSBkaXNrLCBhbmQg
aG93CiAqIHRoZXNlIHNob3VsZCBiZSBudW1iZXJlZC4KICogSXQgYWxzbyBhbGxvd3Mgb25lIHRv
IHJlcGFydGl0aW9uIGEgZGlzayB0aGF0IGlzIGJlaW5nIHVzZWQuCiAqCiAqIEEgc2luZ2xlIGlv
Y3RsIHdpdGggbG90cyBvZiBzdWJmdW5jdGlvbnM6CiAqCiAqIERldmljZSBudW1iZXIgc3R1ZmY6
CiAqICAgIGdldF93aG9sZV9kaXNrKCkgICAgICAgICAgKGdpdmVuIHRoZSBkZXZpY2UgbnVtYmVy
IG9mIGEgcGFydGl0aW9uLCBmaW5kCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
ZSBkZXZpY2UgbnVtYmVyIG9mIHRoZSBlbmNvbXBhc3NpbmcgZGlzaykKICogICAgZ2V0X2FsbF9w
YXJ0aXRpb25zKCkgICAgICAoZ2l2ZW4gdGhlIGRldmljZSBudW1iZXIgb2YgYSBkaXNrLCByZXR1
cm4gdGhlCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZSBudW1iZXJzIG9m
IGFsbCBpdHMga25vd24gcGFydGl0aW9ucykKICoKICogUGFydGl0aW9uIHN0dWZmOgogKiAgICBh
ZGRfcGFydGl0aW9uKCkKICogICAgZGVsZXRlX3BhcnRpdGlvbigpCiAqICAgIHRlc3RfcGFydGl0
aW9uX2luX3VzZSgpICAgKGFsc28gZm9yIHRlc3RfZGlza19pbl91c2UpCiAqCiAqIEdlb21ldHJ5
IHN0dWZmOgogKiAgICBnZXRfZ2VvbWV0cnkoKQogKiAgICBzZXRfZ2VvbWV0cnkoKQogKiAgICBn
ZXRfYmlvc19kcml2ZWRhdGEoKQogKgogKiBGb3IgdG9kYXksIG9ubHkgdGhlIHBhcnRpdGlvbiBz
dHVmZiAtIGFlYiwgOTkwNTE1CiAqLwoKI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiNpbmNsdWRl
IDxsaW51eC9mcy5oPgkJCS8qIGZvciBCTEtSQVNFVCwgLi4uICovCiNpbmNsdWRlIDxsaW51eC9z
Y2hlZC5oPgkJLyogZm9yIGNhcGFibGUoKSAqLwojaW5jbHVkZSA8bGludXgvYmxrLmg+CQkJLyog
Zm9yIHNldF9kZXZpY2Vfcm8oKSAqLwojaW5jbHVkZSA8bGludXgvYmxrcGcuaD4KI2luY2x1ZGUg
PGxpbnV4L2dlbmhkLmg+CiNpbmNsdWRlIDxsaW51eC9zd2FwLmg+CQkJLyogZm9yIGlzX3N3YXBf
cGFydGl0aW9uKCkgKi8KI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPiAgICAgICAgICAgICAgIC8q
IGZvciBFWFBPUlRfU1lNQk9MICovCgojaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KCi8qCiAqIFdo
YXQgaXMgdGhlIGRhdGEgZGVzY3JpYmluZyBhIHBhcnRpdGlvbj8KICoKICogMS4gYSBkZXZpY2Ug
bnVtYmVyIChrZGV2X3QpCiAqIDIuIGEgc3RhcnRpbmcgc2VjdG9yIGFuZCBudW1iZXIgb2Ygc2Vj
dG9ycyAoaGRfc3RydWN0KQogKiAgICBnaXZlbiBpbiB0aGUgcGFydFtdIGFycmF5IG9mIHRoZSBn
ZW5kaXNrIHN0cnVjdHVyZSBmb3IgdGhlIGRyaXZlLgogKgogKiBUaGUgbnVtYmVyIG9mIHNlY3Rv
cnMgaXMgcmVwbGljYXRlZCBpbiB0aGUgc2l6ZXNbXSBhcnJheSBvZgogKiB0aGUgZ2VuZGlzayBz
dHJ1Y3R1cmUgZm9yIHRoZSBtYWpvciwgd2hpY2ggYWdhaW4gaXMgY29waWVkIHRvCiAqIHRoZSBi
bGtfc2l6ZVtdW10gYXJyYXkuCiAqIChIb3dldmVyLCBoZF9zdHJ1Y3QgaGFzIHRoZSBudW1iZXIg
b2YgNTEyLWJ5dGUgc2VjdG9ycywKICogIGctPnNpemVzW10gYW5kIGJsa19zaXplW11bXSBoYXZl
IHRoZSBudW1iZXIgb2YgMTAyNC1ieXRlIGJsb2Nrcy4pCiAqIE5vdGUgdGhhdCBzZXZlcmFsIGRy
aXZlcyBtYXkgaGF2ZSB0aGUgc2FtZSBtYWpvci4KICovCgovKgogKiBBZGQgYSBwYXJ0aXRpb24u
CiAqCiAqIHJldHVybnM6IEVJTlZBTDogYmFkIHBhcmFtZXRlcnMKICogICAgICAgICAgRU5YSU86
IGNhbm5vdCBmaW5kIGRyaXZlCiAqICAgICAgICAgIEVCVVNZOiBwcm9wb3NlZCBwYXJ0aXRpb24g
b3ZlcmxhcHMgYW4gZXhpc3Rpbmcgb25lCiAqICAgICAgICAgICAgICAgICBvciBoYXMgdGhlIHNh
bWUgbnVtYmVyIGFzIGFuIGV4aXN0aW5nIG9uZQogKiAgICAgICAgICAwOiBhbGwgT0suCiAqLwpp
bnQgYWRkX3BhcnRpdGlvbihrZGV2X3QgZGV2LCBzdHJ1Y3QgYmxrcGdfcGFydGl0aW9uICpwKSB7
CglzdHJ1Y3QgZ2VuZGlzayAqZzsKCWxvbmcgbG9uZyBwcHN0YXJ0LCBwcGxlbmd0aDsKCWxvbmcg
cHN0YXJ0LCBwbGVuZ3RoOwoJaW50IGksIGRyaXZlLCBmaXJzdF9taW5vciwgZW5kX21pbm9yLCBt
aW5vcjsKCgkvKiBjb252ZXJ0IGJ5dGVzIHRvIHNlY3RvcnMsIGNoZWNrIGZvciBmaXQgaW4gYSBo
ZF9zdHJ1Y3QgKi8KCXBwc3RhcnQgPSAocC0+c3RhcnQgPj4gOSk7CglwcGxlbmd0aCA9IChwLT5s
ZW5ndGggPj4gOSk7Cglwc3RhcnQgPSBwcHN0YXJ0OwoJcGxlbmd0aCA9IHBwbGVuZ3RoOwoJaWYg
KHBzdGFydCAhPSBwcHN0YXJ0IHx8IHBsZW5ndGggIT0gcHBsZW5ndGgKCSAgICB8fCBwc3RhcnQg
PCAwIHx8IHBsZW5ndGggPCAwKQoJCXJldHVybiAtRUlOVkFMOwoKCS8qIGZpbmQgdGhlIGRyaXZl
IG1ham9yICovCglnID0gZ2V0X2dlbmRpc2soZGV2KTsKCWlmICghZykKCQlyZXR1cm4gLUVOWElP
OwoKCS8qIGV4aXN0aW5nIGRyaXZlPyAqLwoJZHJpdmUgPSAoTUlOT1IoZGV2KSA+PiBnLT5taW5v
cl9zaGlmdCk7CglmaXJzdF9taW5vciA9IChkcml2ZSA8PCBnLT5taW5vcl9zaGlmdCk7CgllbmRf
bWlub3IgICA9IGZpcnN0X21pbm9yICsgZy0+bWF4X3A7CglpZiAoZHJpdmUgPj0gZy0+bnJfcmVh
bCkKCQlyZXR1cm4gLUVOWElPOwoKCS8qIGRyaXZlIGFuZCBwYXJ0aXRpb24gbnVtYmVyIE9LPyAq
LwoJaWYgKGZpcnN0X21pbm9yICE9IE1JTk9SKGRldikgfHwgcC0+cG5vIDw9IDAgfHwgcC0+cG5v
ID49IGctPm1heF9wKQoJCXJldHVybiAtRUlOVkFMOwoKCS8qIHBhcnRpdGlvbiBudW1iZXIgaW4g
dXNlPyAqLwoJbWlub3IgPSBmaXJzdF9taW5vciArIHAtPnBubzsKCWlmIChnLT5wYXJ0W21pbm9y
XS5ucl9zZWN0cyAhPSAwKQoJCXJldHVybiAtRUJVU1k7CgoJLyogb3ZlcmxhcD8gKi8KCWZvciAo
aT1maXJzdF9taW5vcisxOyBpPGVuZF9taW5vcjsgaSsrKQoJCWlmICghKHBzdGFydCtwbGVuZ3Ro
IDw9IGctPnBhcnRbaV0uc3RhcnRfc2VjdCB8fAoJCSAgICAgIHBzdGFydCA+PSBnLT5wYXJ0W2ld
LnN0YXJ0X3NlY3QgKyBnLT5wYXJ0W2ldLm5yX3NlY3RzKSkKCQkJcmV0dXJuIC1FQlVTWTsKCgkv
KiBhbGwgc2VlbXMgT0sgKi8KCWctPnBhcnRbbWlub3JdLnN0YXJ0X3NlY3QgPSBwc3RhcnQ7Cgln
LT5wYXJ0W21pbm9yXS5ucl9zZWN0cyA9IHBsZW5ndGg7CglpZiAoZy0+c2l6ZXMpCgkJZy0+c2l6
ZXNbbWlub3JdID0gKHBsZW5ndGggPj4gKEJMT0NLX1NJWkVfQklUUyAtIDkpKTsKCWRldmZzX3Jl
Z2lzdGVyX3BhcnRpdGlvbnMgKGcsIGZpcnN0X21pbm9yLCAwKTsKCXJldHVybiAwOwp9CgovKgog
KiBEZWxldGUgYSBwYXJ0aXRpb24gZ2l2ZW4gYnkgcGFydGl0aW9uIG51bWJlcgogKgogKiByZXR1
cm5zOiBFSU5WQUw6IGJhZCBwYXJhbWV0ZXJzCiAqICAgICAgICAgIEVOWElPOiBjYW5ub3QgZmlu
ZCBwYXJ0aXRpb24KICogICAgICAgICAgRUJVU1k6IHBhcnRpdGlvbiBpcyBidXN5CiAqICAgICAg
ICAgIDA6IGFsbCBPSy4KICoKICogTm90ZSB0aGF0IHRoZSBkZXYgYXJndW1lbnQgcmVmZXJzIHRv
IHRoZSBlbnRpcmUgZGlzaywgbm90IHRoZSBwYXJ0aXRpb24uCiAqLwppbnQgZGVsX3BhcnRpdGlv
bihrZGV2X3QgZGV2LCBzdHJ1Y3QgYmxrcGdfcGFydGl0aW9uICpwKSB7CglzdHJ1Y3QgZ2VuZGlz
ayAqZzsKCWtkZXZfdCBkZXZwOwoJaW50IGRyaXZlLCBmaXJzdF9taW5vciwgbWlub3I7CgoJLyog
ZmluZCB0aGUgZHJpdmUgbWFqb3IgKi8KCWcgPSBnZXRfZ2VuZGlzayhkZXYpOwoJaWYgKCFnKQoJ
CXJldHVybiAtRU5YSU87CgoJLyogZHJpdmUgYW5kIHBhcnRpdGlvbiBudW1iZXIgT0s/ICovCglk
cml2ZSA9IChNSU5PUihkZXYpID4+IGctPm1pbm9yX3NoaWZ0KTsKCWZpcnN0X21pbm9yID0gKGRy
aXZlIDw8IGctPm1pbm9yX3NoaWZ0KTsKCWlmIChmaXJzdF9taW5vciAhPSBNSU5PUihkZXYpIHx8
IHAtPnBubyA8PSAwIHx8IHAtPnBubyA+PSBnLT5tYXhfcCkKCQlyZXR1cm4gLUVJTlZBTDsKCgkv
KiBleGlzdGluZyBkcml2ZSBhbmQgcGFydGl0aW9uPyAqLwoJbWlub3IgPSBmaXJzdF9taW5vciAr
IHAtPnBubzsKCWlmIChkcml2ZSA+PSBnLT5ucl9yZWFsIHx8IGctPnBhcnRbbWlub3JdLm5yX3Nl
Y3RzID09IDApCgkJcmV0dXJuIC1FTlhJTzsKCgkvKiBwYXJ0aXRpb24gaW4gdXNlPyBJbmNvbXBs
ZXRlIGNoZWNrIGZvciBub3cuICovCglkZXZwID0gTUtERVYoTUFKT1IoZGV2KSwgbWlub3IpOwoJ
aWYgKGlzX21vdW50ZWQoZGV2cCkgfHwgaXNfc3dhcF9wYXJ0aXRpb24oZGV2cCkpCgkJcmV0dXJu
IC1FQlVTWTsKCgkvKiBhbGwgc2VlbXMgT0sgKi8KCWZzeW5jX2RldihkZXZwKTsKCWludmFsaWRh
dGVfYnVmZmVycyhkZXZwKTsKCglnLT5wYXJ0W21pbm9yXS5zdGFydF9zZWN0ID0gMDsKCWctPnBh
cnRbbWlub3JdLm5yX3NlY3RzID0gMDsKCWlmIChnLT5zaXplcykKCQlnLT5zaXplc1ttaW5vcl0g
PSAwOwoJZGV2ZnNfcmVnaXN0ZXJfcGFydGl0aW9ucyAoZywgZmlyc3RfbWlub3IsIDApOwoKCXJl
dHVybiAwOwp9CgppbnQgYmxrcGdfaW9jdGwoa2Rldl90IGRldiwgc3RydWN0IGJsa3BnX2lvY3Rs
X2FyZyAqYXJnKQp7CglzdHJ1Y3QgYmxrcGdfaW9jdGxfYXJnIGE7CglzdHJ1Y3QgYmxrcGdfcGFy
dGl0aW9uIHA7CglpbnQgbGVuOwoKCWlmIChjb3B5X2Zyb21fdXNlcigmYSwgYXJnLCBzaXplb2Yo
c3RydWN0IGJsa3BnX2lvY3RsX2FyZykpKQoJCXJldHVybiAtRUZBVUxUOwoKCXN3aXRjaCAoYS5v
cCkgewoJCWNhc2UgQkxLUEdfQUREX1BBUlRJVElPTjoKCQljYXNlIEJMS1BHX0RFTF9QQVJUSVRJ
T046CgkJCWxlbiA9IGEuZGF0YWxlbjsKCQkJaWYgKGxlbiA8IHNpemVvZihzdHJ1Y3QgYmxrcGdf
cGFydGl0aW9uKSkKCQkJCXJldHVybiAtRUlOVkFMOwoJCQlpZiAoY29weV9mcm9tX3VzZXIoJnAs
IGEuZGF0YSwgc2l6ZW9mKHN0cnVjdCBibGtwZ19wYXJ0aXRpb24pKSkKCQkJCXJldHVybiAtRUZB
VUxUOwoJCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCgkJCQlyZXR1cm4gLUVBQ0NFUzsK
CQkJaWYgKGEub3AgPT0gQkxLUEdfQUREX1BBUlRJVElPTikKCQkJCXJldHVybiBhZGRfcGFydGl0
aW9uKGRldiwgJnApOwoJCQllbHNlCgkJCQlyZXR1cm4gZGVsX3BhcnRpdGlvbihkZXYsICZwKTsK
CQlkZWZhdWx0OgoJCQlyZXR1cm4gLUVJTlZBTDsKCX0KfQoKLyoKICogQ29tbW9uIGlvY3RsJ3Mg
Zm9yIGJsb2NrIGRldmljZXMKICovCgppbnQgYmxrX2lvY3RsKGtkZXZfdCBkZXYsIHVuc2lnbmVk
IGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQp7CglzdHJ1Y3QgZ2VuZGlzayAqZzsKCXU2NCB1
bGx2YWwgPSAwOwoJaW50IGludHZhbDsKCglpZiAoIWRldikKCQlyZXR1cm4gLUVJTlZBTDsKCglz
d2l0Y2ggKGNtZCkgewoJCWNhc2UgQkxLUk9TRVQ6CgkJCWlmICghY2FwYWJsZShDQVBfU1lTX0FE
TUlOKSkKCQkJCXJldHVybiAtRUFDQ0VTOwoJCQlpZiAoZ2V0X3VzZXIoaW50dmFsLCAoaW50ICop
KGFyZykpKQoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCXNldF9kZXZpY2Vfcm8oZGV2LCBpbnR2YWwp
OwoJCQlyZXR1cm4gMDsKCQljYXNlIEJMS1JPR0VUOgoJCQlpbnR2YWwgPSAoaXNfcmVhZF9vbmx5
KGRldikgIT0gMCk7CgkJCXJldHVybiBwdXRfdXNlcihpbnR2YWwsIChpbnQgKikoYXJnKSk7CgoJ
CWNhc2UgQkxLUkFTRVQ6CgkJCWlmKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQoJCQkJcmV0dXJu
IC1FQUNDRVM7CgkJCWlmKGFyZyA+IDB4ZmYpCgkJCQlyZXR1cm4gLUVJTlZBTDsKCQkJcmVhZF9h
aGVhZFtNQUpPUihkZXYpXSA9IGFyZzsKCQkJcmV0dXJuIDA7CgkJY2FzZSBCTEtSQUdFVDoKCQkJ
aWYgKCFhcmcpCgkJCQlyZXR1cm4gLUVJTlZBTDsKCQkJcmV0dXJuIHB1dF91c2VyKHJlYWRfYWhl
YWRbTUFKT1IoZGV2KV0sIChsb25nICopIGFyZyk7CgoJCWNhc2UgQkxLRkxTQlVGOgoJCQlpZigh
Y2FwYWJsZShDQVBfU1lTX0FETUlOKSkKCQkJCXJldHVybiAtRUFDQ0VTOwoJCQlmc3luY19kZXYo
ZGV2KTsKCQkJaW52YWxpZGF0ZV9idWZmZXJzKGRldik7CgkJCXJldHVybiAwOwoKCQljYXNlIEJM
S1NTWkdFVDoKCQkJLyogZ2V0IGJsb2NrIGRldmljZSBzZWN0b3Igc2l6ZSBhcyBuZWVkZWQgZS5n
LiBieSBmZGlzayAqLwoJCQlpbnR2YWwgPSBnZXRfaGFyZHNlY3Rfc2l6ZShkZXYpOwoJCQlyZXR1
cm4gcHV0X3VzZXIoaW50dmFsLCAoaW50ICopIGFyZyk7CgoJCWNhc2UgQkxLR0VUU0laRToKCQlj
YXNlIEJMS0dFVFNJWkU2NDoKCQkJZyA9IGdldF9nZW5kaXNrKGRldik7CgkJCWlmIChnKQoJCQkJ
dWxsdmFsID0gZy0+cGFydFtNSU5PUihkZXYpXS5ucl9zZWN0czsKCgkJCWlmIChjbWQgPT0gQkxL
R0VUU0laRSkKCQkJCXJldHVybiBwdXRfdXNlcigodW5zaWduZWQgbG9uZyl1bGx2YWwsICh1bnNp
Z25lZCBsb25nICopYXJnKTsKCQkJZWxzZQoJCQkJcmV0dXJuIHB1dF91c2VyKHVsbHZhbCA8PCA5
LCAodTY0ICopYXJnKTsKI2lmIDAKCQljYXNlIEJMS1JSUEFSVDogLyogUmUtcmVhZCBwYXJ0aXRp
b24gdGFibGVzICovCgkJCWlmICghY2FwYWJsZShDQVBfU1lTX0FETUlOKSkgCgkJCQlyZXR1cm4g
LUVBQ0NFUzsKCQkJcmV0dXJuIHJlcmVhZF9wYXJ0aXRpb25zKGRldiwgMSk7CiNlbmRpZgoKCQlj
YXNlIEJMS1BHOgoJCQlyZXR1cm4gYmxrcGdfaW9jdGwoZGV2LCAoc3RydWN0IGJsa3BnX2lvY3Rs
X2FyZyAqKSBhcmcpOwoJCQkKCQljYXNlIEJMS0VMVkdFVDoKCQkJcmV0dXJuIGJsa2VsdmdldF9p
b2N0bCgmYmxrX2dldF9xdWV1ZShkZXYpLT5lbGV2YXRvciwKCQkJCQkgICAgICAgKGJsa2Vsdl9p
b2N0bF9hcmdfdCAqKSBhcmcpOwoJCWNhc2UgQkxLRUxWU0VUOgoJCQlyZXR1cm4gYmxrZWx2c2V0
X2lvY3RsKCZibGtfZ2V0X3F1ZXVlKGRldiktPmVsZXZhdG9yLAoJCQkJCSAgICAgICAoYmxrZWx2
X2lvY3RsX2FyZ190ICopIGFyZyk7CgoJCWNhc2UgQkxLQlNaR0VUOgoJCQkvKiBnZXQgdGhlIGxv
Z2ljYWwgYmxvY2sgc2l6ZSAoY2YuIEJMS1NTWkdFVCkgKi8KCQkJaW50dmFsID0gQkxPQ0tfU0la
RTsKCQkJaWYgKGJsa3NpemVfc2l6ZVtNQUpPUihkZXYpXSkKCQkJCWludHZhbCA9IGJsa3NpemVf
c2l6ZVtNQUpPUihkZXYpXVtNSU5PUihkZXYpXTsKCQkJcmV0dXJuIHB1dF91c2VyIChpbnR2YWws
IChpbnQgKikgYXJnKTsKCgkJY2FzZSBCTEtCU1pTRVQ6CgkJCS8qIHNldCB0aGUgbG9naWNhbCBi
bG9jayBzaXplICovCgkJCWlmICghY2FwYWJsZSAoQ0FQX1NZU19BRE1JTikpCgkJCQlyZXR1cm4g
LUVBQ0NFUzsKCQkJaWYgKCFkZXYgfHwgIWFyZykKCQkJCXJldHVybiAtRUlOVkFMOwoJCQlpZiAo
Z2V0X3VzZXIgKGludHZhbCwgKGludCAqKSBhcmcpKQoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCWlm
IChpbnR2YWwgPiBQQUdFX1NJWkUgfHwgaW50dmFsIDwgNTEyIHx8CgkJCSAgICAoaW50dmFsICYg
KGludHZhbCAtIDEpKSkKCQkJCXJldHVybiAtRUlOVkFMOwoJCQlpZiAoaXNfbW91bnRlZCAoZGV2
KSB8fCBpc19zd2FwX3BhcnRpdGlvbiAoZGV2KSkKCQkJCXJldHVybiAtRUJVU1k7CgkJCXNldF9i
bG9ja3NpemUgKGRldiwgaW50dmFsKTsKCQkJcmV0dXJuIDA7CgoJCWRlZmF1bHQ6CgkJCXJldHVy
biAtRUlOVkFMOwoJfQp9CgpFWFBPUlRfU1lNQk9MKGJsa19pb2N0bCk7Cg==


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