www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/05/17/00:56:41

Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-apps-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com
Message-ID: <20010517045631.6959.qmail@web6404.mail.yahoo.com>
Date: Thu, 17 May 2001 14:56:31 +1000 (EST)
From: =?iso-8859-1?q?Danny=20Smith?= <danny_r_smith_2001 AT yahoo DOT co DOT nz>
Subject: sjlj EH fixes
To: cygwin-apps <cygwin-apps AT cygwin DOT com>
MIME-Version: 1.0

--0-1619816673-990075391=:3810
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

Shortly (1 or 2 days) after 2.95.3 release, the sjlj fixes that were
taken out of 2.95.3 were put back into the branch. (From what I
understand they only caused  problems on hpux). I have noted no
problems with them on mingw and they do fix some problems, for example:

exception not caught with -O1 or higher:
https://sourceforge.net/tracker/index.php?func=detail&aid=227047&group_id=2435&atid=102435

Attached diff file backports these to gcc-2.95.3-4 (cygwin-mingw
special).

NB: For cygwin, these patches are not dependent on ones earlier today,
but they are for mingw (since mingw hasn't released 2.95.3 midnight
special yet ;-\) 

Danny



_____________________________________________________________________________
http://messenger.yahoo.com.au - Yahoo! Messenger
- Voice chat, mail alerts, stock quotes and favourite news and lots more!
--0-1619816673-990075391=:3810
Content-Type: application/octet-stream; name="sjlj.diff"
Content-Transfer-Encoding: base64
Content-Description: sjlj.diff
Content-Disposition: attachment; filename="sjlj.diff"

