From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Timothy J. Wood" To: Dave Love Cc: egcs@cygnus.com Subject: Re: Openstep Date: Fri, 23 Jan 1998 13:30:00 -0000 Message-id: <199801230306.TAA28249@ignem.omnigroup.com> References: X-SW-Source: 1998-01/msg00830.html Content-type: multipart/mixed; boundary="----------=_1583532953-671-7" This is a multi-part message in MIME format... ------------=_1583532953-671-7 Content-length: 3082 I had a version of egcs-971225 up and running under OpenStep/4.2 Mach (i386-next-nextstep4), but through some random change I seem to have broken my local copy. The changes required to get a naive port (about all I'm able to do considering how much I know about gcc/egcs) were pretty minimal. Included below is a message I sent to another person that asked (on one of the OpenStep/Rhapsody lists if I remember correctly). I haven't had time to get back to working on this yet, but feel free to take up the torch :) The changes necessary to get this working on Rhapsody might be more substantial since Rhapsody has a standard BSD4.4 include structure instead of the non-standard tree that NeXT previously had. You *might* be able to do a really quick and dirty port by just using {i386,ppc}-next-nextstep4 as your configuration (heck, configure might even figure it out). The biggest piece of work left to do is to make gcc do the correct PIC stuff for the latest linker (pretty much the same on OpenStep/4.2 and Rhapsody DR1 Intel -- I haven't looked at what they do on PPC). The current approach (static references) would make the linker complain about relocation entries in non-writable sections (meaning that you'll make pages writable at dylinker time and end up using more VM). I doesn't complain since I set up the specs file to call the linker with args to make it shut up about these warnings ... hopefully a temporary state of affairs. There may be some large number of errors in the regression tests. I was able to get dejagnu up and limping along, but I'm not convinced that I ever got any valid results out of it, mostly since I don't really know how to use it correctly. :) Basic hand-written tests of C and ObjC work(ed). In particular, I could subclass NSObject (which is in a different framework) and stuff didn't crash. I didn't test C++ or Fortran at all. I don't recall the C++ libraries failing to build, so that might be a very minimal test. -tim X-Nextstep-Mailer: Mail 4.2mach (Enhance 2.0b5) From: Timothy J. Wood Date: Mon, 12 Jan 98 10:35:55 -0800 To: gvandyk@icon.co.za Subject: Re: egcs, gcc, OPENSTEP, and Apple Reply-To: Timothy J. Wood X-Url: ` http://www.omnigroup.com/People/bungi Strangely, I can't seem to get it to work again, but I don't see how I could have messed it up. A bunch of weird stuff is getting inserted into the middle of gcc/Makefile. The stage1 still seems to build, but partway through stage2, I get a gnumake error. Perhaps this is some local configuration detail that has changed and this won't effect you. I can't guarantee that these patches will work though :) There are three files that have changed. Here are the diffs: egcs-971225-nextstep-diffs Here is the log of changes I made while building stuff up. If you get to the part where you are ready to run the regression tests, let me know if you what the changes I made to the egcs snapshot of dejagnu (they are pretty minor and described in my log file). egcs-i386-next-nextstep4-notes -tim ------------=_1583532953-671-7 Content-Type: text/x-diff; charset=us-ascii; name="egcs-971225-nextstep-diffs" Content-Disposition: inline; filename="egcs-971225-nextstep-diffs" Content-Transfer-Encoding: base64 Content-Length: 5987 KioqIGVnY3MtOTcxMjI1L2djYy9jY2NwLmMgICAgICBTdW4gSmFuIDExIDIy OjE3OjExIDE5OTgKLS0tIGRpc3QvZWdjcy05NzEyMjUvZ2NjL2NjY3AuYyBN b24gRGVjICA4IDIzOjU1OjE3IDE5OTcKKioqKioqKioqKioqKioqCioqKiAz NTgsMzY5ICoqKioKICAKICAvKiBOb256ZXJvIG1lYW5zIHdhcm4gaWYgI2lt cG9ydCBpcyB1c2VkLiAgKi8KICAKLSAjaWZkZWYgTmVYVAotIC8qIE5FWFRT VEVQIHVzZXMgI2ltcG9ydCBpbiBhbGwgb2YgdGhlIHN5c3RlbSBoZWFkZXJz LiAgR2VuZXJhdGluZyBhIHdhcm5pbmcgZWFjaCB0aW1lIGlzIG5vdCBhbiBv cHRpb24uICovCi0gc3RhdGljIGludCB3YXJuX2ltcG9ydCA9IDA7Ci0gI2Vs c2UKICBzdGF0aWMgaW50IHdhcm5faW1wb3J0ID0gMTsKLSAjZW5kaWYKICAK ICAvKiBOb256ZXJvIG1lYW5zIHR1cm4gd2FybmluZ3MgaW50byBlcnJvcnMu ICAqLwogIAotLS0gMzU4LDM2NCAtLS0tCioqKiBlZ2NzLTk3MTIyNS9nY2Mv Y3BwbGliLmMgICAgU3VuIEphbiAxMSAyMjoxNzo0NSAxOTk4Ci0tLSBkaXN0 L2VnY3MtOTcxMjI1L2djYy9jcHBsaWIuYyAgICAgICBTYXQgRGVjICA2IDE2 OjI4OjE0IDE5OTcKKioqKioqKioqKioqKioqCioqKiA4MTEsODIyICoqKioK ICAgIG9wdHMtPnBlZGFudGljX2Vycm9ycyA9IDA7CiAgICBvcHRzLT5pbmhp Yml0X3dhcm5pbmdzID0gMDsKICAgIG9wdHMtPndhcm5fY29tbWVudHMgPSAw OwotICNpZmRlZiBOZVhUCi0gLyogTkVYVFNURVAgdXNlcyAjaW1wb3J0IGlu IGFsbCBvZiB0aGUgc3lzdGVtIGhlYWRlcnMuICBHZW5lcmF0aW5nIGEgd2Fy bmluZyBlYWNoIHRpbWUgaXMgbm90IGFuIG9wdGlvbi4gKi8KLSAgIG9wdHMt Pndhcm5faW1wb3J0ID0gMDsKLSAjZWxzZQogICAgb3B0cy0+d2Fybl9pbXBv cnQgPSAxOwotICNlbmRpZgogICAgb3B0cy0+d2FybmluZ3NfYXJlX2Vycm9y cyA9IDA7CiAgfQogIAotLS0gODExLDgxNyAtLS0tCioqKiBlZ2NzLTk3MTIy NS9nY2MvY29uZmlnL25leHRzdGVwLmggICBNb24gSmFuIDEyIDEwOjExOjAx IDE5OTgKLS0tIGRpc3QvZWdjcy05NzEyMjUvZ2NjL2NvbmZpZy9uZXh0c3Rl cC5oICAgICAgU2F0IERlYyAgNiAwOToyNDowNiAxOTk3CioqKioqKioqKioq KioqKgoqKiogMTA0LDEyMCAqKioqCiAgCiAgLyogVGhlc2UgY29tcGlsZXIg b3B0aW9ucyB0YWtlIG4gYXJndW1lbnRzLiAgKi8KICAKLSAjd2FybmluZyBU Slc6IFRoaXMgZG9lcyBub3Qgd29yayBxdWl0ZSByaWdodCBzaW5jZSB3ZSBk byBub3QgaW5jbHVkZWQgYWxsIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgTlM0 LjIgc3BlY3MgZmlsZSBpbiB0aGUgc3BlY3MgZmlsZSBnZW5lcmF0ZWQgZm9y IHRoZSBzdGFnZTEgYnVpbGQuICBTbywgSSBhbSBndWVzc2luZyB0aGF0IHRo aXMgaXMgbm90IGRlZmluZWQgZm9yIHRoZSBzdGFnZSB0d28gYnVpbGQuCi0g Ci0gI2lmIE5TX1RBUkdFVF9NQUpPUiA+PSA0Ci0gICAgLyogVGhpcyBpcyBh biBpbmNvbXBsZXRlIGxpc3Qgb2YgdGhlIG5ldyBhcmdzIHRoYXQgdGhlIGxp bmtlciBhY2NlcHRzICovCi0gICAgLyogVEpXOiBOZWVkIHRvIGdldCB0byBp bnRlZ3JhdGUgdGhlIC1GIHN3aXRjaCBmb3IgYWRkaW5nIGZyYW1ld29yayBk aXJlY3Rvcmllcy4gIENvdWxkIHByb2JhYmx5IGp1c3QgY3JpYiB0aGUgY29k ZSBmcm9tIHRoZSBOZVhUIHZlcnNpb24gb2YgZ2NjLiAqLwotICNkZWZpbmUg TlM0X1dPUkRfU1dJVENIX0FSRyhTVFIpIFwKLSAgICAhc3RyY21wIChTVFIs ICJmcmFtZXdvcmsiKSA/IDEgOgotICNlbHNlCi0gI2RlZmluZSBOUzRfV09S RF9TV0lUQ0hfQVJHKFNUUikKLSAjZW5kaWYKLSAKICAjdW5kZWYgICAgICAg IFdPUkRfU1dJVENIX1RBS0VTX0FSRwogICNkZWZpbmUgV09SRF9TV0lUQ0hf VEFLRVNfQVJHKFNUUikgICAgICAgICAgICBcCiAgICAoREVGQVVMVF9XT1JE X1NXSVRDSF9UQUtFU19BUkcgKFNUUikgPyAxIDogIFwKLS0tIDEwNCwxMDkg LS0tLQoqKioqKioqKioqKioqKioKKioqIDEzMiwxMzggKioqKgogICAgICFz dHJjbXAgKFNUUiwgInNpZmYtd2FybmluZyIpID8gMSA6ICAgICAgICAgICAg ICAgIFwKICAgICAhc3RyY21wIChTVFIsICJhcmNoIikgPyAxIDogICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgIXN0cmNtcCAoU1RSLCAicGFnZXpl cm9fc2l6ZSIpID8gMSA6ICAgICAgICAgICAgICAgXAotICAgIE5TNF9XT1JE X1NXSVRDSF9BUkcoU1RSKSAgICAgICAgICAgICAgICAgICBcCiAgICAgMCkK ICAKICAjdW5kZWYgICAgICAgIFdPUkRfU1dJVENICi0tLSAxMjEsMTI2IC0t LS0KKioqKioqKioqKioqKioqCioqKiAxNjgsMTk4ICoqKioKICAvKiBNYWNo aW5lIGRlcGVuZGVudCBsaWJyYXJpZXMuICAqLwogIAogICN1bmRlZiAgICAg ICAgTElCX1NQRUMKLSAjaWYgTlNfVEFSR0VUX01BSk9SID49IDQKLSAjZGVm aW5lIExJQl9TUEVDICIleyFwb3NpeCo6LWxjY19keW5hbWljIC1mcmFtZXdv cmsgU3lzdGVtfSAle3Bvc2l4KjotbHBvc2l4fSIKLSAjZWxzZQogICNkZWZp bmUgTElCX1NQRUMgIiV7IXBvc2l4KjotbHN5c19zfSAle3Bvc2l4KjotbHBv c2l4fSIKLSAjZW5kaWYKICAKISAvKiBXZSBzcGVjaWZ5IGNydFswMV0ubyBh cyAtbGNydFswMV0ubyBzbyB0aGF0IGxkIHdpbGwgc2VhcmNoIHRoZSBsaWJy YXJ5IHBhdGguICovCiAgCiAgI3VuZGVmICAgICAgICBTVEFSVEZJTEVfU1BF QwotICNpZiBOU19UQVJHRVRfTUFKT1IgPj0gNAotICAgICAvKiBUSlc6IEkg ZGlkIG5vdCB0b3VjaCB0aGUgcHJvZmlsaW5nIHBhcnQgb2YgdGhpcyAqLwot ICAgICAvKiBUSlc6IFRoZSAnLXJlYWRfb25seV9yZWxvY3Mgc3VwcHJlc3Mn IGRpc2FibGVzIHdhcm5pbmdzIGdlbmVyYXRlZCBieSB0aGUgTmVYVCBsaW5r ZXIKLSAgICAgICAgZHVlIHRvIHRoZSBmYWN0IHRoYXQgZWdjcyBpcyBwdXR0 aW5nIHJlbG9jYXRpb24gZW50cmllcyBpbiB0aGUgdGV4dCBzZWdtZW50Ci0g ICAgICAgIHJhdGhlciB0aGFuIChJIHByZXN1bWUpIHRoZSBkYXRhIHNlZ21l bnQuICBTb21lb25lIHNob3VsZCBmaXggdGhpcyB3aGVuIHRoZXkKLSAgICAg ICAgZ2V0IGEgY2hhbmNlLiAgVGhpcyBkb2Vzbid0IGJyZWFrIGFueXRoaW5n IHRoYXQgSSBrbm93IG9mLCBidXQganVzdCBtYWtlcyB0aGUKLSAgICAgICAg cHJvZ3JhbSB0YWtlIHVwIG1vcmUgc3dhcCAoc2luY2UgaXQgaGFzIHRvIG1h a2UgdGhvc2UgcGFnZXMgd3JpdGFibGUpLgotICAgICAgKi8KLSAjZGVmaW5l IFNUQVJURklMRV9TUEVDICBcCi0gICAgICIleyFwb3NpeCo6JXtwZzotcmVh ZF9vbmx5X3JlbG9jcyBzdXBwcmVzcyAtZHluYW1pYyAtbGdjcnQxLm99JXsh cGc6IFwKLSAgICAgICV7cDolZS1wIHByb2ZpbGluZyBpcyBubyBsb25nZXIg c3VwcG9ydGVkLiAgVXNlIC1wZyBpbnN0ZWFkLn0gXAotICAgICAgJXshcDot cmVhZF9vbmx5X3JlbG9jcyBzdXBwcmVzcyAtZHluYW1pYyAtbGNydDEub319 fVwKLSAgICAgICV7cG9zaXgqOiV7cGc6LWxncG9zaXhjcnQwLm99JXshcGc6 IFwKLSAgICAgICV7cDolZS1wIHByb2ZpbGluZyBpcyBubyBsb25nZXIgc3Vw cG9ydGVkLiAgVXNlIC1wZyBpbnN0ZWFkLn0gXAotICAgICAgJXshcDotbHBv c2l4Y3J0MC5vfX19IgotICNlbHNlCiAgI2RlZmluZSBTVEFSVEZJTEVfU1BF QyAgXAogICAgICAiJXshcG9zaXgqOiV7cGc6LWxnY3J0MC5vfSV7IXBnOiBc CiAgICAgICAle3A6JWUtcCBwcm9maWxpbmcgaXMgbm8gbG9uZ2VyIHN1cHBv cnRlZC4gIFVzZSAtcGcgaW5zdGVhZC59IFwKLS0tIDE1NiwxNjYgLS0tLQog IC8qIE1hY2hpbmUgZGVwZW5kZW50IGxpYnJhcmllcy4gICovCiAgCiAgI3Vu ZGVmICAgICAgICBMSUJfU1BFQwogICNkZWZpbmUgTElCX1NQRUMgIiV7IXBv c2l4KjotbHN5c19zfSAle3Bvc2l4KjotbHBvc2l4fSIKICAKISAvKiBXZSBz cGVjaWZ5IGNydDAubyBhcyAtbGNydDAubyBzbyB0aGF0IGxkIHdpbGwgc2Vh cmNoIHRoZSBsaWJyYXJ5IHBhdGguICovCiAgCiAgI3VuZGVmICAgICAgICBT VEFSVEZJTEVfU1BFQwogICNkZWZpbmUgU1RBUlRGSUxFX1NQRUMgIFwKICAg ICAgIiV7IXBvc2l4Kjole3BnOi1sZ2NydDAub30leyFwZzogXAogICAgICAg JXtwOiVlLXAgcHJvZmlsaW5nIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBV c2UgLXBnIGluc3RlYWQufSBcCioqKioqKioqKioqKioqKgoqKiogMjAwLDIw NiAqKioqCiAgICAgICAle3Bvc2l4Kjole3BnOi1sZ3Bvc2l4Y3J0MC5vfSV7 IXBnOiBcCiAgICAgICAle3A6JWUtcCBwcm9maWxpbmcgaXMgbm8gbG9uZ2Vy IHN1cHBvcnRlZC4gIFVzZSAtcGcgaW5zdGVhZC59IFwKICAgICAgICV7IXA6 LWxwb3NpeGNydDAub319fSIKLSAjZW5kaWYKICAKICAvKiBBbGxvdyAjc3Nj cyAoYnV0IGRvbid0IGRvIGFueXRoaW5nKS4gKi8KICAKLS0tIDE2OCwxNzMg LS0tLQo= ------------=_1583532953-671-7 Content-Type: text/x-c; charset=us-ascii; name="egcs-i386-next-nextstep4-notes" Content-Disposition: inline; filename="egcs-i386-next-nextstep4-notes" Content-Transfer-Encoding: base64 Content-Length: 8520 U291cmNlICBpbiAvQ2FjaGUvYnVuZ2kvZWdjcy05NzEyMjUKT2JqZWN0cyBp biAvQ2FjaGUvYnVuZ2kvZWdjcy1vYmpkaXItOTcxMjI1CmNvbmZpZ3VyZWQg d2l0aDoKCkNDPSIvYmluL2NjIC10cmFkaXRpb25hbC1jcHAiIC4uL2VnY3Mt OTcxMjI1L2NvbmZpZ3VyZSAtLXByZWZpeD0vQ2FjaGUvYnVuZ2kvZWdjcy1p bnN0YWxsLTk3MTIyNSAtLXdpdGhvdXQtZ251LWFzIC0td2l0aG91dC1nbnUt bGQKCkNvbmZpZ3VyaW5nIGZvciBhIGkzODYtbmV4dC1uZXh0c3RlcDQgaG9z dC4KQ3JlYXRlZCAiTWFrZWZpbGUiIGluIC9DYWNoZS9idW5naS9lZ2NzLW9i amRpci05NzEyMjUKTGlua3MgYXJlIG5vdyBzZXQgdXAgdG8gYnVpbGQgYSBu YXRpdmUgY29tcGlsZXIgZm9yIGkzODYtbmV4dC1uZXh0c3RlcDQKCiAgVGhl IENDIGRlZmluaXRpaW9uIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCAtdHJh ZGl0aW9uYWwtY3BwIGlzIHNlbnQgdG8gdGhlIHN5c3RlbSBjb21waWxlci4K ICBUaGUgTmVYVCBzdXBwbGllZCBwb3J0IG9mIGdjYyAyLjcuMiB1c2VzIGEg ZGlmZmVyZW50IHZlcnNpb24gb2YgY3BwIHRoYXQgc3VwcG9ydHMgcHJlY29t cGlsZWQgaGVhZGVycy4gIFVuZm9ydHVuYXRlbHksIHRoaXMgcHJvZ3JhbSBo YXMgbWFueSBidWdzLCBpbmNsdWRpbmcgdGhlIGZhY3QgdGhhdCBpdCBkb2Vz bid0IHVuZGVyc3RhbmQgJ19fYXR0cmlidXRlX18nLiAgRm9ydHVuYXRlbHks IGl0IGNhbiBiZSB0dXJuZWQgb2ZmIGFuZCB0aGUgbm9ybWFsIHZlcnNpb24g dXNlZCB3aXRoICctdHJhZGl0aW9uYWwtY3BwJy4gIFRoaXMgc2VlbXMgdG8g YmUgYWRkcmVzc2VkIHNvbWV3aGVyZSBzaW5jZSB0aGUgZ2VuZXJhdGVkIGdj Yy9NYWtlZmlsZSBjb250YWlucyB0aGUgbGluZXM6CgogICAgIyMjI2hvc3Qg b3ZlcnJpZGVzCiAgICAKICAgICMgTWFrZSBhc3NpZ25tZW50cyBmb3IgY29t cGlsaW5nIG9uIE5lWFQgd2l0aCB0aGVpciBjb21waWxlciB2ZXJzaW9uLgog ICAgQ0M9Y2MgLXRyYWRpdGlvbmFsLWNwcAogICAgT0xEQ0M9Y2MgLXRyYWRp dGlvbmFsLWNwcAoKICBCdXQgLXRyYWRpdGlvbmFsLWNwcCBpcyBuZXZlciBp c3N1ZWQgd2hlbiBjb21waWxpbmcgLmMgZmlsZXMuICBUaGlzIGNhdXNlcyBj Y2NwLmMgdG8gZmFpbCBhbmQgZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyB0byBm YWlsLgogIFJlY29uZmlndXJpbmcgd2l0aCBDQz0iL2Jpbi9jYyAtdHJhZGl0 aW9uYWwtY3BwIiBzZWVtcyB0byBmaXggdGhlIHByb2JsZW0sIGJ1dCBpdCBz aG91bGRuJ3QgYmUgbmVjZXNzYXJ5LgoKICBBZnRlciBjb25maWd1cmluZywg anVzdCBkbyBhICdnbnVtYWtlIGJvb3RzdHJhcCcKCgoKICBEZXNjcmlwdGlv biBvZiBjaGFuZ2VzOgoKLS0tLS0tLS0tLS0tCgogIFVuZGVyIE5FWFRTVEVQ IGFuZCBSaGFwc29keSwgaXQgaXMgdG90YWxseSBpbmFwcHJvcHJpYXRlIHRv IHdhcm4gb24gdXNhZ2Ugb2YgJyNpbXBvcnQnLiAgSSd2ZSBtb2RpZmllZCBj Y2NwLmMgYW5kIGxpYmNjcC5jIHRvIG5vdCBkbyB0aGlzIGlmIE5lWFQgaXMg ZGVmaW5lZC4KCi0tLS0tLS0tLS0tLQoKICBBZnRlciBidWlsZGluZyB4Z2Nj LCAnZW5xdWlyZScgaXMgYnVpbHQgd2l0aCB4Z2NjLiAgVGhlIHByb2dyYW0g bGlua3MsIGJ1dCBmYWlscyBvbiBzdGFydHVwIGR1ZSB0byBtaXN1c2Ugb2Yg dGhlIGJ1aWx0aW4gbGlua2VyLgoKLi94Z2NjIC12IC1CLi8gLURJTl9HQ0Mg LWcgLUkuL2luY2x1ZGUgZW5xdWlyZS5vIC1vIGVucXVpcmUKUmVhZGluZyBz cGVjcyBmcm9tIC4vc3BlY3MKZ2NjIHZlcnNpb24gZWdjcy0yLjkxLjAzIDk3 MTIyNSAoZ2NjLTIuOC4wKQogLi9sZCAtbyBlbnF1aXJlIC1sY3J0MC5vIC1M LiBlbnF1aXJlLm8gLWxnY2MgLWxzeXNfcyAtbGdjYwovYmluL2xkOiB3YXJu aW5nIHRhYmxlIG9mIGNvbnRlbnRzIG9mIGxpYnJhcnk6IC4vbGliZ2NjLmEg bm90IHNvcnRlZCBzbG93ZXIgbGluayBlZGl0aW5nIHdpbGwgcmVzdWx0ICh1 c2UgdGhlIHJhbmxpYigxKSAtcyBvcHRpb24pCgoKLi9sZCAtdiAtbyBlbnF1 aXJlIC1sY3J0MC5vIC1MLiBlbnF1aXJlLm8gLWxnY2MgLWxzeXNfcyAtbGdj Ywpjb2xsZWN0MiB2ZXJzaW9uIGVnY3MtMi45MS4wMyA5NzEyMjUgKGdjYy0y LjguMCkgKDgwMzg2LCBCU0Qgc3ludGF4KQovYmluL2xkIC12IC1vIGVucXVp cmUgLWxjcnQwLm8gLUwuIGVucXVpcmUubyAtbGdjYyAtbHN5c19zIC1sZ2Nj Ci9iaW4vbGQ6IHVua25vd24gZmxhZzogLXYKY29sbGVjdDI6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKCiAgT24gT3BlblN0ZXAvNC4yIE1hY2gsIGlm IHlvdSBkbyAnZWNobyAibWFpbigpe30gPiAvdG1wL2Zvby5jIiBhbmQgdGhl biAiY2MgLXYgL3RtcC9mb28uYyAtbyAvdG1wL2ZvbyIsIHlvdSBnZXQ6CgpS ZWFkaW5nIHNwZWNzIGZyb20gL2xpYi9pMzg2L3NwZWNzCk5lWFQgU29mdHdh cmUsIEluYy4gdmVyc2lvbiBjYy03NDQuMTMsIGdjYyB2ZXJzaW9uIDIuNy4y LjEKIC9saWIvaTM4Ni9jcHAtcHJlY29tcCAtc21hcnQgLWxhbmctYyAtdiAt YXJjaCBpMzg2IC11bmRlZiAtRF9fR05VQ19fPTIgLURfX0dOVUNfTUlOT1Jf Xz03IC1EX19HTlVfXyAtRGkzODYgLUROZVhUIC1EdW5peCAtRF9fTUFDSF9f IC1EX19MSVRUTEVfRU5ESUFOX18gLURfX0FSQ0hJVEVDVFVSRV9fPSJpMzg2 IiAtRF9faTM4Nl9fIC1EX19OZVhUX18gLURfX3VuaXhfXyAtRF9fTUFDSF9f IC1EX19MSVRUTEVfRU5ESUFOX18gLURfX0FSQ0hJVEVDVFVSRV9fPSJpMzg2 IiAtRF9faTM4NiAtRF9fTmVYVCAtRF9fdW5peCAtRF9fU1REQ19fIC1EX05F WFRfU09VUkNFIC1ETlhfQ09NUElMRVJfUkVMRUFTRV8zXzA9MzAwIC1ETlhf Q09NUElMRVJfUkVMRUFTRV8zXzE9MzEwIC1ETlhfQ09NUElMRVJfUkVMRUFT RV8zXzI9MzIwIC1ETlhfQ09NUElMRVJfUkVMRUFTRV8zXzM9MzMwIC1ETlhf Q1VSUkVOVF9DT01QSUxFUl9SRUxFQVNFPTQxMCAtRE5TX1RBUkdFVD00MSAt RE5TX1RBUkdFVF9NQUpPUj00IC1ETlNfVEFSR0VUX01JTk9SPTEgLURfX05F WFRfQ1BQX18gLURfX0RZTkFNSUNfXyAvdG1wL2Zvby5jIC91c3IvdG1wL2Nj MDAwNzkxLmkKTmVYVCBEZXZLaXQtYmFzZWQgQ1BQIDQuMAogL2xpYi9pMzg2 L2NjMW9iaiAvdXNyL3RtcC9jYzAwMDc5MS5pIC1hcmNoIGkzODYgLXF1aWV0 IC1kdW1wYmFzZSBmb28uYyAtdmVyc2lvbiAtZHluYW1pYyAtZlBJQyAtbyAv dXNyL3RtcC9jYzAwMDc5MS5zCkdOVSBPYmotQyB2ZXJzaW9uIDIuNy4yLjEg KDgwMzg2LCBCU0Qgc3ludGF4KSBjb21waWxlZCBieSBHTlUgQyB2ZXJzaW9u IDIuNy4yLjEuCiAvbGliL2kzODYvYXMgLWFyY2ggaTM4NiAtbyAvdXNyL3Rt cC9jYzAwMDc5MS1mb28ubyAvdXNyL3RtcC9jYzAwMDc5MS5zCiAvYmluL2xk IC1hcmNoIGkzODYgLW8gL3RtcC9mb28gLWR5bmFtaWMgLWxjcnQxLm8gL3Vz ci90bXAvY2MwMDA3OTEtZm9vLm8gLWxjY19keW5hbWljIC1mcmFtZXdvcmsg U3lzdGVtCiAvYmluL29iamN1bmlxdWUgL3RtcC9mb28KCiAgU28sIGlmIEkg cmVwbGFjZSB0aGUgZWdjcyBnZW5lcmF0ZWQgbGQgY29tbWFuZCB3aXRoOgoK L2Jpbi9sZCAtYXJjaCBpMzg2IC1vIGVucXVpcmUgLWR5bmFtaWMgLWxjcnQx Lm8gZW5xdWlyZS5vIC1sY2NfZHluYW1pYyAtZnJhbWV3b3JrIFN5c3RlbQoK ICBJIGdldDoKCi9iaW4vbGQ6IHdhcm5pbmcgZW5xdWlyZS5vIGhhcyBleHRl cm5hbCByZWxvY2F0aW9uIGVudHJpZXMgaW4gbm9uLXdyaXRhYmxlIHNlY3Rp b24gKF9fVEVYVCxfX3RleHQpIGZvciBzeW1ib2xzOgpfcHJpbnRmCl9zZXRq bXAKX2ZwcmludGYKX19pb2IKX3NzY2FuZgpfX2Zsc2J1Zgpfc3ByaW50Zgpf c3RyY21wCl9leGl0Cl9zaWduYWwKX21hbGxvYwpfbG9uZ2ptcAoKICBTaW5j ZSB0aGUgZWdjcyBnZW5lcmF0ZWQgY29kZSBpcyB1c2luZyBzdGF0aWMgcmVm ZXJlbmNlcyB0byBmdW5jdGlvbnMgaW4gZHluYW1pYyBzaGFyZWQgbGlicmFy aWVzLiAgVGhpcyBpcyBhbm5veWluZywgYnV0IHRoZSBleGVjdXRhYmxlIHdv cmtzLgoKLS0tLS0tLS0tLS0tCgogIEkgd2FzIGFibGUgdG8gYWRkIGEgbGlu a2VyIGZsYWcgKHVuZG9jdW1lbnRlZCwgSSB0aGluaykgdG8gdGhlIHNwZWNz IHN0dWZmIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5ncyBhYm91dCB0aGUgc3Rh dGljIHJlbG9jYXRpb24gZW50cmllcy4KCi0tLS0tLS0tLS0tLQoKICBBdCB0 aGlzIHBvaW50LCBlZ2NzIGJ1aWxkcy4gIFNvLCBJIGRvd25sb2FkZWQgZGVq YWdudSBhbmQgY29uZmlndXJlZCB3aXRoOgoKL0NhY2hlL2J1bmdpL2RlamFn bnUtOTcxMDI4ICAgICAgICAgIFNvdXJjZQovQ2FjaGUvYnVuZ2kvZGVqYWdu dS1vYmpkaXItOTcxMDI4ICAgT2JqZWN0cwovQ2FjaGUvYnVuZ2kvZGVqYWdu dS1pbnN0YWxsLTk3MTAyOCAgSW5zdGFsbAoKCi4uL2RlamFnbnUtOTcxMDI4 L2NvbmZpZ3VyZSAtLXByZWZpeD0vQ2FjaGUvYnVuZ2kvZGVqYWdudS1pbnN0 YWxsLTk3MTAyOApDb25maWd1cmluZyBmb3IgYSBpMzg2LW5leHQtbmV4dHN0 ZXA0IGhvc3QuCkNyZWF0ZWQgIk1ha2VmaWxlIiBpbiAvQ2FjaGUvYnVuZ2kv ZGVqYWdudS1vYmpkaXItOTcxMDI4Ci4uLy4uLy4uL2RlamFnbnUtOTcxMDI4 L3RjbC91bml4L2NvbmZpZ3VyZTogdW5hbWU6IG5vdCBmb3VuZApjb25maWd1 cmU6IHdhcm5pbmc6IENhbid0IGZpbmQgVGsgY29uZmlndXJhdGlvbiBkZWZp bml0aW9ucwpjb25maWd1cmU6IHdhcm5pbmc6IENhbid0IGZpbmQgSXRjbCBw cml2YXRlIGhlYWRlcnMKY29uZmlndXJlOiB3YXJuaW5nOiBDYW4ndCBmaW5k IFRrIHByaXZhdGUgaGVhZGVycwpjb25maWd1cmU6IHdhcm5pbmc6IE5vIFgg YmFzZWQgcHJvZ3JhbXMgd2lsbCBiZSBidWlsdAoKLS0tLS0tLS0tLS0tCgog IHRjbFVuaXhGQ21kLmMgdXNlcyBzb21lIFBPU0lYIGRlZmluZXMgdGhhdCBh cmUgbm90IGF2YWlsYWJsZSBieSBkZWZhdWx0IG9uIE5FWFRTVEVQLiAgQWRk ZWQgdGhlIGZvbGxvd2luZyB0byB0aGUgdG9wIG9mIHRoaXMgZmlsZSBoYWNr ZWQgYXJvdW5kIHRoZSBwcm9ibGVtLiAgQSBiZXR0ZXIgc29sdXRpb24gaXMg bmVlZGVkLgoKI2lmZGVmIF9ORVhUX1NPVVJDRQojZGVmaW5lIF9QT1NJWF9T T1VSQ0UKI2VuZGlmCgotLS0tLS0tLS0tLS0KCiAgVGhlIHRjbCBwYWNrYWdl ZCB3aXRoIHRoZSBkZWphZ251IHNuYXBzaG90IGRvZXMgbm90IGNvbnRhaW4g YWxsIG9mIHRoZSBzb3VyY2UgdGhhdCB0aGUgbm9ybWFsIGRlamFnbnUgdGNs IHBhY2thZ2UgY29udGFpbnMuICBJbiBwYXJ0aWN1bGFyLCBpdCB3YXMgbWlz c2luZyB0Y2xMb2FkTmV4dC5jLiAgSSBjb3BpZWQgdGhpcyBmcm9tIGRlamFn bnUtMS4zLgoKICBBZGRpdGlvbmFsbHksIHRoZSBydWxlIG5lY2Vzc2FyeSB0 byBjYXVzZSB0aGlzIGZpbGUgdG8gZ2V0IGJ1aWx0IHdhcyBtaXNzaW5nIChl dmVuIHRob3VnaCB0aGUgTWFrZWZpbGUgY29udGFpbmVkIGNvZGUgdG8gdXNl IHRoZSBvdXRwdXQpLiAgVGhpcyB3YXMgZWFzaWx5IGZpeGVkIGJ5IHBhdGNo aW5nIGluIGEgaGFjayB0byB0aGUgTWFrZWZpbGUgYnkgaGFuZC4KCi0tLS0t LS0tLS0tLQoKICBUaGUgZ2VuZXJhdGVkIE1ha2VmaWxlIGluIHRoZSB0Y2wg ZGlyZWN0b3J5IHdhcyB0cnlpbmcgdG8gYWRkICctbGMnIHdoaWNoIGlzIG5v dCBjb3JyZWN0IGZvciBORVhUU1RFUC4gIFJlbW92ZSB0aGUgcmVmZXJlbmNl IGJ5IGhhbmQuCgotLS0tLS0tLS0tLS0KCiAgVGhlIHRjbExvYWROZXh0LmMg ZGlkbid0IGhhdmUgYSBkZWZpbml0aW9uIG9mIFRjbEd1ZXNzUGFja2FnZU5h bWUoKSBhbHRob3VnaCBvdGhlciBsb2FkIGZpbGVzIGRvLiAgQ29waWVkIHRo ZSBkZWZpbml0aW9uIGZyb20gdGNsTG9hZERsZC5jIChqdXN0IHJldHVybnMg MCB0byBpbmRpY2F0ZSB0aGF0IGl0IGNvdWxkbid0IGd1ZXNzKS4KCi0tLS0t LS0tLS0tLQoKICBORVhUU1RFUCBkb2Vzbid0IGhhdmUgYSBta2ZpZm8gKGF0 IGxlYXN0IHcvbyAtbHBvc2l4IHdoaWNoIGRvZXNuJ3Qgd29yayByZWFsIHdl bGwpLiAgQ2hhbmdlZCB0Y2xVbml4RkNtZC5jIHRvIGp1c3QgcmV0dXJuIGFu IGVycm9yIGZyb20gVGNscENvcHlGaWxlKCkgaWYgdGhlIGlucHV0IGlzIGEg RklGTy4KCi0tLS0tLS0tLS0tLQoKICBBZnRlciBidWlsZGluZyBhbmQgaW5z dGFsbGluZyB0aGUgcGF0Y2hlZCBkZWphZ251IGluIC9DYWNoZS9idW5naS9k ZWphZ251LWluc3RhbGwtOTcxMDI4LCBJIHJhbiB0aGUgdGVzdHMgd2l0aDoK CiAgUEFUSD0kUEFUSDovQ2FjaGUvYnVuZ2kvZGVqYWdudS1pbnN0YWxsLTk3 MTAyOC9iaW4gZ251bWFrZSAtayBjaGVjawoKCgoK ------------=_1583532953-671-7--