bin/174011: [patch] crunchide support non-custom elf object layout
pete
petechou at gmail.com
Mon Dec 3 10:40:01 UTC 2012
The following reply was made to PR bin/174011; it has been noted by GNATS.
From: pete <petechou at gmail.com>
To: bug-followup at freebsd.org
Cc:
Subject: Re: bin/174011: [patch] crunchide support non-custom elf object layout
Date: Mon, 3 Dec 2012 18:29:33 +0800
--f46d04016a757b39d004cff03ba1
Content-Type: multipart/alternative; boundary=f46d04016a757b39c904cff03b9f
--f46d04016a757b39c904cff03b9f
Content-Type: text/plain; charset=ISO-8859-1
Clean up style(9) nits.
--f46d04016a757b39c904cff03b9f
Content-Type: text/html; charset=ISO-8859-1
Clean up style(9) nits.
--f46d04016a757b39c904cff03b9f--
--f46d04016a757b39d004cff03ba1
Content-Type: text/plain; charset=US-ASCII; name="patch-2.txt"
Content-Disposition: attachment; filename="patch-2.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ha9g4gx50
ZGlmZiAtLWdpdCBleGVjX2VsZjMyLmMgZXhlY19lbGYzMi5jCmluZGV4IDBlYWUzMWEuLjgyYzY2
MDUgMTAwNjQ0Ci0tLSBleGVjX2VsZjMyLmMKKysrIGV4ZWNfZWxmMzIuYwpAQCAtNDUsNiArNDUs
NyBAQCBfX0ZCU0RJRCgiJEZyZWVCU0Q6IHJlbGVhc2UvOS4wLjAvdXNyLnNiaW4vY3J1bmNoL2Ny
dW5jaGlkZS9leGVjX2VsZjMyLmMgMjExMjIyCiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KIAogI2lu
Y2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4K
ICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTgyLDExICs4Myw5
IEBAIF9fRkJTRElEKCIkRnJlZUJTRDogcmVsZWFzZS85LjAuMC91c3Iuc2Jpbi9jcnVuY2gvY3J1
bmNoaWRlL2V4ZWNfZWxmMzIuYyAyMTEyMjIKICNkZWZpbmUJeGUzMnRvaCh4KQkoKGRhdGEgPT0g
RUxGREFUQTJNU0IpID8gYmUzMnRvaCh4KSA6IGxlMzJ0b2goeCkpCiAjZGVmaW5lCWh0b3hlMzIo
eCkJKChkYXRhID09IEVMRkRBVEEyTVNCKSA/IGh0b2JlMzIoeCkgOiBodG9sZTMyKHgpKQogCi1z
dHJ1Y3QgbGlzdGVsZW0gewotCXN0cnVjdCBsaXN0ZWxlbSAqbmV4dDsKLQl2b2lkICptZW07Ci0J
b2ZmX3QgZmlsZTsKLQlzaXplX3Qgc2l6ZTsKK3N0cnVjdCBzaGxheW91dCB7CisJRWxmX1NoZHIg
KnNoZHI7CisJdm9pZAkqYnVmcDsKIH07CiAKIHN0YXRpYyBzc2l6ZV90CkBAIC0yMzUsMTYgKzIz
NCwxNyBAQCBpbnQKIEVMRk5BTUVFTkQoaGlkZSkoaW50IGZkLCBjb25zdCBjaGFyICpmbikKIHsK
IAlFbGZfRWhkciBlaGRyOwotCUVsZl9TaGRyICpzaGRycCA9IE5VTEwsICpzeW10YWJzaGRyLCAq
c3RydGFic2hkcjsKKwlzdHJ1Y3Qgc2hsYXlvdXQgKmxheW91dHA7CisJRWxmX1NoZHIgKnNoZHJw
ID0gTlVMTCwgKnN5bXRhYnNoZHIsICpzdHJ0YWJzaGRyLCAqc2hzdHJ0YWJzaGRyOworCUVsZl9T
aGRyIHNoZHJzaGRyOwogCUVsZl9TeW0gKnN5bXRhYnAgPSBOVUxMOwotCWNoYXIgKnN0cnRhYnAg
PSBOVUxMOworCWNoYXIgKnNoc3RydGFicCA9IE5VTEwsICpzdHJ0YWJwID0gTlVMTDsKIAlFbGZf
U2l6ZSAgbnN5bXMsIG5sb2NhbHN5bXMsIGV3aTsKIAlzc2l6ZV90IHNoZHJzaXplOwogCWludCBy
diwgaSwgd2VpcmQ7CiAJc2l6ZV90IG5zdHJ0YWJfc2l6ZSwgbnN0cnRhYl9uZXh0b2ZmLCBmbl9z
aXplOwogCWNoYXIgKm5zdHJ0YWJwID0gTlVMTDsKIAl1bnNpZ25lZCBjaGFyIGRhdGE7Ci0JRWxm
X09mZiBtYXhvZmYsIHN0cm9mZjsKIAljb25zdCBjaGFyICp3ZWlyZHJlYXNvbiA9IE5VTEw7CiAK
IAlydiA9IDA7CkBAIC0yNjAsNjIgKzI2MCwxMTUgQEAgRUxGTkFNRUVORChoaWRlKShpbnQgZmQs
IGNvbnN0IGNoYXIgKmZuKQogCSAgICBzaGRyc2l6ZSkKIAkJZ290byBiYWQ7CiAKLQlzeW10YWJz
aGRyID0gc3RydGFic2hkciA9IE5VTEw7CisJc3ltdGFic2hkciA9IHN0cnRhYnNoZHIgPSBzaHN0
cnRhYnNoZHIgPSBOVUxMOwogCXdlaXJkID0gMDsKLQltYXhvZmYgPSBzdHJvZmYgPSAwOwogCWZv
ciAoaSA9IDA7IGkgPCB4ZTE2dG9oKGVoZHIuZV9zaG51bSk7IGkrKykgewotCQlpZiAoeGV3dG9o
KHNoZHJwW2ldLnNoX29mZnNldCkgPiBtYXhvZmYpCi0JCQltYXhvZmYgPSB4ZXd0b2goc2hkcnBb
aV0uc2hfb2Zmc2V0KTsKIAkJc3dpdGNoICh4ZTMydG9oKHNoZHJwW2ldLnNoX3R5cGUpKSB7CiAJ
CWNhc2UgU0hUX1NZTVRBQjoKIAkJCWlmIChzeW10YWJzaGRyICE9IE5VTEwpCiAJCQkJd2VpcmQg
PSAxOwogCQkJc3ltdGFic2hkciA9ICZzaGRycFtpXTsKIAkJCXN0cnRhYnNoZHIgPSAmc2hkcnBb
eGUzMnRvaChzaGRycFtpXS5zaF9saW5rKV07Ci0KLQkJCS8qIENoZWNrIHdoZXRoZXIgdGhlIHN0
cmluZyB0YWJsZSBpcyB0aGUgbGFzdCBzZWN0aW9uICovCi0JCQlzdHJvZmYgPSB4ZXd0b2goc2hk
cnBbeGUzMnRvaChzaGRycFtpXS5zaF9saW5rKV0uc2hfb2Zmc2V0KTsKLQkJCWlmICghd2VpcmQg
JiYgeGUzMnRvaChzaGRycFtpXS5zaF9saW5rKSAhPSAoeGUxNnRvaChlaGRyLmVfc2hudW0pIC0g
MSkpIHsKLQkJCQl3ZWlyZCA9IDE7Ci0JCQkJd2VpcmRyZWFzb24gPSAic3RyaW5nIHRhYmxlIG5v
dCBsYXN0IHNlY3Rpb24iOwotCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgU0hUX1NUUlRBQjoKKwkJ
CWlmIChpID09IHhlMTZ0b2goZWhkci5lX3Noc3RybmR4KSkKKwkJCQlzaHN0cnRhYnNoZHIgPSAm
c2hkcnBbaV07CiAJCQlicmVhazsKIAkJfQogCX0KIAlpZiAoISB3ZWlyZHJlYXNvbikKIAkJd2Vp
cmRyZWFzb24gPSAidW5zdXBwb3J0ZWQiOwotCWlmIChzeW10YWJzaGRyID09IE5VTEwpCi0JCWdv
dG8gb3V0OwotCWlmIChzdHJ0YWJzaGRyID09IE5VTEwpCi0JCXdlaXJkID0gMTsKLQlpZiAoIXdl
aXJkICYmIHN0cm9mZiAhPSBtYXhvZmYpIHsKKwlpZiAoc3ltdGFic2hkciA9PSBOVUxMIHx8IHN0
cnRhYnNoZHIgPT0gTlVMTCB8fCBzaHN0cnRhYnNoZHIgPT0gTlVMTCkKIAkJd2VpcmQgPSAxOwot
CQl3ZWlyZHJlYXNvbiA9ICJzdHJpbmcgdGFibGUgc2VjdGlvbiBub3QgbGFzdCBpbiBmaWxlIjsK
LQl9ICAgCiAJaWYgKHdlaXJkKSB7CiAJCWZwcmludGYoc3RkZXJyLCAiJXM6IHdlaXJkIGV4ZWN1
dGFibGUgKCVzKVxuIiwgZm4sIHdlaXJkcmVhc29uKTsKIAkJZ290byBiYWQ7CiAJfQogCiAJLyoK
KwkgKiBzb3J0IHNlY3Rpb24gbGF5b3V0IHRhYmxlIGJ5IG9mZnNldAorCSAqLworCWxheW91dHAg
PSB4bWFsbG9jKHNpemVvZihzdHJ1Y3Qgc2hsYXlvdXQpICogKHhlMTZ0b2goZWhkci5lX3NobnVt
KSArIDEpLAorCSAgICBmbiwgImxheW91dCB0YWJsZSIpOworCWlmIChsYXlvdXRwID09IE5VTEwp
CisJCWdvdG8gYmFkOworCisJLyogYWRkIGEgcHNldWRvIGVudHJ5IHRvIHJlcHJlc2VudCB0aGUg
c2VjdGlvbiBoZWFkZXIgdGFibGUgKi8KKwlzaGRyc2hkci5zaF9vZmZzZXQgPSBlaGRyLmVfc2hv
ZmY7CisJc2hkcnNoZHIuc2hfc2l6ZSA9IGh0b3hldyhzaGRyc2l6ZSk7CisJc2hkcnNoZHIuc2hf
YWRkcmFsaWduID0gaHRveGV3KEVMRlNJWkUgLyA4KTsKKwlsYXlvdXRwWzBdLnNoZHIgPSAmc2hk
cnNoZHI7CisKKwkvKiBpbnNlcnQgYW5kIHNvcnQgbm9ybWFsIHNlY3Rpb24gaGVhZGVycyAqLwor
CWZvciAoaSA9IDA7IGkgPCB4ZTE2dG9oKGVoZHIuZV9zaG51bSk7IGkrKykgeworCQlpbnQgbCA9
IDAsIHIgPSBpLCBtOworCQl3aGlsZSAobCA8PSByKSB7CisJCQltID0gKCBsICsgcikgLyAyOwor
CQkJaWYgKHhld3RvaChzaGRycFtpXS5zaF9vZmZzZXQpIDwKKwkJCSAgICB4ZXd0b2gobGF5b3V0
cFttXS5zaGRyLT5zaF9vZmZzZXQpKQorCQkJCXIgPSBtIC0gMTsKKwkJCWVsc2UKKwkJCQlsID0g
bSArIDE7CisJCX0KKworCQlpZiAobCAhPSBpICsgMSkgeworCQkJbWVtbW92ZSgmbGF5b3V0cFts
ICsgMV0sICZsYXlvdXRwW2xdLAorCQkJICAgIHNpemVvZihzdHJ1Y3Qgc2hsYXlvdXQpICogKGkg
LSBsICsgMSkpOworCQl9CisKKwkJbGF5b3V0cFtsXS5zaGRyID0gJnNoZHJwW2ldOworCQlsYXlv
dXRwW2xdLmJ1ZnAgPSBOVUxMOworCX0KKworCS8qCiAJICogbG9hZCB1cCBldmVyeXRoaW5nIHdl
IG5lZWQKIAkgKi8KIAotCS8qIHN5bWJvbCB0YWJsZSAqLwotCWlmICgoc3ltdGFicCA9IHhtYWxs
b2MoeGV3dG9oKHN5bXRhYnNoZHItPnNoX3NpemUpLCBmbiwgInN5bWJvbCB0YWJsZSIpKQotCSAg
ICA9PSBOVUxMKQorCS8qIGxvYWQgc2VjdGlvbiBzdHJpbmcgdGFibGUgZm9yIGRlYnVnIHVzZSAq
LworCWlmICgoc2hzdHJ0YWJwID0geG1hbGxvYyh4ZXd0b2goc2hzdHJ0YWJzaGRyLT5zaF9zaXpl
KSwgZm4sCisJICAgICJzZWN0aW9uIHN0cmluZyB0YWJsZSIpKSA9PSBOVUxMKQogCQlnb3RvIGJh
ZDsKLQlpZiAoeHJlYWRhdG9mZihmZCwgc3ltdGFicCwgeGV3dG9oKHN5bXRhYnNoZHItPnNoX29m
ZnNldCksCi0JICAgIHhld3RvaChzeW10YWJzaGRyLT5zaF9zaXplKSwgZm4pICE9IHhld3RvaChz
eW10YWJzaGRyLT5zaF9zaXplKSkKKwlpZiAoeHJlYWRhdG9mZihmZCwgc2hzdHJ0YWJwLCB4ZXd0
b2goc2hzdHJ0YWJzaGRyLT5zaF9vZmZzZXQpLAorCSAgICB4ZXd0b2goc2hzdHJ0YWJzaGRyLT5z
aF9zaXplKSwgZm4pICE9IHhld3RvaChzaHN0cnRhYnNoZHItPnNoX3NpemUpKQogCQlnb3RvIGJh
ZDsKIAotCS8qIHN0cmluZyB0YWJsZSAqLwotCWlmICgoc3RydGFicCA9IHhtYWxsb2MoeGV3dG9o
KHN0cnRhYnNoZHItPnNoX3NpemUpLCBmbiwgInN0cmluZyB0YWJsZSIpKQotCSAgICA9PSBOVUxM
KQotCQlnb3RvIGJhZDsKLQlpZiAoeHJlYWRhdG9mZihmZCwgc3RydGFicCwgeGV3dG9oKHN0cnRh
YnNoZHItPnNoX29mZnNldCksCi0JICAgIHhld3RvaChzdHJ0YWJzaGRyLT5zaF9zaXplKSwgZm4p
ICE9IHhld3RvaChzdHJ0YWJzaGRyLT5zaF9zaXplKSkKLQkJZ290byBiYWQ7CisJLyogd2UgbmVl
ZCBzeW10YWIsIHN0cnRhYiwgYW5kIGV2ZXJ5dGhpbmcgYmVoaW5kIHN0cnRhYiAqLworCWZvciAo
aSA9IDA7IGkgPCB4ZTE2dG9oKGVoZHIuZV9zaG51bSkgKyAxOyBpKyspIHsKKwkJRWxmX09mZiBv
ZmY7CisJCXNpemVfdCBzaXplOworCQlzdGF0aWMgaW50IHN0cnRhYmlkeCA9IElOVF9NQVg7CisK
KwkJaWYgKGxheW91dHBbaV0uc2hkciA9PSAmc2hkcnNoZHIpIHsKKwkJCS8qIG5vdCBsb2FkIHNl
Y3Rpb24gaGVhZGVyIGFnYWluICovCisJCQlsYXlvdXRwW2ldLmJ1ZnAgPSBzaGRycDsKKwkJCWNv
bnRpbnVlOworCQl9CisJCWlmIChsYXlvdXRwW2ldLnNoZHIgPT0gc2hzdHJ0YWJzaGRyKSB7CisJ
CQkvKiBub3QgbG9hZCBzZWN0aW9uIHN0cmluZyB0YWJsZSBhZ2FpbiAqLworCQkJbGF5b3V0cFtp
XS5idWZwID0gc2hzdHJ0YWJwOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAobGF5b3V0cFtp
XS5zaGRyID09IHN0cnRhYnNoZHIpCisJCQlzdHJ0YWJpZHggPSBpOworCQlpZiAobGF5b3V0cFtp
XS5zaGRyID09IHN5bXRhYnNoZHIgfHwgaSA+PSBzdHJ0YWJpZHgpIHsKKwkJCW9mZiA9IHhld3Rv
aChsYXlvdXRwW2ldLnNoZHItPnNoX29mZnNldCk7CisJCQlzaXplID0geGV3dG9oKGxheW91dHBb
aV0uc2hkci0+c2hfc2l6ZSk7CisJCQlsYXlvdXRwW2ldLmJ1ZnAgPSB4bWFsbG9jKHNpemUsIGZu
LAorCQkJICAgIHNoc3RydGFicCArIHhld3RvaChsYXlvdXRwW2ldLnNoZHItPnNoX25hbWUpKTsK
KwkJCWlmIChsYXlvdXRwW2ldLmJ1ZnAgPT0gTlVMTCkKKwkJCQlnb3RvIGJhZDsKKwkJCWlmICh4
cmVhZGF0b2ZmKGZkLCBsYXlvdXRwW2ldLmJ1ZnAsIG9mZiwgc2l6ZSwgZm4pICE9CisJCQkgICAg
c2l6ZSkKKwkJCQlnb3RvIGJhZDsKKworCQkJLyogc2V0IHN5bWJvbCB0YWJsZSBhbmQgc3RyaW5n
IHRhYmxlICovCisJCQlpZiAobGF5b3V0cFtpXS5zaGRyID09IHN5bXRhYnNoZHIpCisJCQkJc3lt
dGFicCA9IGxheW91dHBbaV0uYnVmcDsKKwkJCWVsc2UgaWYgKGxheW91dHBbaV0uc2hkciA9PSBz
dHJ0YWJzaGRyKQorCQkJCXN0cnRhYnAgPSBsYXlvdXRwW2ldLmJ1ZnA7CisJCX0KKwl9CiAKIAlu
c3RydGFiX3NpemUgPSAyNTY7CiAJbnN0cnRhYnAgPSB4bWFsbG9jKG5zdHJ0YWJfc2l6ZSwgZm4s
ICJuZXcgc3RyaW5nIHRhYmxlIik7CkBAIC0zNjYsMjYgKzQxOSw3MSBAQCBFTEZOQU1FRU5EKGhp
ZGUpKGludCBmZCwgY29uc3QgY2hhciAqZm4pCiAJc3RydGFic2hkci0+c2hfc2l6ZSA9IGh0b3hl
dyhuc3RydGFiX25leHRvZmYpOwogCiAJLyoKLQkgKiB3cml0ZSBuZXcgdGFibGVzIHRvIHRoZSBm
aWxlCisJICogdXBkYXRlIHNlY3Rpb24gaGVhZGVyIHRhYmxlIGluIGFzY2VuZGluZyBvcmRlciBv
ZiBvZmZzZXQKIAkgKi8KLQlpZiAoeHdyaXRlYXRvZmYoZmQsIHNoZHJwLCB4ZXd0b2goZWhkci5l
X3Nob2ZmKSwgc2hkcnNpemUsIGZuKSAhPQotCSAgICBzaGRyc2l6ZSkKLQkJZ290byBiYWQ7Ci0J
aWYgKHh3cml0ZWF0b2ZmKGZkLCBzeW10YWJwLCB4ZXd0b2goc3ltdGFic2hkci0+c2hfb2Zmc2V0
KSwKLQkgICAgeGV3dG9oKHN5bXRhYnNoZHItPnNoX3NpemUpLCBmbikgIT0geGV3dG9oKHN5bXRh
YnNoZHItPnNoX3NpemUpKQotCQlnb3RvIGJhZDsKLQkvKiB3cml0ZSBuZXcgc3ltYm9sIHRhYmxl
IHN0cmluZ3MgKi8KLQlpZiAoKHNpemVfdCl4d3JpdGVhdG9mZihmZCwgbnN0cnRhYnAsIHhld3Rv
aChzdHJ0YWJzaGRyLT5zaF9vZmZzZXQpLAotCSAgICB4ZXd0b2goc3RydGFic2hkci0+c2hfc2l6
ZSksIGZuKSAhPSB4ZXd0b2goc3RydGFic2hkci0+c2hfc2l6ZSkpCi0JCWdvdG8gYmFkOworCWZv
ciAoaSA9IDA7IGxheW91dHBbaV0uc2hkciAhPSBzdHJ0YWJzaGRyOyBpKyspCisJCTsKKwlmb3Ig
KDsgaSA8IHhlMTZ0b2goZWhkci5lX3NobnVtKSArIDE7IGkrKykgeworCQlFbGZfT2ZmIG9mZiwg
YWxpZ247CisJCW9mZiA9IHhld3RvaChsYXlvdXRwW2kgLSAxXS5zaGRyLT5zaF9vZmZzZXQpICsK
KwkJICAgIHhld3RvaChsYXlvdXRwW2kgLSAxXS5zaGRyLT5zaF9zaXplKTsKKwkJYWxpZ24gPSB4
ZXd0b2gobGF5b3V0cFtpXS5zaGRyLT5zaF9hZGRyYWxpZ24pOworCQlvZmYgPSAob2ZmICsgKGFs
aWduIC0gMSkpICYgfihhbGlnbiAtIDEpOworCQlsYXlvdXRwW2ldLnNoZHItPnNoX29mZnNldCA9
IGh0b3hldyhvZmYpOworCX0KKworCS8qCisJICogd3JpdGUgZGF0YSB0byB0aGUgZmlsZSBpbiBk
ZXNjZW5kaW5nIG9yZGVyIG9mIG9mZnNldAorCSAqLworCWZvciAoaSA9IHhlMTZ0b2goZWhkci5l
X3NobnVtKTsgaSA+PSAwOyBpLS0pIHsKKwkJdm9pZCAqYnVmOworCQlFbGZfT2ZmIG9mZjsKKwkJ
c2l6ZV90IHNpemU7CisJCXN0YXRpYyBpbnQgc3RydGFiaWR4ID0gSU5UX01JTjsKKworCQlpZiAo
bGF5b3V0cFtpXS5zaGRyID09IHN0cnRhYnNoZHIpIHsKKwkJCXN0cnRhYmlkeCA9IGk7CisJCQkv
KiBuZXcgc3RyaW5nIHRhYmxlICovCisJCQlidWYgPSBuc3RydGFicDsKKwkJfSBlbHNlCisJCQli
dWYgPSBsYXlvdXRwW2ldLmJ1ZnA7CisKKwkJaWYgKGxheW91dHBbaV0uc2hkciA9PSAmc2hkcnNo
ZHIgfHwKKwkJICAgIGxheW91dHBbaV0uc2hkciA9PSBzeW10YWJzaGRyIHx8IGkgPj0gc3RydGFi
aWR4KSB7CisJCQlpZiAoYnVmID09IE5VTEwpCisJCQkJZ290byBiYWQ7CisKKwkJCS8qIAorCQkJ
ICogdXBkYXRlIHRoZSBvZmZzZXQgb2Ygc2VjdGlvbiBoZWFkZXIgdGFibGUgaW4gZWxmCisJCQkg
KiBoZWFkZXIgaWYgbmVlZGVkLgorCQkJICovCisJCQlpZiAobGF5b3V0cFtpXS5zaGRyID09ICZz
aGRyc2hkciAmJgorCQkJICAgIGVoZHIuZV9zaG9mZiAhPSBzaGRyc2hkci5zaF9vZmZzZXQpIHsK
KwkJCQllaGRyLmVfc2hvZmYgPSBzaGRyc2hkci5zaF9vZmZzZXQ7CisJCQkJb2ZmID0gKEVMRlNJ
WkUgPT0gMzIpID8gMzIgOiA0NDsKKwkJCQlzaXplID0gc2l6ZW9mKEVsZl9PZmYpOworCQkJCWlm
ICh4d3JpdGVhdG9mZihmZCwgJmVoZHIuZV9zaG9mZiwgb2ZmLCBzaXplLAorCQkJCSAgICBmbikg
IT0gc2l6ZSkKKwkJCQkJZ290byBiYWQ7CisJCQl9CisKKwkJCW9mZiA9IHhld3RvaChsYXlvdXRw
W2ldLnNoZHItPnNoX29mZnNldCk7CisJCQlzaXplID0geGV3dG9oKGxheW91dHBbaV0uc2hkci0+
c2hfc2l6ZSk7CisJCQlpZiAoeHdyaXRlYXRvZmYoZmQsIGJ1Ziwgb2ZmLCBzaXplLCBmbikgIT0g
c2l6ZSkKKwkJCQlnb3RvIGJhZDsKKwkJfQorCX0KIAogb3V0OgotCWlmIChzaGRycCAhPSBOVUxM
KQotCQlmcmVlKHNoZHJwKTsKLQlpZiAoc3ltdGFicCAhPSBOVUxMKQotCQlmcmVlKHN5bXRhYnAp
OwotCWlmIChzdHJ0YWJwICE9IE5VTEwpCi0JCWZyZWUoc3RydGFicCk7CisJaWYgKGxheW91dHAg
IT0gTlVMTCkgeworCQlmb3IgKGkgPSAwOyBpIDwgeGUxNnRvaChlaGRyLmVfc2hudW0pICsgMTsg
aSsrKSB7CisJCQlpZiAobGF5b3V0cFtpXS5idWZwICE9IE5VTEwpCisJCQkJZnJlZShsYXlvdXRw
W2ldLmJ1ZnApOworCQl9CisJCWZyZWUobGF5b3V0cCk7CisJfQorCWlmIChuc3RydGFicCAhPSBO
VUxMKQorCQlmcmVlKG5zdHJ0YWJwKTsKIAlyZXR1cm4gKHJ2KTsKIAogYmFkOgo=
--f46d04016a757b39d004cff03ba1--
More information about the freebsd-bugs
mailing list