Subject: SA_SIGINFO changes
To: None <port-arm@netbsd.org>
From: Chris Gilbert <chris@dokein.co.uk>
List: port-arm
Date: 09/13/2003 21:20:14
This is a multi-part message in MIME format.

--Multipart_Sat__13_Sep_2003_21_20_14_+0100_087ca200
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi,

I've been working on porting the SA_SIGINFO code onto arm, and was
wondering if people could review the attached files.

Known issues:
need to create compat_16_machdep.c for the old signal handler
tidy up some comments
figure out why the test as to the availablity of the old handler doesn't
work (currently it's hard coded that the old handler will be available) 
I'm suspecting a bug in copyin...
Is using r5 to store the pointer to the ucontext for the exit trampoline
ok?  I think it is, as the ABI spec says that r5 isn't allowed to be
played with.
Sanity check that the ksiginfo data is actually sane.
Update the acorn26 code to use the new trapsignal.

The attached code manages to run the regress tests sigalrm and sigsegv,
and return the information.  (not sure that sigsegv is working, it
segv's once but then continues to do so, I guess it's going to as it'll
keep running the same instruction)

Note it'll be a week or so before I get more time to tidy the code up.

Chris


--Multipart_Sat__13_Sep_2003_21_20_14_+0100_087ca200
Content-Type: application/octet-stream;
 name="kern.siginfo.diff"
Content-Disposition: attachment;
 filename="kern.siginfo.diff"
Content-Transfer-Encoding: base64

SW5kZXg6IHN5cy9hcmNoL2FybS9hcm0vc2lnX21hY2hkZXAuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3Zzcm9vdC9zcmMvc3lzL2FyY2gvYXJtL2FybS9zaWdfbWFjaGRlcC5jLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjE5CmRpZmYgLXUgLXAgLXIxLjE5IHNpZ19tYWNoZGVwLmMKLS0tIHN5cy9h
cmNoL2FybS9hcm0vc2lnX21hY2hkZXAuYwkyMDAzLzA5LzEzIDE0OjMxOjM0CTEuMTkKKysrIHN5
cy9hcmNoL2FybS9hcm0vc2lnX21hY2hkZXAuYwkyMDAzLzA5LzEzIDIwOjEwOjE4CkBAIC01Niw2
ICs1Niw3IEBAIF9fS0VSTkVMX1JDU0lEKDAsICIkTmV0QlNEOiBzaWdfbWFjaGRlcC4KICNpbmNs
dWRlIDxzeXMvcmFzLmg+CiAjaW5jbHVkZSA8c3lzL3NhLmg+CiAjaW5jbHVkZSA8c3lzL3NhdmFy
Lmg+CisjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+CiAKICNpbmNsdWRlIDxhcm0vYXJtcmVnLmg+
CiAKQEAgLTczLDYgKzc0LDkgQEAgcHJvY2Vzc19mcmFtZShzdHJ1Y3QgbHdwICpsKQogCXJldHVy
biBsLT5sX2FkZHItPnVfcGNiLnBjYl90ZjsKIH0KIAordm9pZCAqZ2V0ZnJhbWUoc3RydWN0IGx3
cCAqbCwgaW50IHNpZywgaW50ICpvbnN0YWNrKTsKKworCiAvKgogICogU2VuZCBhbiBpbnRlcnJ1
cHQgdG8gcHJvY2Vzcy4KICAqCkBAIC04MywxNCArODcsMTYgQEAgcHJvY2Vzc19mcmFtZShzdHJ1
Y3QgbHdwICpsKQogICogZnJhbWUgcG9pbnRlciwgaXQgcmV0dXJucyB0byB0aGUgdXNlciBzcGVj
aWZpZWQgcGMuCiAgKi8KIHZvaWQKLXNlbmRzaWcoaW50IHNpZywgc2lnc2V0X3QgKm1hc2ssIHVf
bG9uZyBjb2RlKQorc2VuZHNpZ19zaWdjb250ZXh0KGtzaWdpbmZvX3QgKmtzaSwgc2lnc2V0X3Qg
Km1hc2spCiB7CiAJc3RydWN0IGx3cCAqbCA9IGN1cmx3cDsKIAlzdHJ1Y3QgcHJvYyAqcCA9IGwt
PmxfcHJvYzsKIAlzdHJ1Y3Qgc2lnYWN0cyAqcHMgPSBwLT5wX3NpZ2FjdHM7CiAJc3RydWN0IHRy
YXBmcmFtZSAqdGY7Ci0Jc3RydWN0IHNpZ2ZyYW1lICpmcCwgZnJhbWU7CisJc3RydWN0IHNpZ2Zy
YW1lX3NpZ2NvbnRleHQgKmZwLCBmcmFtZTsKIAlpbnQgb25zdGFjazsKKwlpbnQgc2lnID0ga3Np
LT5rc2lfc2lnbm87CisJdV9sb25nIGNvZGUgPSBrc2ktPmtzaV90cmFwOwogCXNpZ190IGNhdGNo
ZXIgPSBTSUdBQ1RJT04ocCwgc2lnKS5zYV9oYW5kbGVyOwogCiAJdGYgPSBwcm9jZXNzX2ZyYW1l
KGwpOwpAQCAtMTAyLDEwICsxMDgsMTAgQEAgc2VuZHNpZyhpbnQgc2lnLCBzaWdzZXRfdCAqbWFz
aywgdV9sb25nIAogCiAJLyogQWxsb2NhdGUgc3BhY2UgZm9yIHRoZSBzaWduYWwgaGFuZGxlciBj
b250ZXh0LiAqLwogCWlmIChvbnN0YWNrKQotCQlmcCA9IChzdHJ1Y3Qgc2lnZnJhbWUgKikoKGNh
ZGRyX3QpcC0+cF9zaWdjdHgucHNfc2lnc3RrLnNzX3NwICsKKwkJZnAgPSAoc3RydWN0IHNpZ2Zy
YW1lX3NpZ2NvbnRleHQgKikoKGNhZGRyX3QpcC0+cF9zaWdjdHgucHNfc2lnc3RrLnNzX3NwICsK
IAkJCQkJCXAtPnBfc2lnY3R4LnBzX3NpZ3N0ay5zc19zaXplKTsKIAllbHNlCi0JCWZwID0gKHN0
cnVjdCBzaWdmcmFtZSAqKXRmLT50Zl91c3Jfc3A7CisJCWZwID0gKHN0cnVjdCBzaWdmcmFtZV9z
aWdjb250ZXh0ICopdGYtPnRmX3Vzcl9zcDsKIAlmcC0tOwogCSh1X2ludClmcCA9IFNUQUNLQUxJ
R04oZnApOwogCkBAIC0xOTMsOCArMTk5LDExOSBAQCBzZW5kc2lnKGludCBzaWcsIHNpZ3NldF90
ICptYXNrLCB1X2xvbmcgCiAJCXAtPnBfc2lnY3R4LnBzX3NpZ3N0ay5zc19mbGFncyB8PSBTU19P
TlNUQUNLOwogfQogCit2b2lkICoKK2dldGZyYW1lKHN0cnVjdCBsd3AgKmwsIGludCBzaWcsIGlu
dCAqb25zdGFjaykKK3sKKwlzdHJ1Y3QgcHJvYyAqcCA9IGwtPmxfcHJvYzsKKwlzdHJ1Y3Qgc2ln
Y3R4ICpjdHggPSAmcC0+cF9zaWdjdHg7CisJc3RydWN0IHRyYXBmcmFtZSAqdGYgPSBwcm9jZXNz
X2ZyYW1lKGwpOworCisJLyogRG8gd2UgbmVlZCB0byBqdW1wIG9udG8gdGhlIHNpZ25hbCBzdGFj
az8gKi8KKwkqb25zdGFjayA9IChjdHgtPnBzX3NpZ3N0ay5zc19mbGFncyAmIChTU19ESVNBQkxF
IHwgU1NfT05TVEFDSykpID09IDAKKwkgICAgJiYgKFNJR0FDVElPTihwLCBzaWcpLnNhX2ZsYWdz
ICYgU0FfT05TVEFDSykgIT0gMDsKKwlpZiAoKm9uc3RhY2spCisJCXJldHVybiAoY2hhciAqKWN0
eC0+cHNfc2lnc3RrLnNzX3NwICsgY3R4LT5wc19zaWdzdGsuc3Nfc2l6ZTsKKwlyZXR1cm4gKHZv
aWQgKil0Zi0+dGZfdXNyX3NwOworfQorCiAKIC8qCisgKiBTZW5kIGFuIGludGVycnVwdCB0byBw
cm9jZXNzLgorICoKKyAqIFN0YWNrIGlzIHNldCB1cCB0byBhbGxvdyBzaWdjb2RlIHN0b3JlZAor
ICogaW4gdS4gdG8gY2FsbCByb3V0aW5lLCBmb2xsb3dlZCBieSBrY2FsbAorICogdG8gc2lncmV0
dXJuIHJvdXRpbmUgYmVsb3cuICBBZnRlciBzaWdyZXR1cm4KKyAqIHJlc2V0cyB0aGUgc2lnbmFs
IG1hc2ssIHRoZSBzdGFjaywgYW5kIHRoZQorICogZnJhbWUgcG9pbnRlciwgaXQgcmV0dXJucyB0
byB0aGUgdXNlciBzcGVjaWZpZWQgcGMuCisgKi8KK3N0YXRpYyB2b2lkCitzZW5kc2lnX3NpZ2lu
Zm8oa3NpZ2luZm9fdCAqa3NpLCBzaWdzZXRfdCAqbWFzaykKK3sKKwlzdHJ1Y3QgbHdwICpsID0g
Y3VybHdwOworCXN0cnVjdCBwcm9jICpwID0gbC0+bF9wcm9jOworCXN0cnVjdCBzaWdhY3RzICpw
cyA9IHAtPnBfc2lnYWN0czsKKwlzdHJ1Y3QgdHJhcGZyYW1lICp0ZjsKKwlzdHJ1Y3Qgc2lnZnJh
bWVfc2lnaW5mbyAqZnAsIGZyYW1lOworCWludCBvbnN0YWNrOworCWludCBzaWcgPSBrc2ktPmtz
aV9zaWdubzsKKwlzaWdfdCBjYXRjaGVyID0gU0lHQUNUSU9OKHAsIHNpZykuc2FfaGFuZGxlcjsK
KworCS8qIGdldCB0aGUgY3VycmVudCBmcmFtZSAqLworCXRmID0gcHJvY2Vzc19mcmFtZShsKTsK
KworCWZwID0gZ2V0ZnJhbWUobCwgc2lnLCAmb25zdGFjayk7CisJCisJLyogbWFrZSByb29tIG9u
IHRoZSBzdGFjayAqLworCWZwLS07CisJCisJLyogbWFrZSB0aGUgc3RhY2sgYWxpZ25lZCAqLwor
CSh1X2ludClmcCA9IFNUQUNLQUxJR04oZnApOworCisJLyogQnVpbGQgc3RhY2sgZnJhbWUgZm9y
IHNpZ25hbCB0cmFtcG9saW5lLiAqLworCXN3aXRjaCAocHMtPnNhX3NpZ2Rlc2Nbc2lnXS5zZF92
ZXJzKSB7CisJY2FzZSAwOgkJLyogaGFuZGxlZCBieSBzZW5kc2lnX3NpZ2NvbnRleHQgKi8KKwlj
YXNlIDE6CQkvKiBoYW5kbGVkIGJ5IHNlbmRzaWdfc2lnY29udGV4dCAqLworCWRlZmF1bHQ6CS8q
IHVua25vd24gdmVyc2lvbiAqLworCQlwcmludGYoIm5zZW5kc2lnOiBiYWQgdmVyc2lvbiAlZFxu
IiwKKwkJICAgIHBzLT5zYV9zaWdkZXNjW3NpZ10uc2RfdmVycyk7CisJCXNpZ2V4aXQobCwgU0lH
SUxMKTsKKwljYXNlIDI6CisJCWJyZWFrOworCX0KKworCS8qIHBvcHVsYXRlIHRoZSBzaWdpbmZv
IGZyYW1lICovCisJZnJhbWUuc2Zfc2kuX2luZm8gPSAqa3NpOworCWZyYW1lLnNmX3VjLnVjX2Zs
YWdzID0gX1VDX1NJR01BU0s7CisJZnJhbWUuc2ZfdWMudWNfc2lnbWFzayA9ICptYXNrOworCWZy
YW1lLnNmX3VjLnVjX2xpbmsgPSBOVUxMOworCWZyYW1lLnNmX3VjLnVjX2ZsYWdzIHw9IChwLT5w
X3NpZ2N0eC5wc19zaWdzdGsuc3NfZmxhZ3MgJiBTU19PTlNUQUNLKQorCSAgICA/IF9VQ19TRVRT
VEFDSyA6IF9VQ19DTFJTVEFDSzsKKwltZW1zZXQoJmZyYW1lLnNmX3VjLnVjX3N0YWNrLCAwLCBz
aXplb2YoZnJhbWUuc2ZfdWMudWNfc3RhY2spKTsKKwljcHVfZ2V0bWNvbnRleHQobCwgJmZyYW1l
LnNmX3VjLnVjX21jb250ZXh0LCAmZnJhbWUuc2ZfdWMudWNfZmxhZ3MpOworCisJaWYgKGNvcHlv
dXQoJmZyYW1lLCBmcCwgc2l6ZW9mKGZyYW1lKSkgIT0gMCkgeworCQkvKgorCQkgKiBQcm9jZXNz
IGhhcyB0cmFzaGVkIGl0cyBzdGFjazsgZ2l2ZSBpdCBhbiBpbGxlZ2FsCisJCSAqIGluc3RydWN0
aW9uIHRvIGhhbHQgaXQgaW4gaXRzIHRyYWNrcy4KKwkJICovCisJCXNpZ2V4aXQobCwgU0lHSUxM
KTsKKwkJLyogTk9UUkVBQ0hFRCAqLworCX0KKworCS8qCisJICogQnVpbGQgY29udGV4dCB0byBy
dW4gaGFuZGxlciBpbi4gIFdlIGludm9rZSB0aGUgaGFuZGxlcgorCSAqIGRpcmVjdGx5LCBvbmx5
IHJldHVybmluZyB2aWEgdGhlIHRyYW1wb2xpbmUuICBOb3RlIHRoZQorCSAqIHRyYW1wb2xpbmUg
dmVyc2lvbiBudW1iZXJzIGFyZSBjb29yZGluYXRlZCB3aXRoIG1hY2hpbmUtCisJICogZGVwZW5k
ZW50IGNvZGUgaW4gbGliYy4KKwkgKi8KKwkKKwl0Zi0+dGZfcjAgPSBzaWc7CisJdGYtPnRmX3Ix
ID0gKGludCkmZnAtPnNmX3NpOworCXRmLT50Zl9yMiA9IChpbnQpJmZwLT5zZl91YzsKKworCS8q
IHRoZSB0cmFtcG9saW5lIHVzZXMgcjUgYXMgdGhlIHVjIGFkZHJlc3MgKi8KKwl0Zi0+dGZfcjUg
PSAoaW50KSZmcC0+c2ZfdWM7CisJdGYtPnRmX3BjID0gKGludCljYXRjaGVyOworCXRmLT50Zl91
c3Jfc3AgPSAoaW50KWZwOworCXRmLT50Zl91c3JfbHIgPSAoaW50KXBzLT5zYV9zaWdkZXNjW3Np
Z10uc2RfdHJhbXA7CisKKwkvKiBSZW1lbWJlciB0aGF0IHdlJ3JlIG5vdyBvbiB0aGUgc2lnbmFs
IHN0YWNrLiAqLworCWlmIChvbnN0YWNrKQorCQlwLT5wX3NpZ2N0eC5wc19zaWdzdGsuc3NfZmxh
Z3MgfD0gU1NfT05TVEFDSzsKK30KKwordm9pZAorc2VuZHNpZyhrc2lnaW5mb190ICprc2ksIHNp
Z3NldF90ICptYXNrKQoreworI2lmZGVmIENPTVBBVF8xNgorCWlmIChjdXJwcm9jLT5wX3NpZ2Fj
dHMtPnNhX3NpZ2Rlc2Nba3NpLT5rc2lfc2lnbm9dLnNkX3ZlcnMgPCAyKQorCQlzZW5kc2lnX3Np
Z2NvbnRleHQoa3NpLCBtYXNrKTsKKwllbHNlCisjZW5kaWYKKwkJc2VuZHNpZ19zaWdpbmZvKGtz
aSwgbWFzayk7Cit9CisKKy8qCiAgKiBTeXN0ZW0gY2FsbCB0byBjbGVhbnVwIHN0YXRlIGFmdGVy
IGEgc2lnbmFsCiAgKiBoYXMgYmVlbiB0YWtlbi4gIFJlc2V0IHNpZ25hbCBtYXNrIGFuZAogICog
c3RhY2sgc3RhdGUgZnJvbSBjb250ZXh0IGxlZnQgYnkgc2VuZHNpZyAoYWJvdmUpLgpAQCAtMjA0
LDEwICszMjEsMTMgQEAgc2VuZHNpZyhpbnQgc2lnLCBzaWdzZXRfdCAqbWFzaywgdV9sb25nIAog
ICogcHNyIHRvIGdhaW4gaW1wcm9wZXIgcHJpdmlsZWdlcyBvciB0byBjYXVzZQogICogYSBtYWNo
aW5lIGZhdWx0LgogICovCisKK2ludCBjb21wYXRfMTZfc3lzX19fc2lncmV0dXJuMTQoc3RydWN0
IGx3cCAqLCB2b2lkICosIHJlZ2lzdGVyX3QgKik7CisKIGludAotc3lzX19fc2lncmV0dXJuMTQo
c3RydWN0IGx3cCAqbCwgdm9pZCAqdiwgcmVnaXN0ZXJfdCAqcmV0dmFsKQorY29tcGF0XzE2X3N5
c19fX3NpZ3JldHVybjE0KHN0cnVjdCBsd3AgKmwsIHZvaWQgKnYsIHJlZ2lzdGVyX3QgKnJldHZh
bCkKIHsKLQlzdHJ1Y3Qgc3lzX19fc2lncmV0dXJuMTRfYXJncyAvKiB7CisJc3RydWN0IGNvbXBh
dF8xNl9zeXNfX19zaWdyZXR1cm4xNF9hcmdzIC8qIHsKIAkJc3lzY2FsbGFyZyhzdHJ1Y3Qgc2ln
Y29udGV4dCAqKSBzaWdjbnR4cDsKIAl9ICovICp1YXAgPSB2OwogCXN0cnVjdCBwcm9jICpwID0g
bC0+bF9wcm9jOwpAQCAtMjE1LDYgKzMzNSwxMiBAQCBzeXNfX19zaWdyZXR1cm4xNChzdHJ1Y3Qg
bHdwICpsLCB2b2lkICp2CiAJc3RydWN0IHRyYXBmcmFtZSAqdGY7CiAKIAkvKgorCSAqIHdlIGRv
IGEgcmF0aGVyIHNjYXJ5IHRlc3QgaW4gdXNlcmxhbmQKKwkgKi8KKwlpZiAodiA9PSBOVUxMKQor
CQlyZXR1cm4gKEVGQVVMVCk7CisJCisJLyoKIAkgKiBUaGUgdHJhbXBvbGluZSBjb2RlIGhhbmRz
IHVzIHRoZSBjb250ZXh0LgogCSAqIEl0IGlzIHVuc2FmZSB0byBrZWVwIHRyYWNrIG9mIGl0IG91
cnNlbHZlcywgaW4gdGhlIGV2ZW50IHRoYXQgYQogCSAqIHByb2dyYW0ganVtcHMgb3V0IG9mIGEg
c2lnbmFsIGhhbmRsZXIuCkBAIC0zNTksNiArNDg1LDEwIEBAIGNwdV9zZXRtY29udGV4dChsLCBt
Y3AsIGZsYWdzKQogCQlhcm1fZnBlX3NldGNvbnRleHQocCwgKHN0cnVjdCBmcHJlZyAqKSh2b2lk
ICopJm1jcC0+X19mcHJlZ3MpOwogCX0KICNlbmRpZgorCWlmIChmbGFncyAmIF9VQ19TRVRTVEFD
SykKKwkJbC0+bF9wcm9jLT5wX3NpZ2N0eC5wc19zaWdzdGsuc3NfZmxhZ3MgfD0gU1NfT05TVEFD
SzsKKwlpZiAoZmxhZ3MgJiBfVUNfQ0xSU1RBQ0spCisJCWwtPmxfcHJvYy0+cF9zaWdjdHgucHNf
c2lnc3RrLnNzX2ZsYWdzICY9IH5TU19PTlNUQUNLOwogCiAJcmV0dXJuICgwKTsKIH0KSW5kZXg6
IHN5cy9hcmNoL2FybS9hcm0vc2lnY29kZS5TCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290
L3NyYy9zeXMvYXJjaC9hcm0vYXJtL3NpZ2NvZGUuUyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41
CmRpZmYgLXUgLXAgLXIxLjUgc2lnY29kZS5TCi0tLSBzeXMvYXJjaC9hcm0vYXJtL3NpZ2NvZGUu
UwkyMDAzLzA5LzExIDE5OjM2OjI5CTEuNQorKysgc3lzL2FyY2gvYXJtL2FybS9zaWdjb2RlLlMJ
MjAwMy8wOS8xMyAyMDoxMDoxOApAQCAtMzYsOCArMzYsMTAgQEAKIFJDU0lEKCIkTmV0QlNEOiBz
aWdjb2RlLlMsdiAxLjUgMjAwMy8wOS8xMSAxOTozNjoyOSBtYXJ0aW4gRXhwICQiKQogCiAjaW5j
bHVkZSAiYXNzeW0uaCIKKyNpbmNsdWRlICJvcHRfY29tcGF0X25ldGJzZC5oIgogI2luY2x1ZGUg
PHN5cy9zeXNjYWxsLmg+CiAKKyNpZmRlZiBDT01QQVRfMTYKIC8qCiAgKiBTaWduYWwgdHJhbXBv
bGluZTsgY29waWVkIHRvIHRvcCBvZiB1c2VyIHN0YWNrLgogICovCkBAIC01MCw3ICs1MiwxMyBA
QCBFTlRSWV9OUChzaWdjb2RlKQogICogVGhlIHN0YWNrIHBvaW50ZXIgcG9pbnRzIHRvIHRoZSBz
YXZlZCBzaWdjb250ZXh0LgogICovCiAJbW92CXIwLCBzcAorI2lmIGRlZmluZWQoU1lTX2NvbXBh
dF8xNl9fX3NpZ3JldHVybjE0KQorCXN3aQlTWVNfY29tcGF0XzE2X19fc2lncmV0dXJuMTQKKyNl
bGlmIGRlZmluZWQoU1lTX19fc2lncmV0dXJuMTQpCiAJc3dpCVNZU19fX3NpZ3JldHVybjE0Cisj
ZWxzZQorCSNlcnJvciAibm8gc2lncmV0dXJuMTQgc3lzY2FsbCIKKyNlbmRpZgogCiAvKiBXZWxs
IGlmIHRoYXQgZmFpbGVkIHdlIGJldHRlciBleGl0IHF1aWNrICEgKi8KIApAQCAtNjAsMyArNjgs
NCBAQCBFTlRSWV9OUChzaWdjb2RlKQogCS5hbGlnbgkwCiAgICAgICAgIC5nbG9iYWwgX0NfTEFC
RUwoZXNpZ2NvZGUpCiBfQ19MQUJFTChlc2lnY29kZSk6CisjZW5kaWYKSW5kZXg6IHN5cy9hcmNo
L2FybS9hcm0vc3lzY2FsbC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3NyYy9zeXMv
YXJjaC9hcm0vYXJtL3N5c2NhbGwuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOApkaWZmIC11
IC1wIC1yMS4xOCBzeXNjYWxsLmMKLS0tIHN5cy9hcmNoL2FybS9hcm0vc3lzY2FsbC5jCTIwMDMv
MDYvMjkgMjI6Mjg6MDgJMS4xOAorKysgc3lzL2FyY2gvYXJtL2FybS9zeXNjYWxsLmMJMjAwMy8w
OS8xMyAyMDoxMDoxOQpAQCAtMjA2LDYgKzIwNiw3IEBAIHN5c2NhbGxfcGxhaW4oc3RydWN0IHRy
YXBmcmFtZSAqZnJhbWUsIHMKIAlpbnQgY29kZSwgZXJyb3I7CiAJdV9pbnQgbmFwLCBuYXJnczsK
IAlyZWdpc3Rlcl90ICphcCwgKmFyZ3MsIGNvcHlhcmdzW01BWEFSR1NdLCBydmFsWzJdOworCWtz
aWdpbmZvX3Qga3NpOwogCiAJS0VSTkVMX1BST0NfTE9DSyhwKTsKIApAQCAtMjIyLDcgKzIyMywx
MyBAQCBzeXNjYWxsX3BsYWluKHN0cnVjdCB0cmFwZnJhbWUgKmZyYW1lLCBzCiAJCQlicmVhazsK
IAkJZGVmYXVsdDoKIAkJCS8qIFVuZGVmaW5lZCBzbyBpbGxlZ2FsIGluc3RydWN0aW9uICovCi0J
CQl0cmFwc2lnbmFsKGwsIFNJR0lMTCwgaW5zbik7CisJCQkodm9pZCltZW1zZXQoJmtzaSwgMCwg
c2l6ZW9mKGtzaSkpOworCQkJa3NpLmtzaV9zaWdubyA9IFNJR0lMTDsKKwkJCS8qIFhYWCBnZXQg
YW4gSUxMX0lMTFNZU0NBTEwgYXNzaWduZWQgKi8KKwkJCWtzaS5rc2lfY29kZSA9IDA7CisJCQlr
c2kua3NpX2FkZHIgPSAodV9pbnQzMl90ICopKGZyYW1lLT50Zl9wYyAtIElOU05fU0laRSk7CisJ
CQlrc2kua3NpX3RyYXAgPSBpbnNuOworCQkJdHJhcHNpZ25hbChsLCAma3NpKTsKIAkJCWJyZWFr
OwogCQl9CiAKQEAgLTIzNCw3ICsyNDEsMTMgQEAgc3lzY2FsbF9wbGFpbihzdHJ1Y3QgdHJhcGZy
YW1lICpmcmFtZSwgcwogCQlicmVhazsKIAlkZWZhdWx0OgogCQkvKiBVbmRlZmluZWQgc28gaWxs
ZWdhbCBpbnN0cnVjdGlvbiAqLwotCQl0cmFwc2lnbmFsKGwsIFNJR0lMTCwgaW5zbik7CisJCSh2
b2lkKW1lbXNldCgma3NpLCAwLCBzaXplb2Yoa3NpKSk7CisJCWtzaS5rc2lfc2lnbm8gPSBTSUdJ
TEw7CisJCS8qIFhYWCBnZXQgYW4gSUxMX0lMTFNZU0NBTEwgYXNzaWduZWQgKi8KKwkJa3NpLmtz
aV9jb2RlID0gMDsKKwkJa3NpLmtzaV9hZGRyID0gKHVfaW50MzJfdCAqKShmcmFtZS0+dGZfcGMg
LSBJTlNOX1NJWkUpOworCQlrc2kua3NpX3RyYXAgPSBpbnNuOworCQl0cmFwc2lnbmFsKGwsICZr
c2kpOwogCQl1c2VycmV0KGwpOwogCQlyZXR1cm47CiAJfQpAQCAtMzIxLDYgKzMzNCw3IEBAIHN5
c2NhbGxfZmFuY3koc3RydWN0IHRyYXBmcmFtZSAqZnJhbWUsIHMKIAlpbnQgY29kZSwgZXJyb3I7
CiAJdV9pbnQgbmFwLCBuYXJnczsKIAlyZWdpc3Rlcl90ICphcCwgKmFyZ3MsIGNvcHlhcmdzW01B
WEFSR1NdLCBydmFsWzJdOworCWtzaWdpbmZvX3Qga3NpOwogCiAJS0VSTkVMX1BST0NfTE9DSyhw
KTsKIApAQCAtMzM3LDcgKzM1MSwxMyBAQCBzeXNjYWxsX2ZhbmN5KHN0cnVjdCB0cmFwZnJhbWUg
KmZyYW1lLCBzCiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCS8qIFVuZGVmaW5lZCBzbyBpbGxl
Z2FsIGluc3RydWN0aW9uICovCi0JCQl0cmFwc2lnbmFsKGwsIFNJR0lMTCwgaW5zbik7CisJCQko
dm9pZCltZW1zZXQoJmtzaSwgMCwgc2l6ZW9mKGtzaSkpOworCQkJa3NpLmtzaV9zaWdubyA9IFNJ
R0lMTDsKKwkJCS8qIFhYWCBnZXQgYW4gSUxMX0lMTFNZU0NBTEwgYXNzaWduZWQgKi8KKwkJCWtz
aS5rc2lfY29kZSA9IDA7CisJCQlrc2kua3NpX2FkZHIgPSAodV9pbnQzMl90ICopKGZyYW1lLT50
Zl9wYyAtIElOU05fU0laRSk7CisJCQlrc2kua3NpX3RyYXAgPSBpbnNuOworCQkJdHJhcHNpZ25h
bChsLCAma3NpKTsKIAkJCWJyZWFrOwogCQl9CiAKQEAgLTM0OSw3ICszNjksMTMgQEAgc3lzY2Fs
bF9mYW5jeShzdHJ1Y3QgdHJhcGZyYW1lICpmcmFtZSwgcwogCQlicmVhazsKIAlkZWZhdWx0Ogog
CQkvKiBVbmRlZmluZWQgc28gaWxsZWdhbCBpbnN0cnVjdGlvbiAqLwotCQl0cmFwc2lnbmFsKGws
IFNJR0lMTCwgaW5zbik7CisJCSh2b2lkKW1lbXNldCgma3NpLCAwLCBzaXplb2Yoa3NpKSk7CisJ
CWtzaS5rc2lfc2lnbm8gPSBTSUdJTEw7CisJCS8qIFhYWCBnZXQgYW4gSUxMX0lMTFNZU0NBTEwg
YXNzaWduZWQgKi8KKwkJa3NpLmtzaV9jb2RlID0gMDsKKwkJa3NpLmtzaV9hZGRyID0gKHVfaW50
MzJfdCAqKShmcmFtZS0+dGZfcGMgLSBJTlNOX1NJWkUpOworCQlrc2kua3NpX3RyYXAgPSBpbnNu
OworCQl0cmFwc2lnbmFsKGwsICZrc2kpOwogCQl1c2VycmV0KGwpOwogCQlyZXR1cm47CiAJfQpJ
bmRleDogc3lzL2FyY2gvYXJtL2FybS91bmRlZmluZWQuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3Zzcm9vdC9zcmMvc3lzL2FyY2gvYXJtL2FybS91bmRlZmluZWQuYyx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS4xNwpkaWZmIC11IC1wIC1yMS4xNyB1bmRlZmluZWQuYwotLS0gc3lzL2FyY2gvYXJt
L2FybS91bmRlZmluZWQuYwkyMDAzLzA0LzI4IDAxOjU0OjQ5CTEuMTcKKysrIHN5cy9hcmNoL2Fy
bS9hcm0vdW5kZWZpbmVkLmMJMjAwMy8wOS8xMyAyMDoxMDoxOQpAQCAtMTI2LDEwICsxMjYsMjAg
QEAgcmVtb3ZlX2NvcHJvY19oYW5kbGVyKHZvaWQgKmNvb2tpZSkKIHN0YXRpYyBpbnQKIGdkYl90
cmFwcGVyKHVfaW50IGFkZHIsIHVfaW50IGluc24sIHN0cnVjdCB0cmFwZnJhbWUgKmZyYW1lLCBp
bnQgY29kZSkKIHsKKwlzdHJ1Y3QgbHdwICpsOworCWwgPSAoY3VybHdwID09IE5VTEwpID8gJmx3
cDAgOiBjdXJsd3A7CiAKIAlpZiAoaW5zbiA9PSBHREJfQlJFQUtQT0lOVCB8fCBpbnNuID09IEdE
QjVfQlJFQUtQT0lOVCkgewogCQlpZiAoY29kZSA9PSBGQVVMVF9VU0VSKSB7Ci0JCQl0cmFwc2ln
bmFsKGN1cmx3cCwgU0lHVFJBUCwgMCk7CisJCQlrc2lnaW5mb190IGtzaTsKKwkJCSh2b2lkKW1l
bXNldCgma3NpLCAwLCBzaXplb2Yoa3NpKSk7CisJCQlrc2kua3NpX3NpZ25vID0gU0lHVFJBUDsK
KwkJCWtzaS5rc2lfY29kZSA9IFRSQVBfQlJLUFQ7CisJCQlrc2kua3NpX2FkZHIgPSAodV9pbnQz
Ml90ICopYWRkcjsKKwkJCWtzaS5rc2lfdHJhcCA9IDA7CisJCQlLRVJORUxfUFJPQ19MT0NLKGwt
PmxfcHJvYyk7CisJCQl0cmFwc2lnbmFsKGwsICZrc2kpOworCQkJS0VSTkVMX1BST0NfVU5MT0NL
KGwtPmxfcHJvYyk7CiAJCQlyZXR1cm4gMDsKIAkJfQogI2lmZGVmIEtHREIKQEAgLTI0Miw2ICsy
NTIsNyBAQCB1bmRlZmluZWRpbnN0cnVjdGlvbih0cmFwZnJhbWVfdCAqZnJhbWUpCiAKIAlpZiAo
dWggPT0gTlVMTCkgewogCQkvKiBGYXVsdCBoYXMgbm90IGJlZW4gaGFuZGxlZCAqLworCQlrc2ln
aW5mb190IGtzaTsgCiAJCQogI2lmZGVmIFZFUkJPU0VfQVJNMzIKIAkJcyA9IHNwbHR0eSgpOwpA
QCAtMjcwLDggKzI4MSwxNCBAQCB1bmRlZmluZWRpbnN0cnVjdGlvbih0cmFwZnJhbWVfdCAqZnJh
bWUpCiAJCQlEZWJ1Z2dlcigpOwogI2VuZGlmCiAJCX0KLQotCQl0cmFwc2lnbmFsKGwsIFNJR0lM
TCwgZmF1bHRfaW5zdHJ1Y3Rpb24pOworCQkodm9pZCltZW1zZXQoJmtzaSwgMCwgc2l6ZW9mKGtz
aSkpOworCQlrc2kua3NpX3NpZ25vID0gU0lHSUxMOworCQlrc2kua3NpX2NvZGUgPSBJTExfSUxM
T1BDOworCQlrc2kua3NpX2FkZHIgPSAodV9pbnQzMl90ICopZmF1bHRfcGM7CisJCWtzaS5rc2lf
dHJhcCA9IGZhdWx0X2luc3RydWN0aW9uOworCQlLRVJORUxfUFJPQ19MT0NLKGwpOworCQl0cmFw
c2lnbmFsKGwsICZrc2kpOworCQlLRVJORUxfUFJPQ19VTkxPQ0sobCk7CiAJfQogCiAJaWYgKChm
YXVsdF9jb2RlICYgRkFVTFRfVVNFUikgPT0gMCkKSW5kZXg6IHN5cy9hcmNoL2FybS9hcm0zMi9m
YXVsdC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3NyYy9zeXMvYXJjaC9hcm0vYXJt
MzIvZmF1bHQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMQpkaWZmIC11IC1wIC1yMS4zMSBm
YXVsdC5jCi0tLSBzeXMvYXJjaC9hcm0vYXJtMzIvZmF1bHQuYwkyMDAzLzA3LzA5IDIwOjE0OjE1
CTEuMzEKKysrIHN5cy9hcmNoL2FybS9hcm0zMi9mYXVsdC5jCTIwMDMvMDkvMTMgMjA6MTA6MjAK
QEAgLTI2OSw2ICsyNjksNyBAQCBkYXRhX2Fib3J0X2hhbmRsZXIoZnJhbWUpCiAJc3RydWN0IHZt
X21hcCAqbWFwOwogCXZtX3Byb3RfdCBmdHlwZTsKIAlleHRlcm4gc3RydWN0IHZtX21hcCAqa2Vy
bmVsX21hcDsKKwlrc2lnaW5mb190IGtzaTsKIAogCS8qCiAJICogSWYgd2Ugd2VyZSBleHBlY3Rp
bmcgYSBEYXRhIEFib3J0LCBzaWduYWwgdGhhdCB3ZSBnb3QKQEAgLTM4Niw5ICszODcsMTMgQEAg
Y29weWZhdWx0OgogCS8qIGNoZWNrIGlmIHRoaXMgd2FzIGEgZmFpbGVkIGZpeHVwICovCiAJaWYg
KGVycm9yID09IEFCT1JUX0ZJWFVQX0ZBSUxFRCkgewogCQlpZiAodXNlcikgewotCQkJdHJhcHNp
Z25hbChsLCBTSUdTRUdWLCBUUkFQX0NPREUpOwotCQkJdXNlcnJldChsKTsKLQkJCXJldHVybjsK
KwkJCSh2b2lkKW1lbXNldCgma3NpLCAwLCBzaXplb2Yoa3NpKSk7CisJCQlrc2kua3NpX3NpZ25v
ID0gU0lHU0VHVjsKKwkJCWtzaS5rc2lfY29kZSA9IDA7CisJCQlrc2kua3NpX2FkZHIgPSAodV9p
bnQzMl90ICopZmF1bHRfYWRkcmVzczsKKwkJCWtzaS5rc2lfdHJhcCA9IFRSQVBfQ09ERTsKKwkJ
CWtzaS5rc2lfZXJybm8gPSBlcnJvcjsKKwkJCWdvdG8gdHJhcHNpZ25hbDsKIAkJfTsKIAkJcGFu
aWMoIkRhdGEgYWJvcnQgZml4dXAgZmFpbGVkIGluIGtlcm5lbCAtIHdlJ3JlIGRlYWQiKTsKIAl9
OwpAQCAtNDA1LDcgKzQxMCw3IEBAIGNvcHlmYXVsdDoKIAogd2VfcmVfdG9hc3Q6CiAJCS8qCi0J
CSAqIFdlcmUgYXJlIGRlYWQsIHRyeSBhbmQgcHJvdmlkZSBzb21lIGRlYnVnCisJCSAqIFdlJ3Jl
IGFyZSBkZWFkLCB0cnkgYW5kIHByb3ZpZGUgc29tZSBkZWJ1ZwogCQkgKiBpbmZvcm1hdGlvbiBi
ZWZvcmUgZHlpbmcuCiAJCSAqLwogI2lmIGRlZmluZWQoRERCKSB8fCBkZWZpbmVkKEtHREIpCkBA
IC00NTYsNyArNDYxLDE0IEBAIHdlX3JlX3RvYXN0OgogCQlpZiAoKGZyYW1lLT50Zl9zcHNyICYg
UFNSX01PREUpID09IFBTUl9VTkQzMl9NT0RFKSB7CiAJCQlyZXBvcnRfYWJvcnQoIlVORDMyIiwg
ZmF1bHRfc3RhdHVzLAogCQkJICAgIGZhdWx0X2FkZHJlc3MsIGZhdWx0X3BjKTsKLQkJCXRyYXBz
aWduYWwobCwgU0lHU0VHViwgVFJBUF9DT0RFKTsKKwkJCSh2b2lkKW1lbXNldCgma3NpLCAwLCBz
aXplb2Yoa3NpKSk7CisJCQlrc2kua3NpX3NpZ25vID0gU0lHU0VHVjsKKwkJCWtzaS5rc2lfY29k
ZSA9IGZhdWx0X3N0YXR1czsKKwkJCWtzaS5rc2lfYWRkciA9ICh1X2ludDMyX3QgKilmYXVsdF9h
ZGRyZXNzOworCQkJa3NpLmtzaV90cmFwID0gVFJBUF9DT0RFOworCQkJS0VSTkVMX1BST0NfTE9D
SyhwKTsKKwkJCXRyYXBzaWduYWwobCwgJmtzaSk7CisJCQlLRVJORUxfUFJPQ19VTkxPQ0socCk7
CiAKIAkJCS8qCiAJCQkgKiBGb3JjZSBleGl0IHZpYSB1c2VycmV0KCkKQEAgLTU0MiwxNCArNTU0
LDMwIEBAIHdlX3JlX3RvYXN0OgogCX0KIAogCXJlcG9ydF9hYm9ydCgiIiwgZmF1bHRfc3RhdHVz
LCBmYXVsdF9hZGRyZXNzLCBmYXVsdF9wYyk7CisKKwkodm9pZCltZW1zZXQoJmtzaSwgMCwgc2l6
ZW9mKGtzaSkpOworCWtzaS5rc2lfc2lnbm8gPSBTSUdTRUdWOworCWtzaS5rc2lfY29kZSA9IDA7
CisJa3NpLmtzaV9hZGRyID0gKHVfaW50MzJfdCAqKWZhdWx0X2FkZHJlc3M7CisJa3NpLmtzaV90
cmFwID0gVFJBUF9DT0RFOworCWtzaS5rc2lfZXJybm8gPSBydjsKKwkKIAlpZiAocnYgPT0gRU5P
TUVNKSB7CiAJCXByaW50ZigiVVZNOiBwaWQgJWQgKCVzKSwgdWlkICVkIGtpbGxlZDogIgogCQkg
ICAgIm91dCBvZiBzd2FwXG4iLCBwLT5wX3BpZCwgcC0+cF9jb21tLAogCQkgICAgKHAtPnBfY3Jl
ZCAmJiBwLT5wX3VjcmVkKSA/ICBwLT5wX3VjcmVkLT5jcl91aWQgOiAtMSk7Ci0JCQl0cmFwc2ln
bmFsKGwsIFNJR0tJTEwsIFRSQVBfQ09ERSk7Ci0JfSBlbHNlCi0JCXRyYXBzaWduYWwobCwgU0lH
U0VHViwgVFJBUF9DT0RFKTsKKwl9CiAKK3RyYXBzaWduYWw6CisJS0VSTkVMX1BST0NfTE9DSyhw
KTsKKyNpZiAwCisJLyogbWF5YmUgb25lIGRheSB3ZSdsbCBkbyBlbXVsYXRpb25zICovCisJKCpw
LT5wX2VtdWwtPmVfdHJhcHNpZ25hbCkobCwgJmtzaSk7CisjZWxzZQorCXRyYXBzaWduYWwobCwg
JmtzaSk7CisjZW5kaWYKKwlLRVJORUxfUFJPQ19VTkxPQ0socCk7CisKIG91dDoKIAkvKiBDYWxs
IHVzZXJyZXQoKSBpZiBpdCB3YXMgYSBVU1IgbW9kZSBmYXVsdCAqLwogCWlmICh1c2VyKQpAQCAt
NTc4LDYgKzYwNiw3IEBAIHByZWZldGNoX2Fib3J0X2hhbmRsZXIoZnJhbWUpCiAJc3RydWN0IHZt
X21hcCAqbWFwOwogCXZhZGRyX3QgZmF1bHRfcGMsIHZhOwogCWludCBlcnJvcjsKKwlrc2lnaW5m
b190IGtzaTsKIAogCS8qCiAJICogRW5hYmxlIElSUSdzIChkaXNhYmxlZCBieSB0aGUgYWJvcnQp
IFRoaXMgYWx3YXlzIGNvbWVzCkBAIC02NDQsMTYgKzY3MywyMCBAQCBwcmVmZXRjaF9hYm9ydF9o
YW5kbGVyKGZyYW1lKQogCQlwcmludGYoInByZWZldGNoOiBwYyAoJTA4bHgpIG5vdCBpbiB1c2Vy
IHByb2Nlc3Mgc3BhY2VcbiIsCiAJCSAgICBmYXVsdF9wYyk7CiAjZW5kaWYKLQkJdHJhcHNpZ25h
bChsLCBTSUdTRUdWLCBmYXVsdF9wYyk7Ci0JCXVzZXJyZXQobCk7Ci0JCXJldHVybjsKKwkJKHZv
aWQpbWVtc2V0KCZrc2ksIDAsIHNpemVvZihrc2kpKTsKKwkJa3NpLmtzaV9zaWdubyA9IFNJR1NF
R1Y7CisJCWtzaS5rc2lfY29kZSA9IFNFR1ZfQUNDRVJSOworCQlrc2kua3NpX2FkZHIgPSAodV9p
bnQzMl90ICopZmF1bHRfcGM7CisJCWtzaS5rc2lfdHJhcCA9IGZhdWx0X3BjOworCisJCWdvdG8g
cHJlZmV0Y2hfdHJhcHNpZ25hbDsKIAl9CiAKIAkvKgogCSAqIFNlZSBpZiB0aGUgcG1hcCBjYW4g
aGFuZGxlIHRoaXMgZmF1bHQgb24gaXRzIG93bi4uLgogCSAqLwogCWlmIChwbWFwX2ZhdWx0X2Zp
eHVwKG1hcC0+cG1hcCwgdmEsIFZNX1BST1RfUkVBRCwgMSkpCi0JCWdvdG8gb3V0OworCQlnb3Rv
IHByZWZldGNoX291dDsKIAogCWlmIChjdXJyZW50X2ludHJfZGVwdGggPiAwKSB7CiAjaWZkZWYg
RERCCkBAIC02NjcsMTUgKzcwMCwyOSBAQCBwcmVmZXRjaF9hYm9ydF9oYW5kbGVyKGZyYW1lKQog
CiAJZXJyb3IgPSB1dm1fZmF1bHQobWFwLCB2YSwgMCwgVk1fUFJPVF9SRUFEKTsKIAlpZiAoZXJy
b3IgPT0gMCkKLQkJZ290byBvdXQ7Ci0KKwkJZ290byBwcmVmZXRjaF9vdXQ7CisJCisJKHZvaWQp
bWVtc2V0KCZrc2ksIDAsIHNpemVvZihrc2kpKTsKKwlrc2kua3NpX3NpZ25vID0gU0lHU0VHVjsK
Kwlrc2kua3NpX2NvZGUgPSAwOworCWtzaS5rc2lfZXJybm8gPSBlcnJvcjsKKwlrc2kua3NpX2Fk
ZHIgPSAodV9pbnQzMl90ICopZmF1bHRfcGM7CisJa3NpLmtzaV90cmFwID0gZmF1bHRfcGM7CisJ
CiAJaWYgKGVycm9yID09IEVOT01FTSkgewogCQlwcmludGYoIlVWTTogcGlkICVkICglcyksIHVp
ZCAlZCBraWxsZWQ6ICIKIAkJICAgICJvdXQgb2Ygc3dhcFxuIiwgcC0+cF9waWQsIHAtPnBfY29t
bSwKIAkJICAgIChwLT5wX2NyZWQgJiYgcC0+cF91Y3JlZCkgPyAgcC0+cF91Y3JlZC0+Y3JfdWlk
IDogLTEpOwotCQl0cmFwc2lnbmFsKGwsIFNJR0tJTEwsIGZhdWx0X3BjKTsKLQl9IGVsc2UKLQkJ
dHJhcHNpZ25hbChsLCBTSUdTRUdWLCBmYXVsdF9wYyk7Ci1vdXQ6CisJfQorcHJlZmV0Y2hfdHJh
cHNpZ25hbDoKKwlLRVJORUxfUFJPQ19MT0NLKHApOworI2lmIDAKKwkvKiBtYXliZSBvbmUgZGF5
IHdlJ2xsIGRvIGVtdWxhdGlvbnMgKi8KKwkoKnAtPnBfZW11bC0+ZV90cmFwc2lnbmFsKShsLCAm
a3NpKTsKKyNlbHNlCisJdHJhcHNpZ25hbChsLCAma3NpKTsKKyNlbmRpZgorCUtFUk5FTF9QUk9D
X1VOTE9DSyhwKTsKK3ByZWZldGNoX291dDoKIAl1c2VycmV0KGwpOwogfQpJbmRleDogc3lzL2Fy
Y2gvYXJtL2FybTMyL3BtYXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9zcmMvc3lz
L2FyY2gvYXJtL2FybTMyL3BtYXAuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMzgKZGlmZiAt
dSAtcCAtcjEuMTM4IHBtYXAuYwotLS0gc3lzL2FyY2gvYXJtL2FybTMyL3BtYXAuYwkyMDAzLzA5
LzA2IDA5OjQ0OjEwCTEuMTM4CisrKyBzeXMvYXJjaC9hcm0vYXJtMzIvcG1hcC5jCTIwMDMvMDkv
MTMgMjA6MTA6MjQKQEAgLTIxNSw5ICsyMTUsOCBAQAogX19LRVJORUxfUkNTSUQoMCwgIiROZXRC
U0Q6IHBtYXAuYyx2IDEuMTM4IDIwMDMvMDkvMDYgMDk6NDQ6MTAgcmVhcm5zaGEgRXhwICQiKTsK
IAogI2lmZGVmIFBNQVBfREVCVUcKLSNkZWZpbmUJUERFQlVHKF9sZXZfLF9zdGF0XykgXAotCWlm
IChwbWFwX2RlYnVnX2xldmVsID49IChfbGV2XykpIFwKLSAgICAgICAgCSgoX3N0YXRfKSkKKwor
LyogWFhYIG5lZWQgdG8gZ2V0IHJpZCBvZiBhbGwgcmVmcyB0byB0aGlzICovCiBpbnQgcG1hcF9k
ZWJ1Z19sZXZlbCA9IDA7CiAKIC8qCkBAIC0yNDksNyArMjQ4LDYgQEAgaW50IHBtYXBkZWJ1ZyA9
IDA7IAogICAgICAgICAJKChfc3RhdF8pKQogICAgIAogI2Vsc2UJLyogUE1BUF9ERUJVRyAqLwot
I2RlZmluZQlQREVCVUcoX2xldl8sX3N0YXRfKSAvKiBOb3RoaW5nICovCiAjZGVmaW5lIE5QREVC
VUcoX2xldl8sX3N0YXRfKSAvKiBOb3RoaW5nICovCiAjZW5kaWYJLyogUE1BUF9ERUJVRyAqLwog
CkluZGV4OiBzeXMvYXJjaC9hcm0vZm9vdGJyaWRnZS9mb290YnJpZGdlX2Nsb2NrLmMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3JjL3N5cy9hcmNoL2FybS9mb290YnJpZGdlL2Zvb3Ri
cmlkZ2VfY2xvY2suYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNwpkaWZmIC11IC1wIC1yMS4x
NyBmb290YnJpZGdlX2Nsb2NrLmMKLS0tIHN5cy9hcmNoL2FybS9mb290YnJpZGdlL2Zvb3Ricmlk
Z2VfY2xvY2suYwkyMDAzLzAzLzIzIDE0OjEyOjI1CTEuMTcKKysrIHN5cy9hcmNoL2FybS9mb290
YnJpZGdlL2Zvb3RicmlkZ2VfY2xvY2suYwkyMDAzLzA5LzEzIDIwOjEwOjI1CkBAIC00MTAsNyAr
NDEwLDcgQEAgY2FsaWJyYXRlX2RlbGF5KHZvaWQpCiAjZW5kaWYKIH0KIAotaW50IGRlbGF5Y291
bnQgPSA1MDA7CitpbnQgZGVsYXljb3VudCA9IDI1MDAwOwogCiB2b2lkCiBkZWxheShuKQpAQCAt
NDIyLDggKzQyMiwxMCBAQCBkZWxheShuKQogCWlmIChuID09IDApIHJldHVybjsKIAogCi0JLy8g
bm90IGNhbGlicmF0ZWQgdGhlIHRpbWVyIHlldCwgc28gdHJ5IHRvIGxpdmUgd2l0aCB0aGlzIGhv
cnJpYmxlCi0JLy8gbG9vcCEKKwkvKiAKKwkgKiBub3QgY2FsaWJyYXRlZCB0aGUgdGltZXIgeWV0
LCBzbyB0cnkgdG8gbGl2ZSB3aXRoIHRoaXMgaG9ycmlibGUKKwkgKiBsb29wIQorCSAqLwogCWlm
IChkZWxheV9jbG9ja19jb3VudCA9PSAwKQogCXsKIAkgICAgd2hpbGUgKG4tLSA+IDApIHsKSW5k
ZXg6IHN5cy9hcmNoL2FybS9mb290YnJpZGdlL2Zvb3RicmlkZ2VfaXJxaGFuZGxlci5jCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3NyYy9zeXMvYXJjaC9hcm0vZm9vdGJyaWRnZS9mb290
YnJpZGdlX2lycWhhbmRsZXIuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXUgLXAg
LXIxLjkgZm9vdGJyaWRnZV9pcnFoYW5kbGVyLmMKLS0tIHN5cy9hcmNoL2FybS9mb290YnJpZGdl
L2Zvb3RicmlkZ2VfaXJxaGFuZGxlci5jCTIwMDMvMDYvMTYgMjA6MDA6NTcJMS45CisrKyBzeXMv
YXJjaC9hcm0vZm9vdGJyaWRnZS9mb290YnJpZGdlX2lycWhhbmRsZXIuYwkyMDAzLzA5LzEzIDIw
OjEwOjI1CkBAIC00NDcsMTEgKzQ0NywyMCBAQCBmb290YnJpZGdlX2ludHJfZGlzcGF0Y2goc3Ry
dWN0IGNsb2NrZnJhCiAJCS8qIFJlLWVuYWJsZSB0aGlzIGludGVycnVwdCBub3cgdGhhdCdzIGl0
J3MgY2xlYXJlZC4gKi8KIAkJaW50cl9lbmFibGVkIHw9IGliaXQ7CiAJCWZvb3RicmlkZ2Vfc2V0
X2ludHJtYXNrKCk7CisKKwkJLyogYWxzbyBjaGVjayBmb3IgYW55IG5ldyBpbnRlcnJ1cHRzIHRo
YXQgbWF5IGhhdmUgb2NjdXJlZCwKKwkJICogdGhhdCB3ZSBjYW4gaGFuZGxlIGF0IHRoaXMgc3Bs
IGxldmVsICovCisJCWh3cGVuZCB8PSAoZm9vdGJyaWRnZV9pcGVuZGluZyAmIElDVV9JTlRfSFdN
QVNLKSAmIH5wY3BsOwogCX0KIAotCS8qIAotCSAqIHJlc3RvcmUgaW50ZXJydXB0cyB0byB0aGVp
ciBzdGF0ZSBvbiBlbnRyeSwgdGhpcyB3aWxsCi0JICogdHJpZ2dlciBwZW5kaW5nIGludGVycnVw
dHMsIGFuZCBzb2Z0IGFuZCBoYXJkCi0JICovCi0Jc3BseChwY3BsKTsKKwkvKiBDaGVjayBmb3Ig
cGVuZGluZ3Mgc29mdCBpbnRycy4gKi8KKyAgICAgICAgaWYgKChmb290YnJpZGdlX2lwZW5kaW5n
ICYgSU5UX1NXTUFTSykgJiB+Y3VycmVudF9zcGxfbGV2ZWwpIHsKKwkgICAgLyogCisJICAgICAq
IFhYWCB0aGlzIGZlZWxzIHRoZSB3cm9uZyBwbGFjZSB0byBlbmFibGUgaXJxcywgYXMgc29tZQor
CSAgICAgKiBzb2Z0IGludHMgYXJlIGhpZ2hlciBwcmlvcml0eSB0aGFuIGhhcmR3YXJlIGlycXMK
KwkgICAgICovCisgICAgICAgICAgICAgICAgb2xkaXJxc3RhdGUgPSBlbmFibGVfaW50ZXJydXB0
cyhJMzJfYml0KTsKKyAgICAgICAgICAgICAgICBmb290YnJpZGdlX2RvX3BlbmRpbmcoKTsKKyAg
ICAgICAgICAgICAgICByZXN0b3JlX2ludGVycnVwdHMob2xkaXJxc3RhdGUpOworICAgICAgICB9
CiB9CkluZGV4OiBzeXMvYXJjaC9hcm0vaW5jbHVkZS9mcmFtZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnNyb290L3NyYy9zeXMvYXJjaC9hcm0vaW5jbHVkZS9mcmFtZS5oLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtcCAtcjEuNSBmcmFtZS5oCi0tLSBzeXMvYXJjaC9hcm0v
aW5jbHVkZS9mcmFtZS5oCTIwMDMvMDEvMTcgMjI6Mjg6NDgJMS41CisrKyBzeXMvYXJjaC9hcm0v
aW5jbHVkZS9mcmFtZS5oCTIwMDMvMDkvMTMgMjA6MTA6MjYKQEAgLTQ1LDYgKzQ1LDcgQEAKIAog
I2luY2x1ZGUgPHN5cy9zaWduYWwuaD4KICNpbmNsdWRlIDxzeXMvc2EuaD4KKyNpbmNsdWRlIDxz
eXMvdWNvbnRleHQuaD4KIAogLyoKICAqIFRyYXAgZnJhbWUuICBQdXNoZWQgb250byB0aGUga2Vy
bmVsIHN0YWNrIG9uIGEgdHJhcCAoc3luY2hyb25vdXMgZXhjZXB0aW9uKS4KQEAgLTgwLDEwICs4
MSwxNyBAQCB0eXBlZGVmIHN0cnVjdCB0cmFwZnJhbWUgewogLyoKICAqIFNpZ25hbCBmcmFtZS4g
IFB1c2hlZCBvbnRvIHVzZXIgc3RhY2sgYmVmb3JlIGNhbGxpbmcgc2lnY29kZS4KICAqLwotCi1z
dHJ1Y3Qgc2lnZnJhbWUgeworI2lmZGVmIENPTVBBVF8xNgorc3RydWN0IHNpZ2ZyYW1lX3NpZ2Nv
bnRleHQgewogCXN0cnVjdAlzaWdjb250ZXh0IHNmX3NjOwogfTsKKyNlbmRpZgorCisvKiB0aGUg
cG9pbnRlcnMgYXJlIHVzZSBpbiB0aGUgdHJhbXBvbGluZSBjb2RlIHRvIGxvY2F0ZSB0aGUgdWNv
bnRleHQgKi8KK3N0cnVjdCBzaWdmcmFtZV9zaWdpbmZvIHsKKwlzaWdpbmZvX3QJc2Zfc2k7CQkv
KiBhY3R1YWwgc2F2ZWQgc2lnaW5mbyAqLworCXVjb250ZXh0X3QJc2ZfdWM7CQkvKiBhY3R1YWwg
c2F2ZWQgdWNvbnRleHQgKi8KK307CiAKIC8qCiAgKiBTY2hlZHVsZXIgYWN0aXZhdGlvbnMgdXBj
YWxsIGZyYW1lLiAgUHVzaGVkIG9udG8gdXNlciBzdGFjayBiZWZvcmUKQEAgLTk5LDYgKzEwNywx
MCBAQCBzdHJ1Y3Qgc2FmcmFtZSB7CiAjZW5kaWYKIAl2b2lkICoJCXNhX2FyZzsKIH07CisKKyNp
ZmRlZiBfS0VSTkVMCit2b2lkIHNlbmRzaWdfc2lnY29udGV4dChrc2lnaW5mb190ICosIHNpZ3Nl
dF90ICopOworI2VuZGlmCiAKICNlbmRpZiAvKiBfTE9DT1JFICovCiAKSW5kZXg6IHN5cy9hcmNo
L2FybS9pbmNsdWRlL21jb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3Jj
L3N5cy9hcmNoL2FybS9pbmNsdWRlL21jb250ZXh0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MgpkaWZmIC11IC1wIC1yMS4yIG1jb250ZXh0LmgKLS0tIHN5cy9hcmNoL2FybS9pbmNsdWRlL21j
b250ZXh0LmgJMjAwMy8wMS8xNyAyMjoyODo0OAkxLjIKKysrIHN5cy9hcmNoL2FybS9pbmNsdWRl
L21jb250ZXh0LmgJMjAwMy8wOS8xMyAyMDoxMDoyNgpAQCAtOTksNiArOTksMTAgQEAgdHlwZWRl
ZiBzdHJ1Y3QgewogLyogTWFjaGluZS1kZXBlbmRlbnQgdWNfZmxhZ3MgKi8KICNkZWZpbmUJX1VD
X0FSTV9WRlAJMHgwMDAxMDAwMAkvKiBGUFUgZmllbGQgaXMgVkZQICovCiAKKy8qIHVzZWQgYnkg
c2lnbmFsIGRlbGl2ZXJ5IHRvIGluZGljYXRlIHN0YXR1cyBvZiBzaWduYWwgc3RhY2sgKi8KKyNk
ZWZpbmUgX1VDX1NFVFNUQUNLCTB4MDAwMjAwMDAKKyNkZWZpbmUgX1VDX0NMUlNUQUNLCTB4MDAw
NDAwMDAKKwogI2RlZmluZSBfVUNfTUFDSElORV9QQUQJMwkJLyogUGFkZGluZyBhcHBlbmRlZCB0
byB1Y29udGV4dF90ICovCiAKICNkZWZpbmUgX1VDX01BQ0hJTkVfU1AodWMpCSgodWMpLT51Y19t
Y29udGV4dC5fX2dyZWdzW19SRUdfU1BdKQpJbmRleDogc3lzL2FyY2gvYXJtL2luY2x1ZGUvc2ln
bmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3JjL3N5cy9hcmNoL2FybS9pbmNs
dWRlL3NpZ25hbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtcCAtcjEuMyBz
aWduYWwuaAotLS0gc3lzL2FyY2gvYXJtL2luY2x1ZGUvc2lnbmFsLmgJMjAwMy8wNC8yOCAyMzox
NjoxOAkxLjMKKysrIHN5cy9hcmNoL2FybS9pbmNsdWRlL3NpZ25hbC5oCTIwMDMvMDkvMTMgMjA6
MTA6MjYKQEAgLTUyLDYgKzUyLDggQEAKIHR5cGVkZWYgaW50IHNpZ19hdG9taWNfdDsKICNlbmRp
ZgogCisjZGVmaW5lIF9fSEFWRV9TSUdJTkZPCisKICNpZiBkZWZpbmVkKF9ORVRCU0RfU09VUkNF
KQogI2lmbmRlZiBfTE9DT1JFCiAvKgpAQCAtODgsNiArOTAsNyBAQCBzdHJ1Y3Qgc2lnY29udGV4
dDEzIHsKIH07CiAjZW5kaWYgLyogX19MSUJDMTJfU09VUkNFX18gfHwgX0tFUk5FTCAqLwogCisj
aWZkZWYgQ09NUEFUXzE2CiBzdHJ1Y3Qgc2lnY29udGV4dCB7CiAJaW50CXNjX29uc3RhY2s7CQkv
KiBzaWdzdGFjayBzdGF0ZSB0byByZXN0b3JlICovCiAJaW50CV9fc2NfbWFzazEzOwkJLyogc2ln
bmFsIG1hc2sgdG8gcmVzdG9yZSAob2xkIHN0eWxlKSAqLwpAQCAtMTEzLDYgKzExNiw3IEBAIHN0
cnVjdCBzaWdjb250ZXh0IHsKIAkKIAlzaWdzZXRfdCBzY19tYXNrOwkJLyogc2lnbmFsIG1hc2sg
dG8gcmVzdG9yZSAobmV3IHN0eWxlKSAqLwogfTsKKyNlbmRpZgogCiAvKgogICogVGhlIGZvbGxv
d2luZyBtYWNyb3MgYXJlIHVzZWQgdG8gY29udmVydCBmcm9tIGEgdWNvbnRleHQgdG8gc2lnY29u
dGV4dCwK

--Multipart_Sat__13_Sep_2003_21_20_14_+0100_087ca200
Content-Type: application/octet-stream;
 name="libc.siginfo.diff"
Content-Disposition: attachment;
 filename="libc.siginfo.diff"
Content-Transfer-Encoding: base64

SW5kZXg6IGxpYi9saWJjL2FyY2gvYXJtL01ha2VmaWxlLmluYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3Zzcm9vdC9zcmMvbGliL2xpYmMvYXJjaC9hcm0vTWFrZWZpbGUuaW5jLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtcCAtcjEuNSBNYWtlZmlsZS5pbmMKLS0tIGxpYi9saWJj
L2FyY2gvYXJtL01ha2VmaWxlLmluYwkyMDAyLzA3LzEwIDA0OjI5OjA2CTEuNQorKysgbGliL2xp
YmMvYXJjaC9hcm0vTWFrZWZpbGUuaW5jCTIwMDMvMDkvMTMgMjA6MDk6MjEKQEAgLTYsNyArNiw3
IEBAIEtNSU5DTFVERVM9CiBLTVNSQ1M9YXJjaC9hcm0vZ2VuL2RpdnNpMy5TIGFyY2gvYXJtL3N0
cmluZy9tZW1tb3ZlLlMgXAogCWFyY2gvYXJtL3N0cmluZy9tZW1jcHkuUwogCi1TUkNTKz0JX19z
aWdhY3Rpb24xNF9zaWd0cmFtcC5jIF9fc2lndHJhbXAxLlMKK1NSQ1MrPQlfX3NpZ2FjdGlvbjE0
X3NpZ3RyYW1wLmMgX19zaWd0cmFtcDEuUyBfX3NpZ3RyYW1wMi5TCiAKIENQUEZMQUdTICs9IC1E
U09GVEZMT0FUCiAKSW5kZXg6IGxpYi9saWJjL2FyY2gvYXJtL3N5cy9fX3NpZ2FjdGlvbjE0X3Np
Z3RyYW1wLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3JjL2xpYi9saWJjL2FyY2gv
YXJtL3N5cy9fX3NpZ2FjdGlvbjE0X3NpZ3RyYW1wLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MgpkaWZmIC11IC1wIC1yMS4yIF9fc2lnYWN0aW9uMTRfc2lndHJhbXAuYwotLS0gbGliL2xpYmMv
YXJjaC9hcm0vc3lzL19fc2lnYWN0aW9uMTRfc2lndHJhbXAuYwkyMDAzLzAxLzE4IDExOjA2OjI1
CTEuMgorKysgbGliL2xpYmMvYXJjaC9hcm0vc3lzL19fc2lnYWN0aW9uMTRfc2lndHJhbXAuYwky
MDAzLzA5LzEzIDIwOjA5OjIxCkBAIC0zNiwyNSArMzYsNTEgQEAKICAqIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLSNkZWZpbmUJX19MSUJDMTJfU09VUkNFX18KLQogI2luY2x1
ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHNpZ25h
bC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8
c3lzL3N5c2NhbGwuaD4KIAogI2luY2x1ZGUgImV4dGVybi5oIgogCiBfX3dlYWtfYWxpYXMoX19z
aWdhY3Rpb24xNCwgX19saWJjX3NpZ2FjdGlvbjE0KQogCitzdGF0aWMgaW50IGhhdmVfc2lncmV0
dXJuID0gMTsKKworc3RhdGljIHZvaWQgZ2V0X2hhdmVfc2lncmV0dXJuKHZvaWQpOworCitleHRl
cm4gaW50IF9fc2lndHJhbXBfc2lnaW5mb18yW107CitleHRlcm4gaW50IF9fc2lndHJhbXBfc2ln
Y29udGV4dF8xW107CisKK3N0YXRpYyB2b2lkCitnZXRfaGF2ZV9zaWdyZXR1cm4odm9pZCkKK3sK
KwlzdHJ1Y3Qgc2lnYWN0aW9uIG5zYSwgb3NhOworCisJc2lnZW1wdHlzZXQoJm5zYS5zYV9tYXNr
KTsKKwluc2Euc2FfZmxhZ3MgPSAwOworCW5zYS5zYV9oYW5kbGVyID0gU0lHX0lHTjsKKworCV9f
c2lnYWN0aW9uX3NpZ3RyYW1wKFNJR1NZUywgJm5zYSwgJm9zYSwgX19zaWd0cmFtcF9zaWdpbmZv
XzIsIDIpOworCisJKHZvaWQpc3lzY2FsbChTWVNfY29tcGF0XzE2X19fc2lncmV0dXJuMTQsIE5V
TEwpOworCWhhdmVfc2lncmV0dXJuID0gZXJybm8gPT0gRUZBVUxUOworCisJX19zaWdhY3Rpb25f
c2lndHJhbXAoU0lHU1lTLCAmb3NhLCBOVUxMLCBfX3NpZ3RyYW1wX3NpZ2luZm9fMiwgMik7Cit9
CisKKwkKIGludAogX19saWJjX3NpZ2FjdGlvbjE0KGludCBzaWcsIGNvbnN0IHN0cnVjdCBzaWdh
Y3Rpb24gKmFjdCwgc3RydWN0IHNpZ2FjdGlvbiAqb2FjdCkKIHsKLQlleHRlcm4gaW50IF9fc2ln
dHJhbXBfc2lnY29udGV4dF8xW107CisJaWYgKGhhdmVfc2lncmV0dXJuID09IC0xKQorCQlnZXRf
aGF2ZV9zaWdyZXR1cm4oKTsKIAotCS8qCi0JICogUmlnaHQgaGVyZSB3ZSBzaG91bGQgc2VsZWN0
IHRoZSBTQV9TSUdJTkZPIHRyYW1wb2xpbmUKLQkgKiBpZiBTQV9TSUdJTkZPIGlzIHNldCBpbiB0
aGUgc2lnYWN0aW9uLgotCSAqLworCWlmIChoYXZlX3NpZ3JldHVybiAmJiBhY3QgJiYgKGFjdC0+
c2FfZmxhZ3MgJiBTQV9TSUdJTkZPKSA9PSAwKQorCQlyZXR1cm4gX19zaWdhY3Rpb25fc2lndHJh
bXAoc2lnLCBhY3QsIG9hY3QsCisJCSAgICBfX3NpZ3RyYW1wX3NpZ2NvbnRleHRfMSwgMSk7CiAK
LQlyZXR1cm4gKF9fc2lnYWN0aW9uX3NpZ3RyYW1wKHNpZywgYWN0LCBvYWN0LAotCQkJCSAgICAg
X19zaWd0cmFtcF9zaWdjb250ZXh0XzEsIDEpKTsKKwlyZXR1cm4gX19zaWdhY3Rpb25fc2lndHJh
bXAoc2lnLCBhY3QsIG9hY3QsIF9fc2lndHJhbXBfc2lnaW5mb18yLCAyKTsKIH0K

--Multipart_Sat__13_Sep_2003_21_20_14_+0100_087ca200
Content-Type: application/octet-stream;
 name="__sigtramp2.S"
Content-Disposition: attachment;
 filename="__sigtramp2.S"
Content-Transfer-Encoding: base64

LyoJJE5ldEJTRDogX19zaWd0cmFtcDEuUyx2IDEuMSAyMDAyLzA3LzA5IDIzOjMyOjM2IHRob3Jw
ZWogRXhwICQJKi8KCi8qLQogKiBDb3B5cmlnaHQgKGMpIDIwMDIgVGhlIE5ldEJTRCBGb3VuZGF0
aW9uLCBJbmMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFRoaXMgY29kZSBpcyBkZXJp
dmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gVGhlIE5ldEJTRCBGb3VuZGF0aW9uCiAq
IGJ5IEphc29uIFIuIFRob3JwZS4KICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogKiBhcmUg
bWV0OgogKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50
aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCiAqICAgIG11c3QgZGlzcGxh
eSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVz
IHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgTmV0QlNECiAqCUZvdW5kYXRpb24sIEluYy4gYW5k
IGl0cyBjb250cmlidXRvcnMuCiAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgVGhlIE5ldEJTRCBG
b3VuZGF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAogKiAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAq
CiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJ
TkMuIEFORCBDT05UUklCVVRPUlMKICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECiAqIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCiAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Rk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMKICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgogKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgogKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUKICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAqLwoK
I2luY2x1ZGUgIlNZUy5oIgoKLyoKICogVGhlIEFSTSBzaWduYWwgdHJhbXBvbGluZSBpcyBpbnZv
a2VkIG9ubHkgdG8gcmV0dXJuIGZyb20KICogdGhlIHNpZ25hbDsgdGhlIGtlcm5lbCBjYWxscyB0
aGUgc2lnbmFsIGhhbmRsZXIgZGlyZWN0bHkuCiAqCiAqIE9uIGVudHJ5LCB0aGUgc3RhY2sgbG9v
a3MgbGlrZToKICoKICoJCXVjb250ZXh0IHN0cnVjdHVyZQogKglzcC0+CXNpZ2luZm8gc3RydWN0
dXJlCiAqIGFuZCAgcjUgcG9pbnRzIHRvIHRoZSB1Y29udGV4dAogKi8KRU5UUllfTlAoX19zaWd0
cmFtcF9zaWdpbmZvXzIpCgltb3YgcjAsIHI1CQkJCS8qIHNldCB0aGUgYXJnICAgICAgICAgKi8K
CVNZU1RSQVAoc2V0Y29udGV4dCkJCQkvKiBhbmQgY2FsbCBzZXRjb250ZXh0ICovCgoJLyogSWYg
dGhhdCBmYWlsZWQsIGV4aXQgd2l0aCB0aGUgZXJyb3IgY29kZS4gKi8KCVNZU1RSQVAoZXhpdCkK

--Multipart_Sat__13_Sep_2003_21_20_14_+0100_087ca200--