delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/06/02/14:41:05

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <48443F8B.6070104@x-ray.at>
Date: Mon, 02 Jun 2008 20:44:27 +0200
From: Reini Urban <rurban AT x-ray DOT at>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.8.1.13) Gecko/20080313 SeaMonkey/1.1.9
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: rebase src patch (Was: rebase not compilable)
References: <6910a60806020741t7ff86d8bgbb7866e62acf1c09 AT mail DOT gmail DOT com> <484411AA DOT AF8A9011 AT dessent DOT net> <484427D6 DOT 4030103 AT x-ray DOT at>
In-Reply-To: <484427D6.4030103@x-ray.at>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--------------000105010502070106010907
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Reini Urban schrieb:
> Brian Dessent schrieb:
>> Reini Urban wrote:
>>> I thought I'll improve the rebase logic by adding some fixed base
>>> addresses and space to certain apps
>>> (bash, perl, python, rest) to be able to properly rebase the culprit
>>> packages in advance.
>>>
>>> I wanted to start with
>>>   /usr/bin/bash.exe
>>>   /usr/bin/cygintl-8.dll
>>>   /usr/bin/cygiconv-2.dll
>>>   /usr/bin/cygreadline6.dll
>>>   /usr/bin/cygncurses-8.dll
>>> starting at -b 0x70000000 -o 0x10000 downwards,
>>> then perl downwards with some reserve,
>>> then python downwards with some reserve,
>>> then fix rebaseall to work with bash and use the new base below python,
>>> so that for a rebaseall only the cygwin services have to be stopped.
>>
>> Is this really a good direction to move in?  The long term plan, as I
>> understood it, was to simply build everything with
>> --enable-auto-image-base and avoid forever the problem of having to
>> manually rebase ever.  Rebaseall is just a crutch to get us there while
>> we still have legacy packages built without having image bases assigned
>> by the hash; it should not be considered a permanent solution.
> 
> I use --enable-auto-image-base for all standard dll's within perl, but 
> nevertheless I got base conflicts.
> auto-image-base just uses a quasi-random hash based on the file contents 
> (or header), which is obviously too fragile for my sum of dll's.
> For the few packages like bash, perl and python which fail into this 
> trap, I would rather suggest using some reserved base address space.
> I started for perl with 0x52000000 upwards but this was also not enough.
> 
> So I tried it with a custom rebase and rebaseall first.
> rebaseall being bash enabled again, which would be a big winner.
> 
>>> sections.cc: In member function `bool Relocations::relocate(int)':
>>> sections.cc:366: error: ISO C++ forbids cast to non-reference type
>>> used as lvalue
>>> make: *** [sections.o] Error 1
>>
>> The cast-as-lvalue was a nonstandard gcc extension that was disabled in
>> C++ mode (and deprecated for C mode) starting with gcc 3.4.x.  Likely
>> this package is so old that it was last built with gcc 3.3.x which still
>> allowed the construct.  So, one workaround is to temporarily install the
>> [prev] version of gcc-g++ and gcc-core which are the 3.3 versions.
> 
> I know.
> I wanted to hear some magic g++ --allow-non-ansi switch (-std=c89 or 
> such for C++) or some INT2PTR macro.
> 
> $ g++ --help|grep ISO
> is empty

Got it:
-  for (; (char *)&relocp->SizeOfBlock < (char *)relocs + size && 
relocp->SizeOfBlock != 0; ((char *)relocp) += relocp->SizeOfBlock)
+  for (; (char *)&relocp->SizeOfBlock < *(char**)relocs + size && 
relocp->SizeOfBlock != 0; (*(char**)relocp) += relocp->SizeOfBlock)

Attached is my current status for an updated rebase package, cygwin 
compiled. And cygwin-1.7 support.

The code for the ordering on a full rebaseall is still not in.
I suggest to use a manual rebase with reserved bases for the 4 bash 
deps, the perl dll's and the python dll's.
Who else forks a lot? x11 maybe.
-- 
Reini Urban
http://phpwiki.org/  http://murbreak.at/

--------------000105010502070106010907
Content-Type: text/x-patch;
 name="rebase-2.5.0-1.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="rebase-2.5.0-1.patch"

ZGlmZm9yaWcgcmViYXNlLTIuNC4zLTEKCmRpZmYgLXUgIHJlYmFzZS0yLjQu
My0xL0NoYW5nZXMub3JpZwotLS0gcmViYXNlLTIuNC4zLTEvQ2hhbmdlcy5v
cmlnCTIwMDUtMDctMjggMTM6Mjk6NDkuMDAwMDAwMDAwICswMDAwCisrKyBy
ZWJhc2UtMi40LjMtMS9DaGFuZ2VzCTIwMDgtMDYtMDIgMTg6MzE6NDkuODc1
MDAwMDAwICswMDAwCkBAIC0xLDUgKzEsMTggQEAKICRJZDogQ2hhbmdlcyx2
IDEuMyAyMDA1LzA3LzI4IDEzOjI5OjQ0IGp0IEV4cCAkCiAKKzIuNToKKz09
PQorcmViYXNlOgorCisgICAgKiBGaXggY29tcGlsYXRpb24gZml4ZXMgZm9y
IGdjYy0zLjQKKyAgICAqIFN1cHBvcnQgY3lnd2luIDEuNworICAgICogQWRk
ZWQgc3dpdGNoZXMgLWwgKExJU1QpIGFuZCAtYyAoQ0hFQ0spCisKK3JlYmFz
ZWFsbC1iYXNoOgorCisgICAgKiBBZGRlZC4gcmViYXNlIGFsbCBidXQgYmFz
aCBhbmQgaXRzIGRlcGVuZGVuY2llcywgdGh1cyBhbGxvd2luZyAKKyAgICAg
IHJlYmFzaW5nIGZyb20gYmFzaC4KKwogMi40OgogPT09CiBUaGUgZm9sbG93
aW5nIGFyZSB0aGUgY2hhbmdlcyB0byByZWJhc2VhbGw6CmRpZmYgLXUgIHJl
YmFzZS0yLjQuMy0xL01ha2VmaWxlLm9yaWcKLS0tIHJlYmFzZS0yLjQuMy0x
L01ha2VmaWxlLm9yaWcJMjAwNi0wNy0wOSAxNDozNjoxMy4wMDAwMDAwMDAg
KzAwMDAKKysrIHJlYmFzZS0yLjQuMy0xL01ha2VmaWxlCTIwMDgtMDYtMDIg
MTg6MzU6MjUuMTcxODc1MDAwICswMDAwCkBAIC0xLDEzICsxLDEzIEBACiAj
ICRJZDogTWFrZWZpbGUsdiAxLjIxIDIwMDYvMDcvMDkgMTQ6MzY6MDQganQg
RXhwICQKIAotVmVyc2lvbiA9IDIuNC4zCitWZXJzaW9uID0gMi41LjAKIExp
YlZlcnNpb24gPSAkKHNoZWxsIGZncmVwIFJFTEVBU0U9IGltYWdlaGVscGVy
L01ha2VmaWxlLmlufGVncmVwIC1vICdbMC05Ll0rJykKIAogRmlsZXMgPSBy
ZWJhc2UuYwogT2JqZWN0cyA9ICQoRmlsZXM6LmM9Lm8pCiBMaWJzID0gLUwg
aW1hZ2VoZWxwZXIgLWxpbWFnZWhlbHBlcgogRXhjbHVkZSA9IC0tZXhjbHVk
ZT0nKi5bYW9dJyAtLWV4Y2x1ZGU9JyouZXhlJyAtLWV4Y2x1ZGU9Jyoub3V0
JyBcCi0gIAktLWV4Y2x1ZGU9Jy5bQS1aYS16XCNdKicgLS1leGNsdWRlPScq
LmJ6MicgLS1leGNsdWRlPUNWUyAtLWV4Y2x1ZGU9UkNTIFwKKwktLWV4Y2x1
ZGU9Jy5bQS1aYS16XCNdKicgLS1leGNsdWRlPScqLmJ6MicgLS1leGNsdWRl
PUNWUyAtLWV4Y2x1ZGU9UkNTIFwKIAktLWV4Y2x1ZGU9cGtncyAtLWV4Y2x1
ZGU9c2F2ZSAtLWV4Y2x1ZGU9dGVzdAogCiBERVNURElSID0KQEAgLTM3LDYg
KzM3LDcgQEAKIAkkKElOU1RBTEwpIC1kICQoREVTVERJUikkKEJJTkRJUikK
IAkkKElOU1RBTEwpIC1tIDc1NSByZWJhc2UgJChERVNURElSKSQoQklORElS
KQogCSQoSU5TVEFMTCkgLW0gNzU1IHJlYmFzZWFsbCAkKERFU1RESVIpJChC
SU5ESVIpCisJJChJTlNUQUxMKSAtbSA3NTUgcmViYXNlYWxsLWJhc2ggJChE
RVNURElSKSQoQklORElSKQogCSQoSU5TVEFMTCkgLWQgJChERVNURElSKSQo
RE9DRElSKQogCSQoSU5TVEFMTCkgLW0gNjQ0IFJFQURNRSAkKERFU1RESVIp
JChET0NESVIpL3JlYmFzZS0kKFZlcnNpb24pLlJFQURNRQogCmRpZmYgLXUg
IHJlYmFzZS0yLjQuMy0xL2ltYWdlaGVscGVyL0NoYW5nZUxvZy5vcmlnCi0t
LSByZWJhc2UtMi40LjMtMS9pbWFnZWhlbHBlci9DaGFuZ2VMb2cub3JpZwky
MDAzLTAyLTE4IDE1OjUzOjE3LjAwMDAwMDAwMCArMDAwMAorKysgcmViYXNl
LTIuNC4zLTEvaW1hZ2VoZWxwZXIvQ2hhbmdlTG9nCTIwMDgtMDYtMDIgMTc6
MjY6NTUuMTQwNjI1MDAwICswMDAwCkBAIC0xLDMgKzEsNyBAQAorMjAwOC0w
Ni0wMiBSZWluaSBVcmJhbiA8cnVyYmFuQHgtcmF5LmF0Pg0KKw0KKwkqCXNl
Y3Rpb25zLmNjOiBGaXhlZCBjb21waWxhdGlvbiBmb3IgZysrIDMuNA0KKwkN
CiAyMDAzLTAyLTE3ICBKYXNvbiBUaXNobGVyIDxqYXNvbkB0aXNobGVyLm5l
dD4NCiAJCQkJCQkNCiAJKglyZWJhc2VpbWFnZS5jYyAoUmViYXNlSW1hZ2Up
OiBGaXhlcyBidWcgd2hlbiByZWJhc2luZyB1cCANCmRpZmYgLXUgIHJlYmFz
ZS0yLjQuMy0xL2ltYWdlaGVscGVyL0lOU1RBTEwub3JpZwotLS0gcmViYXNl
LTIuNC4zLTEvaW1hZ2VoZWxwZXIvSU5TVEFMTC5vcmlnCTIwMDMtMDEtMDIg
MTc6MDU6MTMuMDAwMDAwMDAwICswMDAwCisrKyByZWJhc2UtMi40LjMtMS9p
bWFnZWhlbHBlci9JTlNUQUxMCTIwMDgtMDYtMDIgMTc6Mjk6MTYuMDkzNzUw
MDAwICswMDAwCkBAIC0xLDM0ICsxLDI3IEBACi1JTlNUQUxMQVRJT04NDQot
PT09PT09PT09PT09DQ0KLQ0NCi1Db21waWxpbmcgDQ0KLS0tLS0tLS0tLQ0N
Ci0NDQotQ3VycmVudGx5IGNvbXBpbGluZyBhbmQgaW5zdGFsbGluZyBuZWVk
cyB0aGUgY3lnd2luIGVudmlyb25tZW50LCB0YXJnZXRzIGFyZSBjeWd3aSBu
YW5kIG1pbmd3IA0NCi0NDQotY29tcGlsaW5nIGZvciBjeWd3aW4gDQ0KLQ0N
Ci0JJCBtYWtlIC1mIE1ha2VmaWxlLmN5Z3dpbiANDQotDQ0KLWNvbXBpbGlu
ZyBmb3IgbWluZ3cgDQ0KLQ0NCi0JJCBtYWtlIC1mIE1ha2VmaWxlLm1pbmd3
IA0NCi0NDQotDQ0KLWluc3RhbGxpbmcNDQotDQ0KLQltYWtlIC1mIE1ha2Vm
aWxlLltjeWd3aW58bWluZ3ddIGluc3RhbGwgDQ0KLQ0NCi0NDQotVW5wYWNr
IHRoaXMgYXJjaGl2ZSBpbiB0aGUgY3lnd2luIHJvb3QgdHJlZS4gSXQgd2ls
bCBpbnN0YWxsIHRoZSByZWJhc2UgZXhlY3V0YWJsZSBpbiAvdXNyL2xvY2Fs
L2Jpbg0NCi0NDQotcmViYXNlIGhhcyBzb21lIG9wdGlvbnMuIFNlZSBiZWxv
dzogDQ0KLQ0NCi0kIHJlYmFzZQ0NCi1yZWJhc2UgUmVsZWFzZTogMC40DQ0K
LXVzYWdlOiByZWJhc2UgWy1EXSAtYiBCYXNlQWRkcmVzcyBbLWRdIC1vIE9m
ZnNldCA8ZmlsZT4gLi4uICByZWJhc2UgPGZpbGU+ICAoWy1EXSBwcmludCBk
ZWJ1ZyBpbmZvcykNDQotdXNhZ2U6IHJlYmFzZSBbLURdIC1sIDxmaWxlPiAu
Li4gICAgICAgIGxpc3QgSW1hZ2ViYXNlIGFuZCAtc2l6ZSBvZiA8ZmlsZT4N
DQotdXNhZ2U6IHJlYmFzZSBbLURdIC1jICAgICAgICAgICAgICAgICAgIGNo
ZWNrIHJlbG9jYXRpb25zDQ0KLXVzYWdlOiByZWJhc2UgWy1EXSAtZiAgICAg
ICAgICAgICAgICAgICBmaXggYmFkIHJlbG9jYXRpb25zDQ0KLQ0NCi0NDQor
SU5TVEFMTEFUSU9ODQorPT09PT09PT09PT09DQorDQorQ29tcGlsaW5nIA0K
Ky0tLS0tLS0tLQ0KKw0KK0N1cnJlbnRseSBjb21waWxpbmcgYW5kIGluc3Rh
bGxpbmcgbmVlZHMgdGhlIGN5Z3dpbiBlbnZpcm9ubWVudCwgdGFyZ2V0cyBh
cmUgY3lnd2luIGFuZCBtaW5ndyANCisNCitjb21waWxpbmcgZm9yIGN5Z3dp
biANCisJJCBtYWtlIC1mIE1ha2VmaWxlLmN5Z3dpbiANCisNCitjb21waWxp
bmcgZm9yIG1pbmd3IA0KKwkkIG1ha2UgLWYgTWFrZWZpbGUubWluZ3cgDQor
DQoraW5zdGFsbGluZw0KKwltYWtlIC1mIE1ha2VmaWxlLltjeWd3aW58bWlu
Z3ddIGluc3RhbGwgDQorDQorVW5wYWNrIHRoaXMgYXJjaGl2ZSBpbiB0aGUg
Y3lnd2luIHJvb3QgdHJlZS4gSXQgd2lsbCBpbnN0YWxsIHRoZSByZWJhc2Ug
ZXhlY3V0YWJsZSANCitpbiAvdXNyL2xvY2FsL2Jpbg0KK3JlYmFzZSBoYXMg
c29tZSBvcHRpb25zLiBTZWUgYmVsb3c6IA0KKw0KKyQgcmViYXNlDQorcmVi
YXNlIFJlbGVhc2U6IDAuOA0KK3VzYWdlOiByZWJhc2UgWy1EXSAtYiBCYXNl
QWRkcmVzcyBbLWRdIC1vIE9mZnNldCA8ZmlsZT4gLi4uICByZWJhc2UgPGZp
bGU+ICAoWy1EXSBwcmludCBkZWJ1ZyBpbmZvcykNCit1c2FnZTogcmViYXNl
IFstRF0gLWwgPGZpbGU+IC4uLiAgICAgICAgbGlzdCBJbWFnZWJhc2UgYW5k
IC1zaXplIG9mIDxmaWxlPg0KK3VzYWdlOiByZWJhc2UgWy1EXSAtYyAgICAg
ICAgICAgICAgICAgICBjaGVjayByZWxvY2F0aW9ucw0KK3VzYWdlOiByZWJh
c2UgWy1EXSAtZiAgICAgICAgICAgICAgICAgICBmaXggYmFkIHJlbG9jYXRp
b25zDQpkaWZmIC11ICByZWJhc2UtMi40LjMtMS9pbWFnZWhlbHBlci9NYWtl
ZmlsZS5pbi5vcmlnCi0tLSByZWJhc2UtMi40LjMtMS9pbWFnZWhlbHBlci9N
YWtlZmlsZS5pbi5vcmlnCTIwMDMtMDEtMDIgMjA6MDc6MzUuMDAwMDAwMDAw
ICswMDAwCisrKyByZWJhc2UtMi40LjMtMS9pbWFnZWhlbHBlci9NYWtlZmls
ZS5pbgkyMDA4LTA2LTAyIDE3OjM1OjA0LjYyNTAwMDAwMCArMDAwMApAQCAt
MSw0ICsxLDQgQEAKLVJFTEVBU0U9MC43DQorUkVMRUFTRT0wLjgNCiANCiBD
WFhGTEFHUz0tTzIgICQoQ1hYRkxBR1NfT1BUKQ0KIExERkxBR1M9JChMREZM
QUdTX09QVCkNCkBAIC00OSwxNSArNDksMTMgQEAKIHZlcnNpb24uYzogCU1h
a2VmaWxlLmluIA0KIAllY2hvICJmbG9hdCByZWxlYXNlID0gJChSRUxFQVNF
KTsgIiA+dmVyc2lvbi5jIA0KIA0KLQkNCiBpbnN0YWxsOiAkKFRBUkdFVFMp
DQogCS91c3IvYmluL2luc3RhbGwgJF4gL3Vzci9sb2NhbC9iaW4NCiAJL3Vz
ci9iaW4vaW5zdGFsbCAtZCAvdXNyL2RvYy9yZWJhc2UtJChSRUxFQVNFKQ0K
IAkvdXNyL2Jpbi9pbnN0YWxsIFJFQURNRSBJTlNUQUxMIC91c3IvZG9jL3Jl
YmFzZS0kKFJFTEVBU0UpDQotCQ0KKw0KIGNsZWFuOiANCiAJcm0gLWYgKi5v
ICouZGxsICouZXhlICouYmFrICouc3RhY2tkdW1wICouYnoyIHZlcnNpb24u
YyAqLm9yaWcgKi5kb3h5Z2VuICouYQ0KLQkNCiANCiBpbmRlbnQ6IA0KIAlh
c3R5bGUgLS1zdHlsZT1nbnUgLXMyIC0tY29udmVydC10YWJzICouY2MgKi5o
DQpAQCAtNzAsOCArNjgsNyBAQAogCUBtYWtlIGNsZWFuDQogCUBjZCAuLiAm
JiB0YXIgLWNqdmYgcmViYXNlLSQoUkVMRUFTRSktc3JjLnRhci5iejIgcmVi
YXNlLyoNCiAJQGVjaG8gImFyY2hpdmUgJ2BjeWdwYXRoIC1hdyAkcmViYXNl
LSQoUkVMRUFTRSktc3JjLnRhci5iejJgJyBjcmVhdGVkIg0KLQkNCisNCiBi
aW5kaXN0OiANCiAJY2QgLyAmJiB0YXIgLWNqdmYgL3RtcC9yZWJhc2UtJChS
RUxFQVNFKS50YXIuYnoyIC91c3IvbG9jYWwvYmluL3JlYmFzZS5leGUgL3Vz
ci9kb2MvcmViYXNlLSQoUkVMRUFTRSkNCiAJbXYgL3RtcC9yZWJhc2UtJChS
RUxFQVNFKS50YXIuYnoyIC4NCi0JClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC11ICByZWJhc2UtMi40LjMtMS9pbWFnZWhlbHBlci9vYmpl
Y3RmaWxlLmNjLm9yaWcKLS0tIHJlYmFzZS0yLjQuMy0xL2ltYWdlaGVscGVy
L29iamVjdGZpbGUuY2Mub3JpZwkyMDAzLTAxLTA0IDEyOjQzOjAwLjAwMDAw
MDAwMCArMDAwMAorKysgcmViYXNlLTIuNC4zLTEvaW1hZ2VoZWxwZXIvb2Jq
ZWN0ZmlsZS5jYwkyMDA4LTA2LTAyIDE3OjM5OjM1LjAxNTYyNTAwMCArMDAw
MApAQCAtMjgsMTcgKzI4LDIyIEBACiAvLyByZWFkIGEgZGxsIGludG8gdGhl
IGNhY2hlDQogDQogI2lmZGVmIF9fQ1lHV0lOX18NCi0jaW5jbHVkZSA8c3lz
L2N5Z3dpbi5oPg0KKyMgIGluY2x1ZGUgPHN5cy9jeWd3aW4uaD4NCisjICBp
bmNsdWRlIDxjeWd3aW4vdmVyc2lvbi5oPg0KICNlbmRpZg0KIA0KICNpZmRl
ZiBfX0NZR1dJTl9fDQotDQotc3RhdGljIGNoYXIgKiBXaW4zMlBhdGgoY2hh
ciAqIHMpDQorc3RhdGljIGNoYXIgKiANCitXaW4zMlBhdGgoY2hhciAqIHMp
DQogew0KICAgY2hhciBidWZbTUFYX1BBVEhdOw0KICAgaWYgKCFzIHx8ICpz
ID09ICdcMCcpDQogICAgIHJldHVybiAiIjsNCisjaWYgKENZR1dJTl9WRVJT
SU9OX0FQSV9NSU5PUiA+PSAxODEpDQorICBjeWd3aW5fY29udl9wYXRoKEND
UF9XSU5fVE9fUE9TSVhfVyB8IENDUF9SRUxBVElWRSwgcywgYnVmLCBNQVhf
UEFUSCk7DQorI2Vsc2UNCiAgIGN5Z3dpbl9jb252X3RvX3dpbjMyX3BhdGgo
cywgYnVmKTsNCisjZW5kaWYNCiAgIHJldHVybiBzdHJkdXAoYnVmKTsNCiB9
DQogI2Vsc2UNCmRpZmYgLXUgIHJlYmFzZS0yLjQuMy0xL2ltYWdlaGVscGVy
L3JlYmFzZV9tYWluLmNjLm9yaWcKLS0tIHJlYmFzZS0yLjQuMy0xL2ltYWdl
aGVscGVyL3JlYmFzZV9tYWluLmNjLm9yaWcJMjAwMy0wMS0wMyAyMjo0NDo1
Ni4wMDAwMDAwMDAgKzAwMDAKKysrIHJlYmFzZS0yLjQuMy0xL2ltYWdlaGVs
cGVyL3JlYmFzZV9tYWluLmNjCTIwMDgtMDYtMDIgMTc6Mzk6NDQuMTcxODc1
MDAwICswMDAwCkBAIC0yNiw3ICsyNiw4IEBACiAjaW5jbHVkZSA8c3RkbGli
Lmg+DQogI2luY2x1ZGUgPGdldG9wdC5oPg0KICNpZmRlZiBfX0NZR1dJTl9f
DQotI2luY2x1ZGUgPHN5cy9jeWd3aW4uaD4NCisjICBpbmNsdWRlIDxzeXMv
Y3lnd2luLmg+DQorIyAgaW5jbHVkZSA8Y3lnd2luL3ZlcnNpb24uaD4NCiAj
ZW5kaWYNCiAjaW5jbHVkZSA8d2luZG93cy5oPg0KIA0KQEAgLTEyMiw3ICsx
MjMsMTEgQEAKIFBvc2l4VG9XaW4zMihjb25zdCBzdHJpbmcmIGFQb3NpeFBh
dGgpDQogew0KICAgY2hhciBhV2luMzJQYXRoW01BWF9QQVRIXTsNCisjaWYg
KENZR1dJTl9WRVJTSU9OX0FQSV9NSU5PUiA+PSAxODEpDQorICBjeWd3aW5f
Y29udl9wYXRoKENDUF9QT1NJWF9UT19XSU5fVyB8IENDUF9SRUxBVElWRSwg
YVBvc2l4UGF0aC5jX3N0cigpLCBhV2luMzJQYXRoLCBNQVhfUEFUSCk7DQor
I2Vsc2UNCiAgIGN5Z3dpbl9jb252X3RvX3dpbjMyX3BhdGgoYVBvc2l4UGF0
aC5jX3N0cigpLCBhV2luMzJQYXRoKTsNCisjZW5kaWYNCiAgIHJldHVybiBh
V2luMzJQYXRoOw0KIH0NCiAjZW5kaWYNCmRpZmYgLXUgIHJlYmFzZS0yLjQu
My0xL2ltYWdlaGVscGVyL3NlY3Rpb25zLmNjLm9yaWcKLS0tIHJlYmFzZS0y
LjQuMy0xL2ltYWdlaGVscGVyL3NlY3Rpb25zLmNjLm9yaWcJMjAwMy0wMi0x
NCAxNTowMToxMy4wMDAwMDAwMDAgKzAwMDAKKysrIHJlYmFzZS0yLjQuMy0x
L2ltYWdlaGVscGVyL3NlY3Rpb25zLmNjCTIwMDgtMDYtMDIgMTc6MjQ6Mzgu
NzgxMjUwMDAwICswMDAwCkBAIC0yODUsNyArMjg1LDcgQEAKICAgaWYgKGRl
YnVnKQ0KICAgICBzdGQ6OmNlcnIgPDwgImRlYnVnOiBjaGVja2luZyByZWxv
Y2F0aW9ucyAuLi4uICIgPDwgc3RkOjplbmRsOw0KIA0KLSAgZm9yICg7IChj
aGFyICopJnJlbG9jcC0+U2l6ZU9mQmxvY2sgPCAoY2hhciAqKXJlbG9jcyAr
IHNpemUgJiYgcmVsb2NwLT5TaXplT2ZCbG9jayAhPSAwOyAoKGNoYXIgKily
ZWxvY3ApICs9IHJlbG9jcC0+U2l6ZU9mQmxvY2spDQorICBmb3IgKDsgKGNo
YXIgKikmcmVsb2NwLT5TaXplT2ZCbG9jayA8ICooY2hhcioqKXJlbG9jcyAr
IHNpemUgJiYgcmVsb2NwLT5TaXplT2ZCbG9jayAhPSAwOyAoKihjaGFyKiop
cmVsb2NwKSArPSByZWxvY3AtPlNpemVPZkJsb2NrKQ0KICAgICB7DQogICAg
ICAgaW50IE51bU9mUmVsb2NzID0gKHJlbG9jcC0+U2l6ZU9mQmxvY2sgLSBz
aXplb2YoSU1BR0VfQkFTRV9SRUxPQ0FUSU9OKSkgLyBzaXplb2YgKFdPUkQp
Ow0KICAgICAgIGludCB2YSA9IHJlbG9jcC0+VmlydHVhbEFkZHJlc3M7DQpA
QCAtMzI4LDcgKzMyOCw3IEBACiAgIGlmIChkZWJ1ZykNCiAgICAgc3RkOjpj
ZXJyIDw8ICJ3YXJuaW5nOiBmaXhpbmcgYmFkIHJlbG9jYXRpb25zIC4uLi4g
IjsNCiANCi0gIGZvciAoOyAoY2hhciAqKSZyZWxvY3AtPlNpemVPZkJsb2Nr
IDwgKGNoYXIgKilyZWxvY3MgKyBzaXplICYmIHJlbG9jcC0+U2l6ZU9mQmxv
Y2sgIT0gMDsgKChjaGFyICopcmVsb2NwKSArPSByZWxvY3AtPlNpemVPZkJs
b2NrKQ0KKyAgZm9yICg7IChjaGFyICopJnJlbG9jcC0+U2l6ZU9mQmxvY2sg
PCAqKGNoYXIqKilyZWxvY3MgKyBzaXplICYmIHJlbG9jcC0+U2l6ZU9mQmxv
Y2sgIT0gMDsgKCooY2hhcioqKXJlbG9jcCkgKz0gcmVsb2NwLT5TaXplT2ZC
bG9jaykNCiAgICAgew0KICAgICAgIGludCBOdW1PZlJlbG9jcyA9IChyZWxv
Y3AtPlNpemVPZkJsb2NrIC0gc2l6ZW9mKElNQUdFX0JBU0VfUkVMT0NBVElP
TikpIC8gc2l6ZW9mIChXT1JEKTsNCiAgICAgICBpbnQgdmEgPSByZWxvY3At
PlZpcnR1YWxBZGRyZXNzOw0KQEAgLTM2Myw3ICszNjMsNyBAQAogICBpZiAo
IXJlbG9jcykNCiAgICAgcmV0dXJuIGZhbHNlOw0KIA0KLSAgZm9yICg7IChj
aGFyICopJnJlbG9jcC0+U2l6ZU9mQmxvY2sgPCAoY2hhciAqKXJlbG9jcyAr
IHNpemUgJiYgcmVsb2NwLT5TaXplT2ZCbG9jayAhPSAwOyAoKGNoYXIgKily
ZWxvY3ApICs9IHJlbG9jcC0+U2l6ZU9mQmxvY2spDQorICBmb3IgKDsgKGNo
YXIgKikmcmVsb2NwLT5TaXplT2ZCbG9jayA8ICooY2hhcioqKXJlbG9jcyAr
IHNpemUgJiYgcmVsb2NwLT5TaXplT2ZCbG9jayAhPSAwOyAoKihjaGFyKiop
cmVsb2NwKSArPSByZWxvY3AtPlNpemVPZkJsb2NrKQ0KICAgICB7DQogICAg
ICAgaW50IE51bU9mUmVsb2NzID0gKHJlbG9jcC0+U2l6ZU9mQmxvY2sgLSBz
aXplb2YoSU1BR0VfQkFTRV9SRUxPQ0FUSU9OKSkgLyBzaXplb2YgKFdPUkQp
Ow0KICAgICAgIGludCB2YSA9IHJlbG9jcC0+VmlydHVhbEFkZHJlc3M7DQpk
aWZmIC11ICByZWJhc2UtMi40LjMtMS9pbWFnZWhlbHBlci92ZXJzaW9uLmMu
b3JpZwotLS0gcmViYXNlLTIuNC4zLTEvaW1hZ2VoZWxwZXIvdmVyc2lvbi5j
Lm9yaWcJMjAwOC0wNi0wMiAxNzoyNTozOS4yMzQzNzUwMDAgKzAwMDAKKysr
IHJlYmFzZS0yLjQuMy0xL2ltYWdlaGVscGVyL3ZlcnNpb24uYwkyMDA4LTA2
LTAyIDE3OjM5OjU2LjAxNTYyNTAwMCArMDAwMApAQCAtMSArMSBAQAotZmxv
YXQgcmVsZWFzZSA9IDAuNzsgCitmbG9hdCByZWxlYXNlID0gMC44OyAKZGlm
ZiAtdSAgcmViYXNlLTIuNC4zLTEvcmViYXNlLmMub3JpZwotLS0gcmViYXNl
LTIuNC4zLTEvcmViYXNlLmMub3JpZwkyMDA0LTAzLTExIDIxOjQ2OjQ0LjAw
MDAwMDAwMCArMDAwMAorKysgcmViYXNlLTIuNC4zLTEvcmViYXNlLmMJMjAw
OC0wNi0wMiAxODoyOTo1MS4wNzgxMjUwMDAgKzAwMDAKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChjKSAyMDAxLCAyMDAyLCAyMDAzIEph
c29uIFRpc2hsZXIKKyAqIENvcHlyaWdodCAoYykgMjAwOCBSZWluaSBVcmJh
bgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieQpAQCAtMjMsNiArMjQsMTAgQEAKICNpbmNsdWRl
IDxzdHJpbmcuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxn
ZXRvcHQuaD4KKyNpZmRlZiBfX0NZR1dJTl9fCisjICBpbmNsdWRlIDxzeXMv
Y3lnd2luLmg+CisjICBpbmNsdWRlIDxjeWd3aW4vdmVyc2lvbi5oPgorI2Vu
ZGlmCiAjaW5jbHVkZSAiaW1hZ2VoZWxwZXIuaCIKIAogQk9PTCByZWJhc2Ug
KGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBVTE9ORyAqbmV3X2ltYWdlX2Jhc2Up
OwpAQCAtMzQsMTIgKzM5LDE5IEBACiBjaGFyICpmaWxlX2xpc3RfZmdldHMg
KGNoYXIgKmJ1ZiwgaW50IHNpemUsIEZJTEUgKmZpbGUpOwogaW50IGZpbGVf
bGlzdF9mY2xvc2UgKEZJTEUgKmZpbGUpOwogdm9pZCB2ZXJzaW9uICgpOwor
I2lmZGVmIF9fQ1lHV0lOX18KK2NoYXIgKnBvc2l4X3RvX3dpbjMyKGNvbnN0
IGNoYXIgKnBvc2l4X3BhdGgpOworI2Vsc2UKKyNkZWZpbmUgcG9zaXhfdG9f
d2luMzIocG9zaXhfcGF0aCkgcG9zaXhfcGF0aAorI2VuZGlmCiAKIFVMT05H
IGltYWdlX2Jhc2UgPSAwOwogQk9PTCBkb3duX2ZsYWcgPSBGQUxTRTsKIFVM
T05HIG9mZnNldCA9IDA7CiBpbnQgYXJnc19pbmRleCA9IDA7CiBpbnQgdmVy
Ym9zZSA9IDA7CitpbnQgbGlzdF9mbGFnID0gMDsKK2ludCBjaGVja19mbGFn
ID0gMDsKIGNvbnN0IGNoYXIgKmZpbGVfbGlzdCA9IDA7CiBjb25zdCBjaGFy
ICpzdGRpbl9maWxlX2xpc3QgPSAiLSI7CiAKQEAgLTk5LDYgKzExMSwxNyBA
QAogICAgICAgcmV0dXJuIFRSVUU7CiAgICAgfQogCisgIGlmIChsaXN0X2Zs
YWcpIAorICAgIHsKKwlzdGF0dXMgPSBHZXRJbWFnZUluZm9zKChjaGFyICop
cGF0aG5hbWUsICZwcmV2X25ld19pbWFnZV9iYXNlLCAmbmV3X2ltYWdlX3Np
emUpOworICAgICAgaWYgKHN0YXR1cykKKwkgIGZwcmludGYgKHN0ZGVyciwg
IiVzOiBJbWFnZUJhc2U9MHgleCBJbWFnZVNpemU9MHgleFxuIiwgcGF0aG5h
bWUsIAorCQkgICBwcmV2X25ld19pbWFnZV9iYXNlLCBuZXdfaW1hZ2Vfc2l6
ZSk7CisgICAgICBlbHNlCisJICBmcHJpbnRmIChzdGRlcnIsICIlczogbGlz
dCBmYWlsZWRcbiIsIHBhdGhuYW1lKTsKKyAgICAgIHJldHVybiBzdGF0dXM7
CisgICAgfQorCiAgIC8qIFNraXAgaWYgbm90IHdyaXRhYmxlLiAqLwogICBp
ZiAoYWNjZXNzIChwYXRobmFtZSwgV19PSykgPT0gLTEpCiAgICAgewpAQCAt
MTA5LDI4ICsxMzIsMzUgQEAKICAgLyogU2tpcCBpZiBub3QgcmViYXNlYWJs
ZS4gKi8KICAgaWYgKCFpc19yZWJhc2VhYmxlIChwYXRobmFtZSkpCiAgICAg
ewotICAgICAgaWYgKHZlcmJvc2UpCisgICAgICBpZiAodmVyYm9zZSB8fCBj
aGVja19mbGFnKQogCWZwcmludGYgKHN0ZGVyciwgIiVzOiBza2lwcGVkIGJl
Y2F1c2Ugbm90IHJlYmFzZWFibGVcbiIsIHBhdGhuYW1lKTsKICAgICAgIHJl
dHVybiBUUlVFOwogICAgIH0KIAorICBpZiAoY2hlY2tfZmxhZykgCisgICAg
eworICAgICAgc3RhdHVzID0gQ2hlY2tJbWFnZSgoY2hhciAqKXBhdGhuYW1l
KTsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiBDaGVja0ltYWdlICVz
XG4iLCBwYXRobmFtZSwgc3RhdHVzID8gIm9rIiA6ICJub3Qgb2siKTsKKyAg
ICAgIHJldHVybiBzdGF0dXM7CisgICAgfQorCiAgIC8qIENhbGN1bGF0ZSBu
ZXh0IGJhc2UgYWRkcmVzcywgaWYgcmViYXNpbmcgZG93bi4gKi8KICAgaWYg
KGRvd25fZmxhZykKICAgICAqbmV3X2ltYWdlX2Jhc2UgLT0gb2Zmc2V0Owog
CiAgIC8qIFJlYmFzZSB0aGUgaW1hZ2UuICovCiAgIHByZXZfbmV3X2ltYWdl
X2Jhc2UgPSAqbmV3X2ltYWdlX2Jhc2U7Ci0gIHN0YXR1cyA9IFJlQmFzZUlt
YWdlICgoY2hhciopIHBhdGhuYW1lLAkvKiBDdXJyZW50SW1hZ2VOYW1lICov
Ci0JCQkgIiIsCQkJLyogU3ltYm9sUGF0aCAqLwotCQkJIFRSVUUsCQkJLyog
ZlJlQmFzZSAqLwotCQkJIEZBTFNFLAkJCS8qIGZSZWJhc2VTeXNmaWxlT2sg
Ki8KLQkJCSBkb3duX2ZsYWcsCQkvKiBmR29pbmdEb3duICovCi0JCQkgMCwJ
CQkvKiBDaGVja0ltYWdlU2l6ZSAqLwotCQkJICZvbGRfaW1hZ2Vfc2l6ZSwJ
LyogT2xkSW1hZ2VTaXplICovCi0JCQkgJm9sZF9pbWFnZV9iYXNlLAkvKiBP
bGRJbWFnZUJhc2UgKi8KLQkJCSAmbmV3X2ltYWdlX3NpemUsCS8qIE5ld0lt
YWdlU2l6ZSAqLwotCQkJIG5ld19pbWFnZV9iYXNlLAkvKiBOZXdJbWFnZUJh
c2UgKi8KLQkJCSB0aW1lICgwKSk7CQkvKiBUaW1lU3RhbXAgKi8KKyAgc3Rh
dHVzID0gUmVCYXNlSW1hZ2UgKChjaGFyICopcGF0aG5hbWUsCS8qIEN1cnJl
bnRJbWFnZU5hbWUgKi8KKwkJCSIiLAkJCS8qIFN5bWJvbFBhdGggKi8KKwkJ
CVRSVUUsCQkJLyogZlJlQmFzZSAqLworCQkJRkFMU0UsCQkJLyogZlJlYmFz
ZVN5c2ZpbGVPayAqLworCQkJZG93bl9mbGFnLAkJLyogZkdvaW5nRG93biAq
LworCQkJMCwJCQkvKiBDaGVja0ltYWdlU2l6ZSAqLworCQkJJm9sZF9pbWFn
ZV9zaXplLAkvKiBPbGRJbWFnZVNpemUgKi8KKwkJCSZvbGRfaW1hZ2VfYmFz
ZSwJLyogT2xkSW1hZ2VCYXNlICovCisJCQkmbmV3X2ltYWdlX3NpemUsCS8q
IE5ld0ltYWdlU2l6ZSAqLworCQkJbmV3X2ltYWdlX2Jhc2UsCQkvKiBOZXdJ
bWFnZUJhc2UgKi8KKwkJCXRpbWUgKDApKTsJCS8qIFRpbWVTdGFtcCAqLwog
CiAgIC8qIE1TJ3MgUmVCYXNlSW1hZ2Ugc2VlbXMgdG8gbmV2ZXIgcmV0dXJu
IGZhbHNlISAqLwogICBzdGF0dXMyID0gR2V0TGFzdEVycm9yICgpOwpAQCAt
MTQwLDcgKzE3MCw3IEBACiAgICAgewogICAgICAgaWYgKHZlcmJvc2UpCiAJ
ZnByaW50ZiAoc3RkZXJyLCAiJXM6IGZpeGluZyBiYWQgcmVsb2NhdGlvbnNc
biIsIHBhdGhuYW1lKTsKLSAgICAgIEJPT0wgc3RhdHVzMyA9IEZpeEltYWdl
ICgoY2hhciopIHBhdGhuYW1lKTsKKyAgICAgIEJPT0wgc3RhdHVzMyA9IEZp
eEltYWdlICgoY2hhciAqKXBhdGhuYW1lKTsKICAgICAgIGlmICghc3RhdHVz
MykKIAl7CiAJICBmcHJpbnRmIChzdGRlcnIsICJGaXhJbWFnZSAoJXMpIGZh
aWxlZCB3aXRoIGxhc3QgZXJyb3IgPSAlbHVcbiIsCkBAIC0xNDksNyArMTc5
LDcgQEAKIAl9CiAKICAgICAgIC8qIFJldHJ5IHJlYmFzZS4qLwotICAgICAg
c3RhdHVzID0gUmVCYXNlSW1hZ2UgKChjaGFyKikgcGF0aG5hbWUsCS8qIEN1
cnJlbnRJbWFnZU5hbWUgKi8KKyAgICAgIHN0YXR1cyA9IFJlQmFzZUltYWdl
ICgoY2hhciAqKXBhdGhuYW1lLAkvKiBDdXJyZW50SW1hZ2VOYW1lICovCiAJ
CQkgICAgIiIsCQkJLyogU3ltYm9sUGF0aCAqLwogCQkJICAgIFRSVUUsCQkv
KiBmUmVCYXNlICovCiAJCQkgICAgRkFMU0UsCQkvKiBmUmViYXNlU3lzZmls
ZU9rICovCkBAIC0xOTEsNyArMjIxLDcgQEAKIHZvaWQKIHBhcnNlX2FyZ3Mg
KGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7Ci0gIGNvbnN0IGNoYXIgKmFu
T3B0aW9ucyA9ICJiOmRvOlQ6dlYiOworICBjb25zdCBjaGFyICphbk9wdGlv
bnMgPSAiYjpkbzpUOnZWbGMiOwogICBpbnQgYW5PcHRpb24gPSAwOwogCiAg
IGZvciAoYW5PcHRpb247IChhbk9wdGlvbiA9IGdldG9wdCAoYXJnYywgYXJn
diwgYW5PcHRpb25zKSkgIT0gLTE7KQpAQCAtMjEyLDExICsyNDIsMTggQEAK
IAkgIGJyZWFrOwogCWNhc2UgJ3YnOgogCSAgdmVyYm9zZSA9IFRSVUU7CisJ
ICBTZXRJbWFnZUhlbHBlckRlYnVnKDEpOwogCSAgYnJlYWs7CiAJY2FzZSAn
Vic6CiAJICB2ZXJzaW9uICgpOwogCSAgZXhpdCAoMSk7CiAJICBicmVhazsK
KwljYXNlICdsJzoKKwkgIGxpc3RfZmxhZyA9IDE7CisJICBicmVhazsKKwlj
YXNlICdjJzoKKwkgIGNoZWNrX2ZsYWcgPSAxOworCSAgYnJlYWs7CiAJZGVm
YXVsdDoKIAkgIHVzYWdlICgpOwogCSAgZXhpdCAoMSk7CkBAIC0yMjQsNyAr
MjYxLDcgQEAKIAl9CiAgICAgfQogCi0gIGlmIChpbWFnZV9iYXNlID09IDAp
CisgIGlmIChpbWFnZV9iYXNlID09IDAgJiYgbGlzdF9mbGFnID09IDAgJiYg
Y2hlY2tfZmxhZyA9PSAwKQogICAgIHsKICAgICAgIHVzYWdlICgpOwogICAg
ICAgZXhpdCAoMSk7CkBAIC0yNDUsOCArMjgyLDkgQEAKIHVzYWdlICgpCiB7
CiAgIGZwcmludGYgKHN0ZGVyciwKLQkgICAidXNhZ2U6IHJlYmFzZSAtYiBC
YXNlQWRkcmVzcyBbLVZkdl0gWy1vIE9mZnNldF0gIgotCSAgICJbLVQgRmls
ZUxpc3QgfCAtXSBGaWxlcy4uLlxuIik7CisJICAgInVzYWdlOiByZWJhc2Ug
LWIgQmFzZUFkZHJlc3MgWy1WZHZdIFstbyBPZmZzZXRdIFstVCBGaWxlTGlz
dCB8IC1dIEZpbGVzLi4uXG4iCisgICAgICAgICAgICJ1c2FnZTogcmViYXNl
IFstdl0gLWwgPGZpbGU+IC4uLiAgICAgICAgbGlzdCBJbWFnZWJhc2UgYW5k
IC1zaXplIG9mIDxmaWxlPlxuIgorICAgICAgICAgICAidXNhZ2U6IHJlYmFz
ZSBbLXZdIC1jICAgICAgICAgICAgICAgICAgIGNoZWNrIHJlbG9jYXRpb25z
Iik7CiB9CiAKIEJPT0wKQEAgLTMzNCw1ICszNzIsMTkgQEAKICAgZnByaW50
ZiAoc3RkZXJyLCAicmViYXNlIHZlcnNpb24gJXMgKGltYWdlaGVscGVyIHZl
cnNpb24gJXMpXG4iLAogCSAgIFZFUlNJT04sIExJQl9WRVJTSU9OKTsKICAg
ZnByaW50ZiAoc3RkZXJyLCAiQ29weXJpZ2h0IChjKSAyMDAxLCAyMDAyLCAy
MDAzLCAyMDA0ICIKLQkgICAiUmFsZiBIYWJhY2tlciBhbmQgSmFzb24gVGlz
aGxlclxuIik7CisJICAgIlJhbGYgSGFiYWNrZXIgYW5kIEphc29uIFRpc2hs
ZXJcbkNvcHlyaWdodCAoYykgMjAwOCBSZWluaSBVcmJhbiIpOworfQorCisj
aWZkZWYgX19DWUdXSU5fXworY2hhciAqCitwb3NpeF90b193aW4zMihjb25z
dCBjaGFyICpwb3NpeF9wYXRoKQoreworICBjaGFyIHdpbjMyX3BhdGhbTUFY
X1BBVEhdOworI2lmIChDWUdXSU5fVkVSU0lPTl9BUElfTUlOT1IgPj0gMTgx
KQorICBjeWd3aW5fY29udl9wYXRoKENDUF9QT1NJWF9UT19XSU5fVyB8IEND
UF9SRUxBVElWRSwgcG9zaXhfcGF0aCwgd2luMzJfcGF0aCwgTUFYX1BBVEgp
OworI2Vsc2UKKyAgY3lnd2luX2NvbnZfdG9fd2luMzJfcGF0aChwb3NpeF9w
YXRoLCB3aW4zMl9wYXRoKTsKKyNlbmRpZgorICByZXR1cm4gd2luMzJfcGF0
aDsKIH0KKyNlbmRpZgpkaWZmIC11ICByZWJhc2UtMi40LjMtMS9yZWJhc2Vh
bGwtYmFzaC5vcmlnCi0tLSByZWJhc2UtMi40LjMtMS9yZWJhc2VhbGwtYmFz
aC5vcmlnCTIwMDgtMDYtMDIgMTg6MjM6MjAuNDIxODc1MDAwICswMDAwCisr
KyByZWJhc2UtMi40LjMtMS9yZWJhc2VhbGwtYmFzaAkyMDA4LTA2LTAyIDE4
OjM0OjI0LjE3MTg3NTAwMCArMDAwMApAQCAtMCwwICsxLDEyNCBAQAorIyEv
YmluL2Jhc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDAzLCAyMDA1LCAyMDA2
IEphc29uIFRpc2hsZXIKKyMgQ29weXJpZ2h0IChjKSAyMDA4IFJlaW5pIFVy
YmFuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIEEgY29w
eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgY2FuIGJlIGZv
dW5kIGF0CisjIGh0dHA6Ly93d3cuZ251Lm9yZy8KKyMKKyMgV3JpdHRlbiBi
eSBKYXNvbiBUaXNobGVyIDxqYXNvbkB0aXNobGVyLm5ldD4KKyMKKyMgJElk
OiByZWJhc2VhbGwsdiAxLjIwIDIwMDYvMDcvMDkgMTQ6MzY6MTgganQgRXhw
ICQKKyMKKworIyBEZWZpbmUgY29uc3RhbnRzCitQQVRIPS9iaW4KK1Byb2dy
YW1OYW1lPWBiYXNlbmFtZSAkMGAKK1Byb2dyYW1PcHRpb25zPSdiOm86czpU
OnYnCisjIGJhc2ggZGVwcyBzdGFydCBhdCAweDcwMDAwMDAwIHdpdGggc2l6
ZQorRGVmYXVsdEJhc2VBZGRyZXNzPTB4NmZmZjAwMDAKK0RlZmF1bHRPZmZz
ZXQ9MHgxMDAwMAorRGVmYXVsdFZlcmJvc2U9CitEZWZhdWx0RmlsZUxpc3Q9
CitEZWZhdWx0U3VmZml4ZXM9J2RsbHxzbycKK0Jhc2hFeGNsdWRlcz0nL2Jp
bi9iYXNoXC5leGV8L2Jpbi9jeWdpbnRsLThcLmRsbHwvYmluL2N5Z2ljb252
LTJcLmRsbHwvYmluL2N5Z3JlYWRsaW5lNlwuZGxsfC9iaW4vY3lnbmN1cnNl
cy04XC5kbGwnCisKKyMgRGVmaW5lIGZ1bmN0aW9ucwordXNhZ2UoKQorewor
ICAgIGVjaG8gInVzYWdlOiAkUHJvZ3JhbU5hbWUgWy1iIEJhc2VBZGRyZXNz
XSBbLW8gT2Zmc2V0XSBbLXMgRGxsU3VmZml4XSBbLVQgRmlsZUxpc3QgfCAt
XSBbLXZdIgorICAgIGV4aXQgMQorfQorCitjbGVhbnVwKCkKK3sKKyAgICBy
bSAtZiAiJFRtcEZpbGUiCisgICAgZXhpdCAkRXhpdENvZGUKK30KKworIyBT
ZXQgdHJhcHMKK3RyYXAgY2xlYW51cCAxIDIgMTUKKworIyBTZXQgZGVmYXVs
dHMKK0Jhc2VBZGRyZXNzPSREZWZhdWx0QmFzZUFkZHJlc3MKK09mZnNldD0k
RGVmYXVsdE9mZnNldAorVmVyYm9zZT0kRGVmYXVsdFZlcmJvc2UKK0ZpbGVM
aXN0PSREZWZhdWx0RmlsZUxpc3QKK1N1ZmZpeGVzPSREZWZhdWx0U3VmZml4
ZXMKKworIyBWZXJpZnkgb25seSBiYXNoIHByb2Nlc3NlcyBhcmUgcnVubmlu
ZworZ3JlcCAtRSAtcSAtaSAtdiAnL2Jhc2goLmV4ZSk/JCcgL3Byb2MvWzAt
OV0qL2V4ZW5hbWUKK2lmIFsgJD8gLWVxIDAgLWEgLXogIiRSZWJhc2VEZWJ1
ZyIgXQordGhlbgorICAgIGVjaG8gIiRQcm9ncmFtTmFtZTogb25seSBiYXNo
IHByb2Nlc3NlcyBhcmUgYWxsb3dlZCBkdXJpbmcgcmViYXNpbmciCisgICAg
ZWNobyAiICAgIEV4aXQgYWxsIEN5Z3dpbiBwcm9jZXNzZXMgYW5kIHN0b3Ag
YWxsIEN5Z3dpbiBzZXJ2aWNlcy4iCisgICAgZWNobyAiICAgIEV4ZWN1dGUg
Jy9iaW4vJFByb2dyYW1OYW1lJyBmcm9tIGJhc2guIgorICAgIGV4aXQgMgor
ZmkKKworIyBQYXJzZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzCit3aGlsZSBn
ZXRvcHRzICRQcm9ncmFtT3B0aW9ucyBPcHRpb24gIiRAIgorZG8KKyAgICBj
YXNlICRPcHRpb24gaW4KKyAgICBiKQorCUJhc2VBZGRyZXNzPSRPUFRBUkc7
OworICAgIG8pCisJT2Zmc2V0PSRPUFRBUkc7OworICAgIHMpCisJU3VmZml4
ZXM9IiRTdWZmaXhlc3wkT1BUQVJHIjs7CisgICAgVCkKKwlGaWxlTGlzdD0i
JE9QVEFSRyI7OworICAgIHYpCisJVmVyYm9zZT0tdjs7CisgICAgXD8pCisJ
dXNhZ2U7OworICAgIGVzYWMKK2RvbmUKKworIyBTZXQgdGVtcCBkaXJlY3Rv
cnkKK1RtcERpcj0iJHtUTVA6LSR7VEVNUDotL3RtcH19IgorCisjIFZhbGlk
YXRlIHRlbXAgZGlyZWN0b3J5CitpZiBbICEgLWQgIiRUbXBEaXIiIF0KK3Ro
ZW4KKyAgICBlY2hvICIkUHJvZ3JhbU5hbWU6ICckVG1wRGlyJyBpcyBub3Qg
YSBkaXJlY3RvcnkiCisgICAgZXhpdCAyCitmaQoraWYgWyAhIC13ICIkVG1w
RGlyIiBdCit0aGVuCisgICAgZWNobyAiJFByb2dyYW1OYW1lOiAnJFRtcERp
cicgaXMgbm90IHdyaXRhYmxlIgorICAgIGV4aXQgMgorZmkKKworIyBWYWxp
ZGF0ZSB1c2VyIHN1cHBsaWVkIGZpbGUgbGlzdCwgaWYgbmVjZXNzYXJ5Citp
ZiBbIC1uICIkRmlsZUxpc3QiIC1hICEgLXIgIiRGaWxlTGlzdCIgLWEgIiRG
aWxlTGlzdCIgIT0gLSBdCit0aGVuCisgICAgZWNobyAiJFByb2dyYW1OYW1l
OiAnJEZpbGVMaXN0JyBpcyBub3QgcmVhZGFibGUiCisgICAgZXhpdCAyCitm
aQorCisjIFNldCB0ZW1wIGZpbGUKK1RtcEZpbGU9IiRUbXBEaXIvcmViYXNl
LmxzdCIKKworIyBDcmVhdGUgcmViYXNlIGxpc3QKKyMgVE9ETzogRG8gc29t
ZSByZXNodWZmbGluZyB3aXRoIHNvbWUgZml4ZWQgZW50cmllcyBhdCB0aGUg
ZnJvbnQgKGJhc2gsIHBlcmwsIHB5dGhvbikKK2d6aXAgLWQgLWMgL2V0Yy9z
ZXR1cC8qLmxzdC5neiB8IGdyZXAgLUUgIigkU3VmZml4ZXMpXCQiIHwgZ3Jl
cCAtdkUgIigkQmFzaEV4Y2x1ZGVzKVwkIiB8XAorICAgIHNlZCAtZSAnL2N5
Z3dpbjEuZGxsJC9kJyAtZSAncy9eL1wvLycgPiIkVG1wRmlsZSIKKworIyBB
cHBlbmQgdXNlciBzdXBwbGllZCBmaWxlIGxpc3QsIGlmIGFueQoraWYgWyAt
biAiJEZpbGVMaXN0IiBdCit0aGVuCisgICAgY2F0ICIkRmlsZUxpc3QiID4+
IiRUbXBGaWxlIgorZmkKKworIyBSZWJhc2UgZmlsZXMKK3JlYmFzZSAkVmVy
Ym9zZSAtZCAtYiAkQmFzZUFkZHJlc3MgLW8gJE9mZnNldCAtVCAiJFRtcEZp
bGUiCitFeGl0Q29kZT0kPworCisjIENsZWFuIHVwCitjbGVhbnVwCg==


--------------000105010502070106010907
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
--------------000105010502070106010907--

- Raw text -


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