Q2hhbmdlTG9nCjIwMDEtMDUtMTcgIERhbm55IFNtaXRoICA8ZGFubnlfcl9z
bWl0aF8yMDAxQHlhaG9vLmNvbS5uej4KCglCYWNrcG9ydCBzamxqIGVoIGZp
eGVzIGludG8gZ2NjIDIuOTUuMyAobWluZ3ctY3lnd2luIHNwZWNpYWwpCgky
MDAxLTAzLTE5ICBCZXJuZCBTY2htaWR0ICA8YmVybmRzQHJlZGhhdC5jb20+
CgoJQnJpbmcgYmFjayB0aGUgc2psaiBlaCBmaXhlcy4KCSogZXhwci5jIChl
eHBhbmRfYnVpbHRpbl9zZXRqbXBfc2V0dXApOiBOZXcuCgkoZXhwYW5kX2J1
aWx0aW5fc2V0am1wX3JlY2VpdmVyKTogTmV3LgoJKGV4cGFuZF9idWlsdGlu
X3NldGptcCk6IFNwbGl0IG91dCBfc2V0dXAgYW5kIF9yZWNlaXZlciBmdW5j
dGlvbnMuCglNb3ZlIGFyZ3VtZW50IHBhcnNpbmcgaW4gZnJvbSAuLi4KCShl
eHBhbmRfYnVpbHRpbik6IC4uLiBoZXJlLgoJKiBleGNlcHQuYyAocmVjZWl2
ZV9leGNlcHRpb25fbGFiZWwpOiBCcmFuY2ggYXJvdW5kIHJlY2VpdmVyCgl1
bmxlc3MgbmV3LXN0eWxlIGV4Y2VwdGlvbnMuICBDYWxsIGV4cGFuZF9idWls
dGluX3NldGptcF9yZWNlaXZlci4KCShzdGFydF9keW5hbWljX2hhbmRsZXIp
OiBDYWxsIGV4cGFuZF9idWlsdGluX3NldGptcF9zZXR1cC4KCSogZXhwci5o
OiBVcGRhdGUgYnVpbHRpbiBzZXRqbXAgZGVjbHMuCgoKCmRpZmYgLXVycGJC
IGdjYy0yLjk1LjMtNFxnY2NcZXhjZXB0LmMgZ2NjLTIuOTUuMy00bVxnY2Nc
ZXhjZXB0LmMKLS0tIGdjYy0yLjk1LjMtNFxnY2NcZXhjZXB0LmMJRnJpIE5v
diAwNSAxNDowOTo0MiAxOTk5CisrKyBnY2MtMi45NS4zLTRtXGdjY1xleGNl
cHQuYwlUaHUgTWF5IDE3IDEwOjQxOjUwIDIwMDEKQEAgLTcyMywyMSArNzIz
LDQwIEBAIHN0YXRpYyB2b2lkCiByZWNlaXZlX2V4Y2VwdGlvbl9sYWJlbCAo
aGFuZGxlcl9sYWJlbCkKICAgICAgcnR4IGhhbmRsZXJfbGFiZWw7CiB7Cisg
IHJ0eCBhcm91bmRfbGFiZWwgPSBOVUxMX1JUWDsKKworICBpZiAoISBmbGFn
X25ld19leGNlcHRpb25zIHx8IGV4Y2VwdGlvbnNfdmlhX2xvbmdqbXApCisg
ICAgeworICAgICAgYXJvdW5kX2xhYmVsID0gZ2VuX2xhYmVsX3J0eCAoKTsK
KyAgICAgIGVtaXRfanVtcCAoYXJvdW5kX2xhYmVsKTsKKyAgICAgIGVtaXRf
YmFycmllciAoKTsKKyAgICB9CiAgIGVtaXRfbGFiZWwgKGhhbmRsZXJfbGFi
ZWwpOwogICAKLSNpZmRlZiBIQVZFX2V4Y2VwdGlvbl9yZWNlaXZlcgogICBp
ZiAoISBleGNlcHRpb25zX3ZpYV9sb25nam1wKQorICAgIHsKKyNpZmRlZiBI
QVZFX2V4Y2VwdGlvbl9yZWNlaXZlcgogICAgIGlmIChIQVZFX2V4Y2VwdGlv
bl9yZWNlaXZlcikKICAgICAgIGVtaXRfaW5zbiAoZ2VuX2V4Y2VwdGlvbl9y
ZWNlaXZlciAoKSk7Ci0jZW5kaWYKLQotI2lmZGVmIEhBVkVfbm9ubG9jYWxf
Z290b19yZWNlaXZlcgotICBpZiAoISBleGNlcHRpb25zX3ZpYV9sb25nam1w
KQorICAgICAgZWxzZQorICNlbmRpZgorICNpZmRlZiBIQVZFX25vbmxvY2Fs
X2dvdG9fcmVjZWl2ZXIKICAgICBpZiAoSEFWRV9ub25sb2NhbF9nb3RvX3Jl
Y2VpdmVyKQogICAgICAgZW1pdF9pbnNuIChnZW5fbm9ubG9jYWxfZ290b19y
ZWNlaXZlciAoKSk7CisgICAgICBlbHNlCisgI2VuZGlmCisJeyAvKiBOb3Ro
aW5nICovIH0KKyAgICB9CisgIGVsc2UKKyAgICB7CisjaWZuZGVmIERPTlRf
VVNFX0JVSUxUSU5fU0VUSk1QCisgICAgICBleHBhbmRfYnVpbHRpbl9zZXRq
bXBfcmVjZWl2ZXIgKGhhbmRsZXJfbGFiZWwpOwogI2VuZGlmCi19CisgICAg
fQogCisgIGlmIChhcm91bmRfbGFiZWwpCisgICAgZW1pdF9sYWJlbCAoYXJv
dW5kX2xhYmVsKTsKK30KIAogc3RydWN0IGZ1bmNfZWhfZW50cnkgCiB7CkBA
IC0xMzIwLDcgKzEzMzksNyBAQCBzdGF0aWMgdm9pZAogc3RhcnRfZHluYW1p
Y19oYW5kbGVyICgpCiB7CiAgIHJ0eCBkaGMsIGRjYzsKLSAgcnR4IHgsIGFy
ZywgYnVmOworICBydHggYXJnLCBidWY7CiAgIGludCBzaXplOwogCiAjaWZu
ZGVmIERPTlRfVVNFX0JVSUxUSU5fU0VUSk1QCkBAIC0xMzYyLDE4ICsxMzgx
LDE3IEBAIHN0YXJ0X2R5bmFtaWNfaGFuZGxlciAoKQogICBidWYgPSBwbHVz
X2NvbnN0YW50IChYRVhQIChhcmcsIDApLCBHRVRfTU9ERV9TSVpFIChQbW9k
ZSkqMik7CiAKICNpZmRlZiBET05UX1VTRV9CVUlMVElOX1NFVEpNUAotICB4
ID0gZW1pdF9saWJyYXJ5X2NhbGxfdmFsdWUgKHNldGptcF9saWJmdW5jLCBO
VUxMX1JUWCwgMSwgU0ltb2RlLCAxLAorICB7CisgICAgcnR4IHg7CisgICAg
eCA9IGVtaXRfbGlicmFyeV9jYWxsX3ZhbHVlIChzZXRqbXBfbGliZnVuYywg
TlVMTF9SVFgsIExDVF9DT05TVCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVFlQRV9NT0RFIChpbnRlZ2VyX3R5cGVfbm9kZSksIDEsCiAJ
CQkgICAgICAgYnVmLCBQbW9kZSk7CiAgIC8qIElmIHdlIGNvbWUgYmFjayBo
ZXJlIGZvciBhIGNhdGNoLCB0cmFuc2ZlciBjb250cm9sIHRvIHRoZSBoYW5k
bGVyLiAgKi8KICAganVtcGlmX3J0eCAoeCwgZWhzdGFjay50b3AtPmVudHJ5
LT5leGNlcHRpb25faGFuZGxlcl9sYWJlbCk7CisgIH0KICNlbHNlCi0gIHsK
LSAgICAvKiBBIGxhYmVsIHRvIGNvbnRpbnVlIGV4ZWN1dGlvbiBmb3IgdGhl
IG5vIGV4Y2VwdGlvbiBjYXNlLiAgKi8KLSAgICBydHggbm9leCA9IGdlbl9s
YWJlbF9ydHgoKTsKLSAgICB4ID0gZXhwYW5kX2J1aWx0aW5fc2V0am1wIChi
dWYsIE5VTExfUlRYLCBub2V4LAorICBleHBhbmRfYnVpbHRpbl9zZXRqbXBf
c2V0dXAgKGJ1ZiwKIAkJCSAgICAgICBlaHN0YWNrLnRvcC0+ZW50cnktPmV4
Y2VwdGlvbl9oYW5kbGVyX2xhYmVsKTsKLSAgICBlbWl0X2xhYmVsIChub2V4
KTsKLSAgfQogI2VuZGlmCiAKICAgLyogV2UgYXJlIGNvbW1pdHRlZCB0byB0
aGlzLCBzbyB1cGRhdGUgdGhlIGhhbmRsZXIgY2hhaW4uICAqLwpkaWZmIC11
cnBiQiBnY2MtMi45NS4zLTRcZ2NjXGV4cHIuYyBnY2MtMi45NS4zLTRtXGdj
Y1xleHByLmMKLS0tIGdjYy0yLjk1LjMtNFxnY2NcZXhwci5jCVNhdCBNYXIg
MTcgMDY6Mzk6NDIgMjAwMQorKysgZ2NjLTIuOTUuMy00bVxnY2NcZXhwci5j
CVRodSBNYXkgMTcgMDk6NDc6NDAgMjAwMQpAQCAtMTkyLDYgKzE5Miw3IEBA
IHN0YXRpYyBydHggZXhwYW5kX2J1aWx0aW4JUFJPVE8oKHRyZWUsIHIKIHN0
YXRpYyBpbnQgYXBwbHlfYXJnc19zaXplCVBST1RPKCh2b2lkKSk7CiBzdGF0
aWMgaW50IGFwcGx5X3Jlc3VsdF9zaXplCVBST1RPKCh2b2lkKSk7CiBzdGF0
aWMgcnR4IHJlc3VsdF92ZWN0b3IJUFJPVE8oKGludCwgcnR4KSk7CitzdGF0
aWMgcnR4IGV4cGFuZF9idWlsdGluX3NldGptcCBQUk9UTygodHJlZSwgcnR4
KSk7CiBzdGF0aWMgcnR4IGV4cGFuZF9idWlsdGluX2FwcGx5X2FyZ3MgUFJP
VE8oKHZvaWQpKTsKIHN0YXRpYyBydHggZXhwYW5kX2J1aWx0aW5fYXBwbHkJ
UFJPVE8oKHJ0eCwgcnR4LCBydHgpKTsKIHN0YXRpYyB2b2lkIGV4cGFuZF9i
dWlsdGluX3JldHVybiBQUk9UTygocnR4KSk7CkBAIC04NTQ0LDQ0ICs4NTQ1
LDI5IEBAIGV4cGFuZF9idWlsdGluX3JldHVybl9hZGRyIChmbmRlY2xfY29k
ZSwKICAgcmV0dXJuIHRlbTsKIH0KIAotLyogX19idWlsdGluX3NldGptcCBp
cyBwYXNzZWQgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGZpdmUgd29yZHMg
KG5vdAotICAgYWxsIHdpbGwgYmUgdXNlZCBvbiBhbGwgbWFjaGluZXMpLiAg
SXQgb3BlcmF0ZXMgc2ltaWxhcmx5IHRvIHRoZSBDCi0gICBsaWJyYXJ5IGZ1
bmN0aW9uIG9mIHRoZSBzYW1lIG5hbWUsIGJ1dCBpcyBtb3JlIGVmZmljaWVu
dC4gIE11Y2ggb2YKLSAgIHRoZSBjb2RlIGJlbG93IChhbmQgZm9yIGxvbmdq
bXApIGlzIGNvcGllZCBmcm9tIHRoZSBoYW5kbGluZyBvZgotICAgbm9uLWxv
Y2FsIGdvdG9zLgotCi0gICBOT1RFOiBUaGlzIGlzIGludGVuZGVkIGZvciB1
c2UgYnkgR05BVCBhbmQgdGhlIGV4Y2VwdGlvbiBoYW5kbGluZwotICAgc2No
ZW1lIGluIHRoZSBjb21waWxlciBhbmQgd2lsbCBvbmx5IHdvcmsgaW4gdGhl
IG1ldGhvZCB1c2VkIGJ5Ci0gICB0aGVtLiAgKi8KKy8qIENvbnN0cnVjdCB0
aGUgbGVhZGluZyBoYWxmIG9mIGEgX19idWlsdGluX3NldGptcCBjYWxsLiAg
Q29udHJvbCB3aWxsCisgICByZXR1cm4gdG8gUkVDRUlWRVJfTEFCRUwuICBU
aGlzIGlzIHVzZWQgZGlyZWN0bHkgYnkgc2psaiBleGNlcHRpb24KKyAgIGhh
bmRsaW5nIGNvZGUuICAqLwogCi1ydHgKLWV4cGFuZF9idWlsdGluX3NldGpt
cCAoYnVmX2FkZHIsIHRhcmdldCwgZmlyc3RfbGFiZWwsIG5leHRfbGFiZWwp
Cit2b2lkCitleHBhbmRfYnVpbHRpbl9zZXRqbXBfc2V0dXAgKGJ1Zl9hZGRy
LCByZWNlaXZlcl9sYWJlbCkKICAgICAgcnR4IGJ1Zl9hZGRyOwotICAgICBy
dHggdGFyZ2V0OwotICAgICBydHggZmlyc3RfbGFiZWwsIG5leHRfbGFiZWw7
CisgICAgIHJ0eCByZWNlaXZlcl9sYWJlbDsKIHsKLSAgcnR4IGxhYjEgPSBn
ZW5fbGFiZWxfcnR4ICgpOwogICBlbnVtIG1hY2hpbmVfbW9kZSBzYV9tb2Rl
ID0gU1RBQ0tfU0FWRUFSRUFfTU9ERSAoU0FWRV9OT05MT0NBTCk7Ci0gIGVu
dW0gbWFjaGluZV9tb2RlIHZhbHVlX21vZGU7CiAgIHJ0eCBzdGFja19zYXZl
OwogCi0gIHZhbHVlX21vZGUgPSBUWVBFX01PREUgKGludGVnZXJfdHlwZV9u
b2RlKTsKLQogI2lmZGVmIFBPSU5URVJTX0VYVEVORF9VTlNJR05FRAogICBi
dWZfYWRkciA9IGNvbnZlcnRfbWVtb3J5X2FkZHJlc3MgKFBtb2RlLCBidWZf
YWRkcik7CiAjZW5kaWYKIAogICBidWZfYWRkciA9IGZvcmNlX3JlZyAoUG1v
ZGUsIGJ1Zl9hZGRyKTsKIAotICBpZiAodGFyZ2V0ID09IDAgfHwgR0VUX0NP
REUgKHRhcmdldCkgIT0gUkVHCi0gICAgICB8fCBSRUdOTyAodGFyZ2V0KSA8
IEZJUlNUX1BTRVVET19SRUdJU1RFUikKLSAgICB0YXJnZXQgPSBnZW5fcmVn
X3J0eCAodmFsdWVfbW9kZSk7Ci0KICAgZW1pdF9xdWV1ZSAoKTsKIAotICAv
KiBXZSBzdG9yZSB0aGUgZnJhbWUgcG9pbnRlciBhbmQgdGhlIGFkZHJlc3Mg
b2YgbGFiMSBpbiB0aGUgYnVmZmVyCi0gICAgIGFuZCB1c2UgdGhlIHJlc3Qg
b2YgaXQgZm9yIHRoZSBzdGFjayBzYXZlIGFyZWEsIHdoaWNoIGlzCi0gICAg
IG1hY2hpbmUtZGVwZW5kZW50LiAgKi8KKyAgLyogV2Ugc3RvcmUgdGhlIGZy
YW1lIHBvaW50ZXIgYW5kIHRoZSBhZGRyZXNzIG9mIHJlY2VpdmVyX2xhYmVs
IGluCisgICAgIHRoZSBidWZmZXIgYW5kIHVzZSB0aGUgcmVzdCBvZiBpdCBm
b3IgdGhlIHN0YWNrIHNhdmUgYXJlYSwgd2hpY2gKKyAgICAgaXMgbWFjaGlu
ZS1kZXBlbmRlbnQuICAqLwogCiAjaWZuZGVmIEJVSUxUSU5fU0VUSk1QX0ZS
QU1FX1ZBTFVFCiAjZGVmaW5lIEJVSUxUSU5fU0VUSk1QX0ZSQU1FX1ZBTFVF
IHZpcnR1YWxfc3RhY2tfdmFyc19ydHgKQEAgLTg1OTMsNyArODU3OSw3IEBA
IGV4cGFuZF9idWlsdGluX3NldGptcCAoYnVmX2FkZHIsIHRhcmdldCwKIAkJ
ICAoZ2VuX3J0eF9NRU0gKFBtb2RlLAogCQkJCXBsdXNfY29uc3RhbnQgKGJ1
Zl9hZGRyLAogCQkJCQkgICAgICAgR0VUX01PREVfU0laRSAoUG1vZGUpKSkp
LAotCQkgIGZvcmNlX3JlZyAoUG1vZGUsIGdlbl9ydHhfTEFCRUxfUkVGIChQ
bW9kZSwgbGFiMSkpKTsKKwkJICBmb3JjZV9yZWcgKFBtb2RlLCBnZW5fcnR4
X0xBQkVMX1JFRiAoUG1vZGUsIHJlY2VpdmVyX2xhYmVsKSkpOwogCiAgIHN0
YWNrX3NhdmUgPSBnZW5fcnR4X01FTSAoc2FfbW9kZSwKIAkJCSAgICBwbHVz
X2NvbnN0YW50IChidWZfYWRkciwKQEAgLTg2MDYsMjAgKzg1OTIsMjIgQEAg
ZXhwYW5kX2J1aWx0aW5fc2V0am1wIChidWZfYWRkciwgdGFyZ2V0LAogICAg
IGVtaXRfaW5zbiAoZ2VuX2J1aWx0aW5fc2V0am1wX3NldHVwIChidWZfYWRk
cikpOwogI2VuZGlmCiAKLSAgLyogU2V0IFRBUkdFVCB0byB6ZXJvIGFuZCBi
cmFuY2ggdG8gdGhlIGZpcnN0LXRpbWUtdGhyb3VnaCBsYWJlbC4gICovCi0g
IGVtaXRfbW92ZV9pbnNuICh0YXJnZXQsIGNvbnN0MF9ydHgpOwotICBlbWl0
X2p1bXBfaW5zbiAoZ2VuX2p1bXAgKGZpcnN0X2xhYmVsKSk7Ci0gIGVtaXRf
YmFycmllciAoKTsKLSAgZW1pdF9sYWJlbCAobGFiMSk7Ci0KLSAgLyogVGVs
bCBmbG93IGFib3V0IHRoZSBzdHJhbmdlIGdvaW5ncyBvbi4gIFB1dHRpbmcg
YGxhYjEnIG9uCi0gICAgIGBub25sb2NhbF9nb3RvX2hhbmRsZXJfbGFiZWxz
JyB0byBpbmRpY2F0ZXMgdGhhdCBmdW5jdGlvbgotICAgICBjYWxscyBtYXkg
dHJhdmVyc2UgdGhlIGFyYyBiYWNrIHRvIHRoaXMgbGFiZWwuICAqLworICAv
KiBUZWxsIG9wdGltaXplX3NhdmVfYXJlYV9hbGxvY2EgdGhhdCBleHRyYSB3
b3JrIGlzIGdvaW5nIHRvCisgICAgIG5lZWQgdG8gZ28gb24gZHVyaW5nIGFs
bG9jYS4gICovCisgIGN1cnJlbnRfZnVuY3Rpb25fY2FsbHNfc2V0am1wID0g
MTsKIAorICAvKiBTZXQgdGhpcyBzbyBhbGwgdGhlIHJlZ2lzdGVycyBnZXQg
c2F2ZWQgaW4gb3VyIGZyYW1lOyB3ZSBuZWVkIHRvIGJlCisgICAgIGFibGUg
dG8gY29weSB0aGUgc2F2ZWQgdmFsdWVzIGZvciBhbnkgcmVnaXN0ZXJzIGZy
b20gZnJhbWVzIHdlIHVud2luZC4gKi8KICAgY3VycmVudF9mdW5jdGlvbl9o
YXNfbm9ubG9jYWxfbGFiZWwgPSAxOwotICBub25sb2NhbF9nb3RvX2hhbmRs
ZXJfbGFiZWxzID0KLSAgICBnZW5fcnR4X0VYUFJfTElTVCAoVk9JRG1vZGUs
IGxhYjEsIG5vbmxvY2FsX2dvdG9faGFuZGxlcl9sYWJlbHMpOworfQorCisv
KiBDb25zdHJ1Y3QgdGhlIHRyYWlsaW5nIHBhcnQgb2YgYSBfX2J1aWx0aW5f
c2V0am1wIGNhbGwuCisgICBUaGlzIGlzIHVzZWQgZGlyZWN0bHkgYnkgc2ps
aiBleGNlcHRpb24gaGFuZGxpbmcgY29kZS4gICovCiAKK3ZvaWQKK2V4cGFu
ZF9idWlsdGluX3NldGptcF9yZWNlaXZlciAocmVjZWl2ZXJfbGFiZWwpCisg
ICAgICBydHggcmVjZWl2ZXJfbGFiZWwgQVRUUklCVVRFX1VOVVNFRDsKK3sK
ICAgLyogQ2xvYmJlciB0aGUgRlAgd2hlbiB3ZSBnZXQgaGVyZSwgc28gd2Ug
aGF2ZSB0byBtYWtlIHN1cmUgaXQncwogICAgICBtYXJrZWQgYXMgdXNlZCBi
eSB0aGlzIGZ1bmN0aW9uLiAgKi8KICAgZW1pdF9pbnNuIChnZW5fcnR4X1VT
RSAoVk9JRG1vZGUsIGhhcmRfZnJhbWVfcG9pbnRlcl9ydHgpKTsKQEAgLTg2
NjYsNyArODY1NCw3IEBAIGV4cGFuZF9idWlsdGluX3NldGptcCAoYnVmX2Fk
ZHIsIHRhcmdldCwKIAogI2lmZGVmIEhBVkVfYnVpbHRpbl9zZXRqbXBfcmVj
ZWl2ZXIKICAgaWYgKEhBVkVfYnVpbHRpbl9zZXRqbXBfcmVjZWl2ZXIpCi0g
ICAgZW1pdF9pbnNuIChnZW5fYnVpbHRpbl9zZXRqbXBfcmVjZWl2ZXIgKGxh
YjEpKTsKKyAgICBlbWl0X2luc24gKGdlbl9idWlsdGluX3NldGptcF9yZWNl
aXZlciAocmVjZWl2ZXJfbGFiZWwpKTsKICAgZWxzZQogI2VuZGlmCiAjaWZk
ZWYgSEFWRV9ub25sb2NhbF9nb3RvX3JlY2VpdmVyCkBAIC04Njc4LDEwICs4
NjY2LDY2IEBAIGV4cGFuZF9idWlsdGluX3NldGptcCAoYnVmX2FkZHIsIHRh
cmdldCwKIAk7IC8qIE5vdGhpbmcgKi8KICAgICAgIH0KIAotICAvKiBTZXQg
VEFSR0VULCBhbmQgYnJhbmNoIHRvIHRoZSBuZXh0LXRpbWUtdGhyb3VnaCBs
YWJlbC4gICovCi0gIGVtaXRfbW92ZV9pbnNuICh0YXJnZXQsIGNvbnN0MV9y
dHgpOwotICBlbWl0X2p1bXBfaW5zbiAoZ2VuX2p1bXAgKG5leHRfbGFiZWwp
KTsKKyAgLyogQEBAIFRoaXMgaXMgYSBrbHVkZ2UuICBOb3QgYWxsIG1hY2hp
bmUgZGVzY3JpcHRpb25zIGRlZmluZSBhIGJsb2NrYWdlCisgICAgIGluc24s
IGJ1dCB3ZSBtdXN0IG5vdCBhbGxvdyB0aGUgY29kZSB3ZSBqdXN0IGdlbmVy
YXRlZCB0byBiZSByZW9yZGVyZWQKKyAgICAgYnkgc2NoZWR1bGluZy4gIFNw
ZWNpZmljYWxseSwgdGhlIHVwZGF0ZSBvZiB0aGUgZnJhbWUgcG9pbnRlciBt
dXN0CisgICAgIGhhcHBlbiBpbW1lZGlhdGVseSwgbm90IGxhdGVyLiAgU28g
ZW1pdCBhbiBBU01fSU5QVVQgdG8gYWN0IGFzIGJsb2NrYWdlCisgICAgIGlu
c24uICAqLworICBlbWl0X2luc24gKGdlbl9ydHhfQVNNX0lOUFVUIChWT0lE
bW9kZSwgIiIpKTsKK30KKworCisvKiBfX2J1aWx0aW5fc2V0am1wIGlzIHBh
c3NlZCBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgZml2ZSB3b3JkcyAobm90
CisgICBhbGwgd2lsbCBiZSB1c2VkIG9uIGFsbCBtYWNoaW5lcykuICBJdCBv
cGVyYXRlcyBzaW1pbGFybHkgdG8gdGhlIEMKKyAgIGxpYnJhcnkgZnVuY3Rp
b24gb2YgdGhlIHNhbWUgbmFtZSwgYnV0IGlzIG1vcmUgZWZmaWNpZW50LiAg
TXVjaCBvZgorICAgdGhlIGNvZGUgYmVsb3cgKGFuZCBmb3IgbG9uZ2ptcCkg
aXMgY29waWVkIGZyb20gdGhlIGhhbmRsaW5nIG9mCisgICBub24tbG9jYWwg
Z290b3MuCisKKyAgIE5PVEU6IFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBi
eSBHTkFUIGFuZCB0aGUgZXhjZXB0aW9uIGhhbmRsaW5nCisgICBzY2hlbWUg
aW4gdGhlIGNvbXBpbGVyIGFuZCB3aWxsIG9ubHkgd29yayBpbiB0aGUgbWV0
aG9kIHVzZWQgYnkKKyAgIHRoZW0uICAqLworCitzdGF0aWMgcnR4CitleHBh
bmRfYnVpbHRpbl9zZXRqbXAgKGFyZ2xpc3QsIHRhcmdldCkKKyAgICAgdHJl
ZSBhcmdsaXN0OworICAgICBydHggdGFyZ2V0OworeworICBydHggYnVmX2Fk
ZHIsIG5leHRfbGFiLCBjb250X2xhYjsKKworICBpZiAoYXJnbGlzdCA9PSAw
CisgICAgICB8fCBUUkVFX0NPREUgKFRSRUVfVFlQRSAoVFJFRV9WQUxVRSAo
YXJnbGlzdCkpKSAhPSBQT0lOVEVSX1RZUEUpCisgICAgcmV0dXJuIE5VTExf
UlRYOworCisgIGlmICh0YXJnZXQgPT0gMCB8fCBHRVRfQ09ERSAodGFyZ2V0
KSAhPSBSRUcKKyAgICAgIHx8IFJFR05PICh0YXJnZXQpIDwgRklSU1RfUFNF
VURPX1JFR0lTVEVSKQorICAgIHRhcmdldCA9IGdlbl9yZWdfcnR4IChUWVBF
X01PREUgKGludGVnZXJfdHlwZV9ub2RlKSk7CisKKyAgYnVmX2FkZHIgPSBl
eHBhbmRfZXhwciAoVFJFRV9WQUxVRSAoYXJnbGlzdCksIE5VTExfUlRYLCBW
T0lEbW9kZSwgMCk7CisKKyAgbmV4dF9sYWIgPSBnZW5fbGFiZWxfcnR4ICgp
OworICBjb250X2xhYiA9IGdlbl9sYWJlbF9ydHggKCk7CisKKyAgZXhwYW5k
X2J1aWx0aW5fc2V0am1wX3NldHVwIChidWZfYWRkciwgbmV4dF9sYWIpOwor
CisgIC8qIFNldCBUQVJHRVQgdG8gemVybyBhbmQgYnJhbmNoIHRvIHRoZSBj
b250aW51ZSBsYWJlbC4gICovCisgIGVtaXRfbW92ZV9pbnNuICh0YXJnZXQs
IGNvbnN0MF9ydHgpOworICBlbWl0X2p1bXBfaW5zbiAoZ2VuX2p1bXAgKGNv
bnRfbGFiKSk7CiAgIGVtaXRfYmFycmllciAoKTsKKyAgZW1pdF9sYWJlbCAo
bmV4dF9sYWIpOworCisgIGV4cGFuZF9idWlsdGluX3NldGptcF9yZWNlaXZl
ciAobmV4dF9sYWIpOworCisgIC8qIFNldCBUQVJHRVQgdG8gb25lLiAgKi8K
KyAgZW1pdF9tb3ZlX2luc24gKHRhcmdldCwgY29uc3QxX3J0eCk7CisgIGVt
aXRfbGFiZWwgKGNvbnRfbGFiKTsKKworICAvKiBUZWxsIGZsb3cgYWJvdXQg
dGhlIHN0cmFuZ2UgZ29pbmdzIG9uLiAgUHV0dGluZyBgbmV4dF9sYWInIG9u
CisgICAgIGBub25sb2NhbF9nb3RvX2hhbmRsZXJfbGFiZWxzJyB0byBpbmRp
Y2F0ZXMgdGhhdCBmdW5jdGlvbgorICAgICBjYWxscyBtYXkgdHJhdmVyc2Ug
dGhlIGFyYyBiYWNrIHRvIHRoaXMgbGFiZWwuICAqLworCisgIGN1cnJlbnRf
ZnVuY3Rpb25faGFzX25vbmxvY2FsX2xhYmVsID0gMTsKKyAgbm9ubG9jYWxf
Z290b19oYW5kbGVyX2xhYmVscworICAgID0gZ2VuX3J0eF9FWFBSX0xJU1Qg
KFZPSURtb2RlLCBuZXh0X2xhYiwgbm9ubG9jYWxfZ290b19oYW5kbGVyX2xh
YmVscyk7CiAKICAgcmV0dXJuIHRhcmdldDsKIH0KQEAgLTk3MDMsMTggKzk3
NDcsMTAgQEAgZXhwYW5kX2J1aWx0aW4gKGV4cCwgdGFyZ2V0LCBzdWJ0YXJn
ZXQsIAogI2VuZGlmCiAKICAgICBjYXNlIEJVSUxUX0lOX1NFVEpNUDoKLSAg
ICAgIGlmIChhcmdsaXN0ID09IDAKLQkgIHx8IFRSRUVfQ09ERSAoVFJFRV9U
WVBFIChUUkVFX1ZBTFVFIChhcmdsaXN0KSkpICE9IFBPSU5URVJfVFlQRSkK
KyAgICAgIHRhcmdldCA9IGV4cGFuZF9idWlsdGluX3NldGptcCAoYXJnbGlz
dCwgdGFyZ2V0KTsKKyAgICAgIGlmICh0YXJnZXQpCisJcmV0dXJuIHRhcmdl
dDsKIAlicmVhazsKLSAgICAgIGVsc2UKLQl7Ci0JICBydHggYnVmX2FkZHIg
PSBleHBhbmRfZXhwciAoVFJFRV9WQUxVRSAoYXJnbGlzdCksIHN1YnRhcmdl
dCwKLQkJCQkgICAgICBWT0lEbW9kZSwgMCk7Ci0JICBydHggbGFiID0gZ2Vu
X2xhYmVsX3J0eCAoKTsKLQkgIHJ0eCByZXQgPSBleHBhbmRfYnVpbHRpbl9z
ZXRqbXAgKGJ1Zl9hZGRyLCB0YXJnZXQsIGxhYiwgbGFiKTsKLQkgIGVtaXRf
bGFiZWwgKGxhYik7Ci0JICByZXR1cm4gcmV0OwotCX0KIAogICAgICAgLyog
X19idWlsdGluX2xvbmdqbXAgaXMgcGFzc2VkIGEgcG9pbnRlciB0byBhbiBh
cnJheSBvZiBmaXZlIHdvcmRzLgogCSBJdCdzIHNpbWlsYXIgdG8gdGhlIEMg
bGlicmFyeSBsb25nam1wIGZ1bmN0aW9uIGJ1dCB3b3JrcyB3aXRoCmRpZmYg
LXVycGJCIGdjYy0yLjk1LjMtNFxnY2NcZXhwci5oIGdjYy0yLjk1LjMtNG1c
Z2NjXGV4cHIuaAotLS0gZ2NjLTIuOTUuMy00XGdjY1xleHByLmgJRnJpIE5v
diAwNSAxNDowOTo0MiAxOTk5CisrKyBnY2MtMi45NS4zLTRtXGdjY1xleHBy
LmgJVGh1IE1heSAxNyAwOTo0Nzo0MSAyMDAxCkBAIC04MzEsNyArODMxLDgg
QEAgZXh0ZXJuIHJ0eCBzdG9yZV9leHByIFBST1RPKCh0cmVlLCBydHgsIAog
ICAgVXNlZnVsIGFmdGVyIGNhbGxpbmcgZXhwYW5kX2V4cHIgd2l0aCAxIGFz
IHN1bV9vay4gICovCiBleHRlcm4gcnR4IGZvcmNlX29wZXJhbmQgUFJPVE8o
KHJ0eCwgcnR4KSk7CiAKLWV4dGVybiBydHggZXhwYW5kX2J1aWx0aW5fc2V0
am1wIFBST1RPKChydHgsIHJ0eCwgcnR4LCBydHgpKTsKK2V4dGVybiB2b2lk
IGV4cGFuZF9idWlsdGluX3NldGptcF9zZXR1cCBQQVJBTVMgKChydHgsIHJ0
eCkpOworZXh0ZXJuIHZvaWQgZXhwYW5kX2J1aWx0aW5fc2V0am1wX3JlY2Vp
dmVyIFBBUkFNUyAoKHJ0eCkpOwogCiAjaWZkZWYgVFJFRV9DT0RFCiAvKiBH
ZW5lcmF0ZSBjb2RlIGZvciBjb21wdXRpbmcgZXhwcmVzc2lvbiBFWFAuCgo=


--0-1619816673-990075391=:3810--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019