[issue1770] Patch for i386 to use bsrl for libc fls().
--===============1117214525==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Venkatesh Srinivas <me@acm.jhu.edu> added the comment:
Correct a whilespace issue when patch is used.
_____________________________________________________
DragonFly issue tracker <bugs@lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1770>
_____________________________________________________
--===============1117214525==
Content-Type: text/x-patch
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="0001-libc-Add-assembler-ffs-fls-ffsl-flsl-to-i386.patch"
RnJvbSBjYWFlZTc0NWE5YTk4YmI3OTRhNWViYTkyOGRlMTJhYjk1MzA3M2FjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBWZW5rYXRlc2ggU3Jpbml2YXMgPG1lQGVuZGVhdm91ci56YXB0
by5vcmc+CkRhdGU6IFdlZCwgMjYgTWF5IDIwMTAgMDE6MDg6NTQgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBsaWJjOiBBZGQgYXNzZW1ibGVyIGZmcywgZmZzbCwgZmxzLCBmbHNsIHRvIGkzODYgYW5k
IHg4Nl82NC4KCi0tLQogbGliL2xpYmMvaTM4Ni9zdHJpbmcvTWFrZWZpbGUuaW5jICAgfCAgICA2
ICsrLS0KIGxpYi9saWJjL2kzODYvc3RyaW5nL2Zmcy5TICAgICAgICAgIHwgICAgNCArKysKIGxp
Yi9saWJjL2kzODYvc3RyaW5nL2Zmc2wuUyAgICAgICAgIHwgICAgMiArCiBsaWIvbGliYy9pMzg2
L3N0cmluZy9mbHMuUyAgICAgICAgICB8ICAgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIGxpYi9saWJjL2kzODYvc3RyaW5nL2Zsc2wuUyAgICAgICAgIHwgICAgMiArCiBs
aWIvbGliYy94ODZfNjQvc3RyaW5nL01ha2VmaWxlLmluYyB8ICAgIDQgKy0KIGxpYi9saWJjL3g4
Nl82NC9zdHJpbmcvZmZzLlMgICAgICAgIHwgICAzOCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrCiBsaWIvbGliYy94ODZfNjQvc3RyaW5nL2Zmc2wuUyAgICAgICB8ICAgMzggKysrKysrKysr
KysrKysrKysrKysrKysrKysrKwogbGliL2xpYmMveDg2XzY0L3N0cmluZy9mbHMuUyAgICAgICAg
fCAgIDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9saWJjL3g4Nl82NC9zdHJp
bmcvZmxzbC5TICAgICAgIHwgICAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxMCBm
aWxlcyBjaGFuZ2VkLCAyMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBsaWIvbGliYy9pMzg2L3N0cmluZy9mZnNsLlMKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBsaWIvbGliYy9pMzg2L3N0cmluZy9mbHMuUwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9saWJj
L2kzODYvc3RyaW5nL2Zsc2wuUwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9saWJjL3g4Nl82NC9z
dHJpbmcvZmZzLlMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvbGliYy94ODZfNjQvc3RyaW5nL2Zm
c2wuUwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9saWJjL3g4Nl82NC9zdHJpbmcvZmxzLlMKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBsaWIvbGliYy94ODZfNjQvc3RyaW5nL2Zsc2wuUwoKZGlmZiAtLWdp
dCBhL2xpYi9saWJjL2kzODYvc3RyaW5nL01ha2VmaWxlLmluYyBiL2xpYi9saWJjL2kzODYvc3Ry
aW5nL01ha2VmaWxlLmluYwppbmRleCA3YTE0OThhLi5mMzQ5NGNhIDEwMDY0NAotLS0gYS9saWIv
bGliYy9pMzg2L3N0cmluZy9NYWtlZmlsZS5pbmMKKysrIGIvbGliL2xpYmMvaTM4Ni9zdHJpbmcv
TWFrZWZpbGUuaW5jCkBAIC0yLDYgKzIsNiBAQAogIyAkRnJlZUJTRDogc3JjL2xpYi9saWJjL2kz
ODYvc3RyaW5nL01ha2VmaWxlLmluYyx2IDEuOSAxOTk5LzA4LzI3IDIzOjU5OjI5IHBldGVyIEV4
cCAkCiAjICREcmFnb25GbHk6IHNyYy9saWIvbGliYy9pMzg2L3N0cmluZy9NYWtlZmlsZS5pbmMs
diAxLjIgMjAwMy8wNi8xNyAwNDoyNjo0MyBkaWxsb24gRXhwICQKIAotTURTUkNTKz1iY21wLlMg
YmNvcHkuUyBiemVyby5TIGZmcy5TIGluZGV4LlMgbWVtY2hyLlMgbWVtY21wLlMgbWVtY3B5LlMg
XAotCW1lbW1vdmUuUyBtZW1zZXQuUyByaW5kZXguUyBzdHJjYXQuUyBzdHJjaHIuUyBzdHJjbXAu
UyBzdHJjcHkuUyBcCi0Jc3RybGVuLlMgc3RybmNtcC5TIHN0cnJjaHIuUyBzd2FiLlMKK01EU1JD
Uys9YmNtcC5TIGJjb3B5LlMgYnplcm8uUyBmZnMuUyBmZnNsLlMgZmxzLlMgZmxzbC5TIGluZGV4
LlMgbWVtY2hyLlMgXAorCW1lbWNtcC5TIG1lbWNweS5TIG1lbW1vdmUuUyBtZW1zZXQuUyByaW5k
ZXguUyBzdHJjYXQuUyBzdHJjaHIuUyBcCisJc3RyY21wLlMgc3RyY3B5LlMgc3RybGVuLlMgc3Ry
bmNtcC5TIHN0cnJjaHIuUyBzd2FiLlMKZGlmZiAtLWdpdCBhL2xpYi9saWJjL2kzODYvc3RyaW5n
L2Zmcy5TIGIvbGliL2xpYmMvaTM4Ni9zdHJpbmcvZmZzLlMKaW5kZXggNTI4N2ExNi4uZGJlZDhk
YyAxMDA2NDQKLS0tIGEvbGliL2xpYmMvaTM4Ni9zdHJpbmcvZmZzLlMKKysrIGIvbGliL2xpYmMv
aTM4Ni9zdHJpbmcvZmZzLlMKQEAgLTQ0LDcgKzQ0LDExIEBACiAgKglKLlQuIENvbmtsaW4gKGp0
Y0B3aW1zZXkuY29tKSwgV2lubmluZyBTdHJhdGVnaWVzLCBJbmMuCiAgKi8KIAorI2lmZGVmIEZG
U0wKK0VOVFJZKGZmc2wpCisjZWxzZQogRU5UUlkoZmZzKQorI2VuZGlmCiAJYnNmbAk0KCVlc3Ap
LCVlYXgKIAlqeglMMQkgCQkvKiBaRiBpcyBzZXQgaWYgYWxsIGJpdHMgYXJlIDAgKi8KIAlpbmNs
CSVlYXgJCQkvKiBiaXRzIG51bWJlcmVkIGZyb20gMSwgbm90IDAgKi8KZGlmZiAtLWdpdCBhL2xp
Yi9saWJjL2kzODYvc3RyaW5nL2Zmc2wuUyBiL2xpYi9saWJjL2kzODYvc3RyaW5nL2Zmc2wuUwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmEzNzViCi0tLSAvZGV2L251bGwK
KysrIGIvbGliL2xpYmMvaTM4Ni9zdHJpbmcvZmZzbC5TCkBAIC0wLDAgKzEsMiBAQAorI2RlZmlu
ZSBGRlNMCisjaW5jbHVkZSAiZmZzLlMiCmRpZmYgLS1naXQgYS9saWIvbGliYy9pMzg2L3N0cmlu
Zy9mbHMuUyBiL2xpYi9saWJjL2kzODYvc3RyaW5nL2Zscy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjU2NDdiZDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvbGliYy9pMzg2
L3N0cmluZy9mbHMuUwpAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEw
IFRoZSBEcmFnb25GbHkgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91Z2ggc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisg
KiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJERUZTLmgiCisKKy8qCisgKiBmbHModmFsdWUpCisgKiAJRmluZHMgdGhlIGhpZ2hl
c3Qgc2V0IGJpdCBpbiBhIHdvcmQuIEJpdHMgYXJlIG51bWJlcmVkIGZyb20gMTsKKyAqCWEgcmV0
dXJuIG9mIDAgaW5kaWNhdGVzIHRoYXQgdGhlIHdvcmQgd2FzIDAuCisgKi8KKyNpZmRlZiBGTFNM
CitFTlRSWShmbHNsKQorI2Vsc2UKK0VOVFJZKGZscykKKyNlbmRpZgorCWJzcmwJNCglZXNwKSwl
ZWF4CisJanoJTDEKKwlhZGRsCSQxLCVlYXgKKwlyZXQKKworTDE6CXhvcmwJJWVheCwgJWVheAor
CXJldApkaWZmIC0tZ2l0IGEvbGliL2xpYmMvaTM4Ni9zdHJpbmcvZmxzbC5TIGIvbGliL2xpYmMv
aTM4Ni9zdHJpbmcvZmxzbC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMw
NmM0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvbGliYy9pMzg2L3N0cmluZy9mbHNsLlMKQEAg
LTAsMCArMSwyIEBACisjZGVmaW5lIEZMU0wKKyNpbmNsdWRlICJmbHMuUyIKZGlmZiAtLWdpdCBh
L2xpYi9saWJjL3g4Nl82NC9zdHJpbmcvTWFrZWZpbGUuaW5jIGIvbGliL2xpYmMveDg2XzY0L3N0
cmluZy9NYWtlZmlsZS5pbmMKaW5kZXggYWM1ODVhNC4uZDAwYjQ2MSAxMDA2NDQKLS0tIGEvbGli
L2xpYmMveDg2XzY0L3N0cmluZy9NYWtlZmlsZS5pbmMKKysrIGIvbGliL2xpYmMveDg2XzY0L3N0
cmluZy9NYWtlZmlsZS5pbmMKQEAgLTEsNCArMSw0IEBACiAjICRGcmVlQlNEOiBzcmMvbGliL2xp
YmMvYW1kNjQvc3RyaW5nL01ha2VmaWxlLmluYyx2IDEuNSAyMDA1LzA0LzEwIDE4OjU4OjQ5IGFs
YyBFeHAgJAogCi1NRFNSQ1MrPSBiY21wLlMgYmNvcHkuUyBiemVyby5TIG1lbWNtcC5TIG1lbWNw
eS5TIG1lbW1vdmUuUyBtZW1zZXQuUyBcCi0Jc3RyY2F0LlMgc3RyY21wLlMgc3RyY3B5LlMKK01E
U1JDUys9IGJjbXAuUyBiY29weS5TIGJ6ZXJvLlMgZmZzLlMgZmZzbC5TIGZscy5TIGZsc2wuUyBt
ZW1jbXAuUyBtZW1jcHkuUyBcCisJbWVtbW92ZS5TIG1lbXNldC5TIHN0cmNhdC5TIHN0cmNtcC5T
IHN0cmNweS5TIApkaWZmIC0tZ2l0IGEvbGliL2xpYmMveDg2XzY0L3N0cmluZy9mZnMuUyBiL2xp
Yi9saWJjL3g4Nl82NC9zdHJpbmcvZmZzLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNmU2ZWI4MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9saWJjL3g4Nl82NC9zdHJpbmcv
ZmZzLlMKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBUaGUgRHJh
Z29uRmx5IFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBU
aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdWdoIHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKgorICogZmZz
KHZhbHVlKQorICogCUZpbmRzIHRoZSBsb3dlc3Qgc2V0IGJpdCBpbiBhIHdvcmQuIEJpdHMgYXJl
IG51bWJlcmVkIGZyb20gMTsKKyAqCWEgcmV0dXJuIG9mIDAgaW5kaWNhdGVzIHRoYXQgdGhlIHdv
cmQgd2FzIDAuCisgKi8KK0VOVFJZKGZmcykKKwltb3ZsCSQtMSwgJWVjeAorCWJzZmwJJWVkaSwl
ZWF4CisJY21vdnpsCSVlY3gsICVlYXgKKwlhZGRsCSQxLCAlZWF4CisJcmV0CmRpZmYgLS1naXQg
YS9saWIvbGliYy94ODZfNjQvc3RyaW5nL2Zmc2wuUyBiL2xpYi9saWJjL3g4Nl82NC9zdHJpbmcv
ZmZzbC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4Nzk2Y2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9saWIvbGliYy94ODZfNjQvc3RyaW5nL2Zmc2wuUwpAQCAtMCwwICsxLDM4
IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwIFRoZSBEcmFnb25GbHkgUHJvamVjdAorICog
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRo
b3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91Z2ggc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVU
SE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAq
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8qCisgKiBmZnNsKHZhbHVlKQorICogCUZpbmRz
IHRoZSBoaWdoZXN0IHNldCBiaXQgaW4gYSB3b3JkLiBCaXRzIGFyZSBudW1iZXJlZCBmcm9tIDE7
CisgKglhIHJldHVybiBvZiAwIGluZGljYXRlcyB0aGF0IHRoZSB3b3JkIHdhcyAwLgorICovCitF
TlRSWShmZnNsKQorCW1vdnEJJC0xLCAlcmN4CisJYnNmcQklcmRpLCVyYXgKKwljbW92enEJJXJj
eCwgJXJheAorCWFkZHEJJDEsICVyYXgKKwlyZXQKZGlmZiAtLWdpdCBhL2xpYi9saWJjL3g4Nl82
NC9zdHJpbmcvZmxzLlMgYi9saWIvbGliYy94ODZfNjQvc3RyaW5nL2Zscy5TCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3MTZiYjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWIv
bGliYy94ODZfNjQvc3RyaW5nL2Zscy5TCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKGMpIDIwMTAgVGhlIERyYWdvbkZseSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3VnaCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBB
TlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworLyoKKyAqIGZscyh2YWx1ZSkKKyAqIAlGaW5kcyB0aGUgaGlnaGVzdCBzZXQgYml0
IGluIGEgd29yZC4gQml0cyBhcmUgbnVtYmVyZWQgZnJvbSAxOworICoJYSByZXR1cm4gb2YgMCBp
bmRpY2F0ZXMgdGhhdCB0aGUgd29yZCB3YXMgMC4KKyAqLworRU5UUlkoZmxzKQorCW1vdmwJJC0x
LCAlZWN4CisJYnNybAklZWRpLCVlYXgKKwljbW92emwJJWVjeCwgJWVheAorCWFkZGwJJDEsICVl
YXgKKwlyZXQKZGlmZiAtLWdpdCBhL2xpYi9saWJjL3g4Nl82NC9zdHJpbmcvZmxzbC5TIGIvbGli
L2xpYmMveDg2XzY0L3N0cmluZy9mbHNsLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNTI2NDA0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9saWJjL3g4Nl82NC9zdHJpbmcv
ZmxzbC5TCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgVGhlIERy
YWdvbkZseSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4g
VGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3VnaCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICog
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoKKyAqIGZs
c2wodmFsdWUpCisgKiAJRmluZHMgdGhlIGhpZ2hlc3Qgc2V0IGJpdCBpbiBhIHdvcmQuIEJpdHMg
YXJlIG51bWJlcmVkIGZyb20gMTsKKyAqCWEgcmV0dXJuIG9mIDAgaW5kaWNhdGVzIHRoYXQgdGhl
IHdvcmQgd2FzIDAuCisgKi8KK0VOVFJZKGZsc2wpCisJbW92cQkkLTEsICVyY3gKKwlic3JxCSVy
ZGksJXJheAorCWNtb3Z6cQklcmN4LCAlcmF4CisJYWRkcQkkMSwgJXJheAorCXJldAotLSAKMS42
LjAuNAoK
--===============1117214525==--
討論串 (同標題文章)
完整討論串 (本文為第 5 之 9 篇):