Date: Wed, 26 Nov 1997 19:52:18 +0100 (MET) From: Hans-Bernhard Broeker To: DJ Delorie cc: djgpp workers list Subject: alpha-971114: next round of Makefile changes Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-494318816-1005916374-880570338=:15411" Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info. ---494318816-1005916374-880570338=:15411 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi DJ, and everyone Attached via MIME, you'll find the next round of changes for djlsr202.zip I propose. It's meant to be applied on top of the previous one I sent. I call it 'level 3', internally, with the the previous round counting as level 1, and an (unupublished) tour to Linux cross-compilation and back to DOS as 'level 2'. Here's a short overview of what I changed, (and what's still awaiting a change. For more details, see the 'src/readme.hbb' file in the patched sources, or just read the diff file. * emu387.dxe wasn't built by make; now it is. * Several small changes to allow for cross-building the whole set of tools. The most flaky part was dxegen and its use in building emu387.dxe. Most of these changes were adapted from my earlier hack at the 2.01 sources. * remque.txh now documents remque(), not putenv() * DJ: I had mentioned non-source files remaining in the dist, and promised you a list of those. Actually, there seemed to be only two of them that really shouldn't be in there: stub.map and djasm-n.c. These are now 'make clean'ed. * Unzipping the sources on Linux (with '-a' to get rid of CR's) exposes some filename problems, mainly the .s <--> .S issue. Real fix would of course be to zip them up as '.S' right away. Some problems will not be fixed that way though. For those, I've included a small bash script 'fixnames.sh' that will copy and edit gcrt0.s and crt0.s into gcrt0.S and crt0.S. The makefile in libc/stubs also has to be changed. For the time being, I've not touched the destination directories, nor did I put in the 'make install' target that would become necessary once the resulting files aren't directly written to $(DJDIR)/bin and friends any more. The automatic determination of the path to a usable libgcc.a is only used in a cross-build. For native builds, I've reverted to a default of $(DJDIR)/lib/libgcc.a BTW: two things about the cross-build on Linux: it takes only about half of the time of a native build (I tend to blame DOS for that). The makeinfo run for libc.info, OTOH, was rather slow on Linux (45 seconds or so!), but that may be due to the version of makeinfo I used there (the one from texinfo-3.11). Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de) Even if all the snow were burnt, ashes would remain. ---494318816-1005916374-880570338=:15411 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="djlsr202-alpha-971114.lev1-lev3.ediffs" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: patches to 'level3' ZGlmZiAtdXJQIC14IG1ha2VmaWxlLm9pIC14IG1ha2VmaWxlLnJmIGRqbHNy X2E0LmhiMS9zcmMvY2xvYmJlci5zaCBkamxzcl9hNC5oYjMvc3JjL2Nsb2Ji ZXIuc2gNCi0tLSBkamxzcl9hNC5oYjEvc3JjL2Nsb2JiZXIuc2gJVGh1IEph biAgMSAwMTowMDowMCAxOTcwDQorKysgZGpsc3JfYTQuaGIzL3NyYy9jbG9i YmVyLnNoCVR1ZSBOb3YgMjUgMDQ6Mzk6MTYgMTk5Nw0KQEAgLTAsMCArMSwx NSBAQA0KKyMhIC9iaW4vc2gNCisjIFNjcmlwdCB0byBkZWxldGUgYWxsIGZp bGVzIHRoYXQgIm1ha2UgcmVhbGNsZWFuIiBkb2Vzbid0IGRhcmUgdG8NCisj IHJlbW92ZSAoYXMgdGhleSBtaWdodCBiZSB0aGUgd29ya2luZyBESkdQUCBp bnN0YWxsYXRpb24sIHNvIHRoYXQNCisjIHdvdWxkIGJlICp2ZXJ5KiBkYW5n ZXJvdXMpLg0KK2lmIFsgLWYgLi4vZGpncHAuZW52IC1vIC1mIC4uL0RKR1BQ LkVOViAtbyAtZiAuLi9iaW4vZ2NjLmV4ZSBdIDsgdGhlbg0KKyAgZWNobyAt ZSAiXGFPdWNoLiBUaGUgcGFyZW50IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJj ZSB0cmVlIHNlZW1zIHRvIGJlIGEiDQorICBlY2hvICJESkdQUCBpbnN0YWxs YXRpb24gZGlyZWN0b3J5LiBJIHdvbid0IGRlbGV0ZSB0aGluZ3MuIg0KKyAg ZWNobyAiIg0KKyAgZWNobyAiUGxlYXNlIGRlbGV0ZSB0aGF0IHlvdXJzZWxm LCBhbmQgQkUgQ0FSRUZVTCBkb2luZyBpdCEiDQorZWxzZQ0KKyAgZWNobyAi T0ssIGl0IHNlZW1zIHRvIGJlIHNhdmUgdG8gZGVsZXRlIHRoaW5ncywgc28g b2ZmIHdlIGdvLi4uIg0KKyAgcm0gLXJmIC4uL2JpbiAuLi9saWIgLi4vaW5j bHVkZSANCisgIHJtIC1mIC4uL2luZm8vKi5pbmYqDQorICBlY2hvICJEb25l LiBGaWxlcyBkZWxldGVkIg0KK2ZpDQpkaWZmIC11clAgLXggbWFrZWZpbGUu b2kgLXggbWFrZWZpbGUucmYgZGpsc3JfYTQuaGIxL3NyYy9keGUvZHhlZ2Vu LmMgZGpsc3JfYTQuaGIzL3NyYy9keGUvZHhlZ2VuLmMNCi0tLSBkamxzcl9h NC5oYjEvc3JjL2R4ZS9keGVnZW4uYwlTdW4gTm92IDIzIDA1OjI3OjU2IDE5 OTcNCisrKyBkamxzcl9hNC5oYjMvc3JjL2R4ZS9keGVnZW4uYwlGcmkgSnVs ICA0IDA3OjQwOjA2IDE5OTcNCkBAIC00NSw3ICs0NSwxMSBAQA0KICAgICBj aGFyIGNvbW1hbmRbMTAyNF07DQogICAgIGZjbG9zZShpbnB1dF9mKTsNCiAN Ci0gICAgc3RyY3B5KGNvbW1hbmQsImxkIC1YIC1TIC1yIC1vIGR4ZV9fdG1w Lm8gLUwiKTsNCisjaWZuZGVmIERKR1BQX0NST1NTTElOS0VSDQorI2RlZmlu ZSBESkdQUF9DUk9TU0xJTktFUiAibGQiDQorI2VuZGlmDQorICAgIHN0cmNw eShjb21tYW5kLERKR1BQX0NST1NTTElOS0VSKTsNCisgICAgc3RyY2F0KGNv bW1hbmQsIiAtWCAtUyAtciAtbyBkeGVfX3RtcC5vIC1MIik7DQogICAgIHN0 cmNhdChjb21tYW5kLGdldGVudigiREpESVIiKSk7DQogICAgIHN0cmNhdChj b21tYW5kLCIvbGliICIpOw0KICAgICBmb3IoaT0zO2FyZ3ZbaV07aSsrKSB7 DQpkaWZmIC11clAgLXggbWFrZWZpbGUub2kgLXggbWFrZWZpbGUucmYgZGps c3JfYTQuaGIxL3NyYy9keGUvbWFrZWZpbGUgZGpsc3JfYTQuaGIzL3NyYy9k eGUvbWFrZWZpbGUNCi0tLSBkamxzcl9hNC5oYjEvc3JjL2R4ZS9tYWtlZmls ZQlTdW4gTm92IDIzIDA1OjI3OjU2IDE5OTcNCisrKyBkamxzcl9hNC5oYjMv c3JjL2R4ZS9tYWtlZmlsZQlXZWQgTm92IDI2IDEyOjAyOjA4IDE5OTcNCkBA IC0xNyw3ICsxNyw3IEBADQogZHhlZ2VuLm8gOiBkeGVnZW4uYw0KIA0KICQo SE9TVEJJTikvZHhlZ2VuLmV4ZSA6IGR4ZWdlbi5jDQotCSQoR0NDKSBkeGVn ZW4uYyAtbyAkQA0KKwkkKEdDQykgLURESkdQUF9DUk9TU0xJTktFUj1cIiQo Q1JPU1NfTEQpXCIgZHhlZ2VuLmMgLW8gJEANCiANCiBjbGVhbiA6Og0KIAlA LSQoTUlTQykgcm0gKi5vICQoSE9TVEJJTikvZHhlZ2VuLmV4ZQ0KZGlmZiAt dXJQIC14IG1ha2VmaWxlLm9pIC14IG1ha2VmaWxlLnJmIGRqbHNyX2E0Lmhi MS9zcmMvZml4bmFtZXMuc2ggZGpsc3JfYTQuaGIzL3NyYy9maXhuYW1lcy5z aA0KLS0tIGRqbHNyX2E0LmhiMS9zcmMvZml4bmFtZXMuc2gJVGh1IEphbiAg MSAwMTowMDowMCAxOTcwDQorKysgZGpsc3JfYTQuaGIzL3NyYy9maXhuYW1l cy5zaAlUdWUgTm92IDI1IDA0OjMyOjE4IDE5OTcNCkBAIC0wLDAgKzEsMjIg QEANCisjISAvYmluL3NoDQorIyBGaXggYWxsIHRoZSBjdXJyZW50IHByb2Js ZW1zIHN0ZW1taW5nIGZyb20gaW5jb3JyZWN0IGNhc2UNCisjIG9mICoucyBv ciAqLlMgZmlsZSBuYW1lczoNCisNCitjZCBsaWJjL2NydDANCitpZiBbIC1m IGNydDAucyBdIDsgdGhlbg0KKyAgZWNobyAiUmVuYW1pbmcgbGliYy9jcnQw L2NydDAucyAgLS0+IGNydDAuUyINCisgIG12IGNydDAucyBjcnQwLlMNCitm aQ0KKw0KKyNpZiBpdCdzIHN0aWxsIGNhbGxlZCAnZ2NydDAucycsIGl0IG1h eSBhbHNvIHN0aWxsIGhhdmUgJyNpbmNsdWRlICJjcnQwLnMiJw0KKyMgaW5z aWRlOg0KK2lmIFsgLWYgZ2NydDAucyBdIDsgdGhlbg0KKyAgZWNobyAiUmVu YW1pbmcgYW5kIGVkaXRpbmcgbGliYy9jcnQwL2djcnQwLnMgIC0tPiBnY3J0 MC5TIg0KKyAgc2VkIC1lICdzL2NydDBcLnMvY3J0MFwuUy8nIGdjcnQwLnMg PiBnY3J0MC5TICYmIHJtIGdjcnQwLnMNCitmaQ0KKw0KK2NkIC4uL3N0dWJz DQoraWYgZ3JlcCAtcSAnXCpcLlMnIG1ha2VmaWxlIDsgdGhlbg0KKyAgZWNo byAiRWRpdGluZyBsaWJjL3N0dWIvbWFrZWZpbGUiDQorICBzZWQgLWUgJ3Mv XCpcLlMvXCpcLnMnIG1ha2VmaWxlID4gbWFrZWZpbGUudG1wICYmIG12IG1h a2VmaWxlLnRtcCBtYWtlZmlsZQ0KK2ZpDQpkaWZmIC11clAgLXggbWFrZWZp bGUub2kgLXggbWFrZWZpbGUucmYgZGpsc3JfYTQuaGIxL3NyYy9saWJjL2Nv bXBhdC9zZWFyY2gvcmVtcXVlLnR4aCBkamxzcl9hNC5oYjMvc3JjL2xpYmMv Y29tcGF0L3NlYXJjaC9yZW1xdWUudHhoDQotLS0gZGpsc3JfYTQuaGIxL3Ny Yy9saWJjL2NvbXBhdC9zZWFyY2gvcmVtcXVlLnR4aAlTdW4gSnVsIDIzIDA5 OjU3OjM4IDE5OTUNCisrKyBkamxzcl9hNC5oYjMvc3JjL2xpYmMvY29tcGF0 L3NlYXJjaC9yZW1xdWUudHhoCVN1biBOb3YgMjMgMDU6Mjk6NDYgMTk5Nw0K QEAgLTQsNyArNCw3IEBADQogQGV4YW1wbGUNCiAjaW5jbHVkZSA8c2VhcmNo Lmg+DQogDQotdm9pZCBwdXRlbnYoc3RydWN0IHFlbGVtICplbGVtKTsNCit2 b2lkIHJlbXF1ZShzdHJ1Y3QgcWVsZW0gKmVsZW0pOw0KIEBlbmQgZXhhbXBs ZQ0KIA0KIEBzdWJoZWFkaW5nIERlc2NyaXB0aW9uDQpkaWZmIC11clAgLXgg bWFrZWZpbGUub2kgLXggbWFrZWZpbGUucmYgZGpsc3JfYTQuaGIxL3NyYy9s aWJjL3N0dWJzL21ha2VmaWxlIGRqbHNyX2E0LmhiMy9zcmMvbGliYy9zdHVi cy9tYWtlZmlsZQ0KLS0tIGRqbHNyX2E0LmhiMS9zcmMvbGliYy9zdHVicy9t YWtlZmlsZQlTdW4gTm92IDIzIDA1OjI3OjU2IDE5OTcNCisrKyBkamxzcl9h NC5oYjMvc3JjL2xpYmMvc3R1YnMvbWFrZWZpbGUJVHVlIE5vdiAyNSAwNDow OTo1NCAxOTk3DQpAQCAtMTQsNCArMTQsNCBAQA0KIAkkKEdDQykgbWtzdHVi cy5jIC1vIG1rc3R1YnMuZXhlDQogDQogY2xlYW4gOjoNCi0JQC0kKE1JU0Mp IHJtICouUyBtYWtlZmlsMiBta3N0dWJzLmV4ZQ0KKwlALSQoTUlTQykgcm0g Ki5zIG1ha2VmaWwyIG1rc3R1YnMuZXhlDQpkaWZmIC11clAgLXggbWFrZWZp bGUub2kgLXggbWFrZWZpbGUucmYgZGpsc3JfYTQuaGIxL3NyYy9saWJlbXUv bWFrZWZpbGUgZGpsc3JfYTQuaGIzL3NyYy9saWJlbXUvbWFrZWZpbGUNCi0t LSBkamxzcl9hNC5oYjEvc3JjL2xpYmVtdS9tYWtlZmlsZQlNb24gTm92ICAz IDAxOjU2OjQ4IDE5OTcNCisrKyBkamxzcl9hNC5oYjMvc3JjL2xpYmVtdS9t YWtlZmlsZQlXZWQgTm92IDI2IDEyOjA3OjE0IDE5OTcNCkBAIC03LDUgKzcs MTEgQEANCiANCiBhbGwgOjoJJChCSU4pL2VtdTM4Ny5keGUNCiANCisjbmVl ZGVkIGZvciBkeGVnZW4gdG8gd29yayBpbiBhIENST1NTX0JVSUxEOg0KK2lm ZXEgKCQoQ1JPU1NfQlVJTEQpLDEpDQorREpESVIgPSQoTVlfREpESVIpDQor ZXhwb3J0IERKRElSDQorZW5kaWYNCisNCiAkKEJJTikvZW11Mzg3LmR4ZSA6 IHNyYy9lbXUzODcubyBzcmMvZW11ZHVtbXkubw0KLQkkKEJJTikvZHhlZ2Vu ICQoQklOKS9lbXUzODcuZHhlIF9fZW11X2VudHJ5IHNyYy9lbXUzODcubyBp ZF9lbXUubyBzcmMvZW11ZHVtbXkubyAtTC4uLy4uL2xpYiAtbGdjYyAtbGMg LWxnY2MNCisJJChIT1NUQklOKS9keGVnZW4uZXhlICQoQklOKS9lbXUzODcu ZHhlIF9fZW11X2VudHJ5IHNyYy9lbXUzODcubyBpZF9lbXUubyBzcmMvZW11 ZHVtbXkubyAtTC4uLy4uL2xpYiAkKE1ZX0xJQkdDQ19BKSAtbGMgJChNWV9M SUJHQ0NfQSkNCmRpZmYgLXVyUCAteCBtYWtlZmlsZS5vaSAteCBtYWtlZmls ZS5yZiBkamxzcl9hNC5oYjEvc3JjL21ha2VmaWxlIGRqbHNyX2E0LmhiMy9z cmMvbWFrZWZpbGUNCi0tLSBkamxzcl9hNC5oYjEvc3JjL21ha2VmaWxlCVN1 biBOb3YgMjMgMDU6Mjc6NTYgMTk5Nw0KKysrIGRqbHNyX2E0LmhiMy9zcmMv bWFrZWZpbGUJU2F0IE5vdiAyMiAyMzoxNTozMiAxOTk3DQpAQCAtMjAsMTIg KzIwLDE0IEBADQogDQogc3ViczoNCiAJJChNQUtFKSAtQyBzdHViIG5hdGl2 ZQ0KKwkkKE1BS0UpIC1DIGR4ZSBuYXRpdmUNCiAJJChNQUtFKSAtQyBta2Rv Yw0KIAkkKE1BS0UpIC1DIGxpYmMNCiAJJChNQUtFKSAtQyBkZWJ1Zw0KIAkk KE1BS0UpIC1DIHN0dWINCiAJJChNQUtFKSAtQyBkeGUNCiAJJChNQUtFKSAt QyBsaWJtDQorCSQoTUFLRSkgLUMgbGliZW11DQogCSQoTUFLRSkgLUMgdXRp bHMNCiAJJChNQUtFKSAtQyBkb2NzL2tiDQogDQpkaWZmIC11clAgLXggbWFr ZWZpbGUub2kgLXggbWFrZWZpbGUucmYgZGpsc3JfYTQuaGIxL3NyYy9tYWtl ZmlsZS5kZWYgZGpsc3JfYTQuaGIzL3NyYy9tYWtlZmlsZS5kZWYNCi0tLSBk amxzcl9hNC5oYjEvc3JjL21ha2VmaWxlLmRlZglTdW4gTm92IDIzIDA1OjI3 OjU2IDE5OTcNCisrKyBkamxzcl9hNC5oYjMvc3JjL21ha2VmaWxlLmRlZglX ZWQgTm92IDI2IDEyOjI1OjM2IDE5OTcNCkBAIC05LDYgKzksMTEgQEANCiBD Uk9TU19CSVNPTiA9IGJpc29uDQogDQogIyBGb3IgYnVpbGRpbmcgbmF0aXZl IHByb2dyYW1zOyBhc3N1bWVzIEdOVSB2ZXJzaW9ucw0KKyMgTm90ZTogaW4g YSBjcm9zcy1idWlsZCwgeW91IG5lZWQgdG8gYWRkIGFuIC1JIGRpcmVjdG9y eQ0KKyMgICBvcHRpb24sIHBvaW50aW5nIHRvIGEgZGlyZWN0b3J5IGhvbGRp bmcgREpHUFAgdmVyc2lvbnMNCisjICAgb2YgPGNvZmYuaD4gYW5kIDxzeXMv ZHhlLmg+IChvbmx5IHRob3NlLCAqbm90KiB0aGUNCisjICAgd2hvbGUgREpH UFAgaW5jbHVkZSBzdWJ0cmVlOiB0aGF0J2QgY29uZnVzZSB0aGUgaGVsbA0K KyMgICBvdXQgb2YgeW91ciBuYXRpdmUgY29tcGlsZXIpDQogR0NDID0gZ2Nj DQogQVIgPSBhcg0KIExEID0gbGQNCkBAIC0yOCwxMiArMzMsMjAgQEANCiAN CiAjSEJCOiBZZXQgYW5vdGhlciBWYXJpYWJsZS4gVGhpcyBpcyB0aGUgZnVs bCBwYXRoIHRvIGEgdXNhYmxlDQogIyBsaWJnY2MuYSB0aGF0IHdpbGwgYmUg dXNlZCBmb3IgY29tcGlsaW5nIHRoZSB0b29scy4NCi0jIEluIGEgbmF0aXZl IGNvbXBpbGF0aW9uLCAkREpESVIvbGliL2xpYmdjYy5hIHNob3VsZA0KLSMg YWx3YXlzIHdvcms6DQorDQogaWZlcSAoJChDUk9TU19CVUlMRCksMSkNCi1N WV9MSUJHQ0NfQSA9IC9zb21lL3doZXJlL2xpYmdjYy5hDQorDQorIyBJdCdz IHNhZCwgYnV0IHRoZSBmb2xsb3dpbmcgd29uJ3Qgd29yayB3aXRoIERKR1BQ J3MgZ2NjLmV4ZQ0KKyMgKGl0IHVzZXMgJ1wnIGluIHRoZSBwcmludGVkIG5h bWUsIGluc3RlYWQgb2YgJy8nKSwgbWFraW5nDQorIyB0aGlzICdpZmVxJyBj b25kaXRpb25hbCBuZWNlc3Nhcnk6DQorTVlfTElCR0NDX0EgOj0gJChzaGVs bCAkKENST1NTX0dDQykgLXByaW50LWxpYmdjYy1maWxlLW5hbWUpDQorDQog ZWxzZQ0KLU1ZX0xJQkdDQ19BID0gJChESkRJUikvbGliL2xpYmdjYy5hDQor DQorIyBJbiBhIG5hdGl2ZSBjb21waWxhdGlvbiwgJERKRElSL2xpYi9saWJn Y2MuYSBzaG91bGQNCisjIGFsd2F5cyB3b3JrOg0KK01ZX0xJQkdDQ19BIDo9 ICQoREpESVIpL2xpYi9saWJnY2MuYQ0KKw0KIGVuZGlmDQogDQogIyBZb3Ug bWF5IG5lZWQgdG8gcmVwbGFjZSBjb2ZmLWdvMzIgd2l0aCBjb2ZmLWkzODYg aW4gbGliL2RqZ3BwLmRqbA0KZGlmZiAtdXJQIC14IG1ha2VmaWxlLm9pIC14 IG1ha2VmaWxlLnJmIGRqbHNyX2E0LmhiMS9zcmMvcmVhZG1lLmhiYiBkamxz cl9hNC5oYjMvc3JjL3JlYWRtZS5oYmINCi0tLSBkamxzcl9hNC5oYjEvc3Jj L3JlYWRtZS5oYmIJU3VuIE5vdiAyMyAwNToyNzo1NiAxOTk3DQorKysgZGps c3JfYTQuaGIzL3NyYy9yZWFkbWUuaGJiCVdlZCBOb3YgMjYgMTI6MTU6MzQg MTk5Nw0KQEAgLTUxLDMgKzUxLDU1IEBADQogd2lsbCBiZSBjbGVhbmVkIG9m ZiBhZ2Fpbi4gVGhlIGluc3RhbGxhdGlvbiBpbnRvIC4uL2JpbiBldGMuIGRp c2FsbG93cw0KIGNsZWFuaW5nIHRob3NlIGZpbGVzIGFzIHdlbGw6IHRoZXkg YXJlIGxlZnQgaW50YWN0Lg0KIA0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitUaGUgZm9s bG93aW5nIG5vdGVzIHdlcmUgbWFkZSBhZnRlciBwb3N0aW5nIHRoZSBzZXQg b2YgY2hhbmdlcyB1cCB0bw0KK3RoaXMgcG9pbnQgdG8gZGpncHAtd29ya2Vy cyAob24gTm92IDIxc3QgMTk5NyksIGFuZCBzb21lDQorZW1haWwtZGlzY3Vz c2lvbiBhYm91dCBpdCB3aXRoIERKLiBBICcoZml4ZWQpJyBhdCB0aGUgZW5k IG9mIGFuDQorZW50cnkgbWVhbnM6IG15IHZlcnNpb24gY29udGFpbnMgdGhl IG5lY2Vzc2FyeSBwYXRjaC4NCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorLSBJbiBw YXNzaW5nLCBJIG5vdGljZWQgYSBidWcgaW4gJ3JlbXF1ZS50eGgnOiBpdCB3 YXMgdGFsa2luZyBhYm91dCB0aGUNCisncHV0ZW52JyBmdW5jdGlvbi4gKGZp eGVkKQ0KKw0KKy0gbGliZW11LmEvZW11Mzg3LmR4ZSB3YXNuJ3QgYnVpbHQg YnkgdGhlIHRvcGxldmVsICdtYWtlJy4gUHJvYmFibHkganVzdA0KK2FuIG92 ZXJzaWdodC4gKGZpeGVkKQ0KKy0+IFRvIGNvbXBpbGUgZW11Mzg3LmR4ZSBv dXRzaWRlIHRoZSBtYWluIHRyZWUsIEkgaGFkIHRvIGNoYW5nZSB0aGUNCitk eGVnZW4gY29tbWFuZCB0byB1c2UgJyQoTVlfTElCR0NDX0EpJyBpbnN0ZWFk IG9mICctbGdjYycsIGFuZCANCitmb3IgY3Jvc3MtYnVpbGRzLCBESkRJUiBo YWQgdG8gYmUgc2V0Lg0KKw0KKy0gTWF5YmUgSSdsbCBoYXZlIHRvIGRldmlz ZSBhbiBhdXRvbWF0ZWQgd2F5IG9mIGxvY2F0aW5nICdsaWJnY2MuYSc/DQor LT4gSSd2ZSBsb29rZWQgaW50byB0aGlzLiBUaGUgZm9sbG93aW5nIGNvbW1h bmQgc2hvdWxkIGhhdmUgZG9uZSBpdDoNCisNCitNWV9MSUJHQ0NfQSA6PSAk KHNoZWxsICQoQ1JPU1NfR0NDKSAtcHJpbnQtbGliZ2NjLWZpbGUtbmFtZSkN CisNCitTYWRseSwgdGhpcyBkb2Vzbid0IHdvcmsgd2l0aCBESkdQUCdzIGdj YywgYXMgaXQgd2lsbCBwcmludCB0aGUgZmlsZQ0KK25hbWUgYXM6ICdjOi9k amdwcC9saWJcbGliZ2NjLmEnLiBUaGF0IGJhY2tzbGFzaCBiZWZvcmUgJ2xp YmdjYy5hJyB3aWxsDQordGhlbiBnZXQgZWF0ZW4gdXAgKGJ5IHRoZSAkKFNI RUxMKT8gb3IgbWFrZSBpdHNlbGY/KSwgc28gdGhlIHJlc3VsdGluZw0KK3Zh bHVlIGlzIGM6L2RqZ3BwL2xpYmxpYmdjYy5hLiBOb3QgYSB2ZXJ5IHVzZWZ1 bCByZXN1bHQuLi4NCisNCistIEp1c3QgZm9yIGluZm9ybWF0aW9uOiBzb21l IG9mIHRoZSBjaGFuZ2VzIEkndmUgbWFkZSBlYXJsaWVyIChpLmUuIHRoZXkn cmUNCitpbiB0aGUgZmlyc3QgcG9zdGVkIHBhdGNoIHNldCkgd2VyZSBtYWRl IHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mDQordW4tbmVjZXNzYXJ5IGZpbGVz IGxlZnQgbHlpbmcgYXJvdW5kLiBFLmcuLCB0aGUgZGlzdHJpYnV0ZWQgYWxw aGEtOTcxMTE0DQorY29udGFpbnMgdGhlIGZpbGVzICdzdHViLm1hcCcgYW5k ICdkamFzbS1uLmMnLCBib3RoIG9mIHdoaWNoIGFyZSBnZW5lcmF0ZWQNCitk dXJpbmcgdGhlIGJ1aWxkIGFzIGJ5cHJvZHVjdCBvciB0ZW1wb3JhcnkgZmls ZS4gU3VjaCBmaWxlcyBkb24ndCBiZWxvbmcgaW4NCit0aGUgZGlzdHJpYnV0 ZWQgc2V0IG9mIGZpbGVzLCBzbyBJIGNsZWFuIHRoZW0gb2ZmIGF0ICdtYWtl IGNsZWFuJyB0aW1lLg0KKw0KKy0gT24gYSBmaWxlbmFtZSBjYXNlIHByZXNl cnZpbmcgVW5peHkgZmlsZXN5c3RlbSwgYWRkaXRpb25hbCBwcm9ibGVtcw0K K3dlcmUgZm91bmQgdGhhdCBwcmV2ZW50IGEgcmVhbGx5IGVhc3ktdG8tcnVu IGNyb3NzLWNvbXBpbGF0aW9uIG9mIHRoZSB0b29sczoNCisNCisJc3JjL2xp YmMvY3J0MC9jcnQwLnMgICAtPiBzaG91bGQgYmUgY2FsbGVkIGNydDAuUyBp biB0aGUgLnppcA0KKyAgICAgICAgc3JjL2xpYmMvY3J0MC9nY3J0MC5zICAt PiBkaXRvLCBhbmQgc2hvdWxkICcjaW5jbHVkZSAiY3J0MC5TIicsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCAiY3J0MC5zIg0K KwlzcmMvbGliYy9zdHVicy9tYWtlZmlsZSAtPiBkZWxldGVzICcqLlMnLCBi dXQgdGhlIHN0dWIgZnVuY3Rpb25zDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhY3R1YWxseSBhcmUgKi5zIGZpbGVzLg0KKy0+IEkn dmUgd3JpdHRlbiBhIHNob3J0IHNoZWxsc2NyaXB0IHRvIGF1dG9tYXRpY2Fs bHkgZG8gdGhhdC4gSXQgdXNlcw0KK1VuaXggdXRpbGl0aWVzIGFsbCB0aGUg d2F5IHRocm91Z2ggKGluY2x1ZGluZyAnc2gnIHRvIHJ1biBpdCBpbiBmaXJz dA0KK3BsYWNlKSwgYnV0IHRoYXQgc2hvdWxkbid0IG1hdHRlciwgYXMgdGhp cyB0YXNrIHdpbGwgb25seSBhcmlzZSBvbiANCitVbml4IGFueXdheS4NCisN CistIEZvciAnZHhlZ2VuJyB0byBzdWNjZXNzZnVsbHkgcnVuIGlmIGNyb3Nz LWNvbXBpbGVkLCBhIHNtYWxsIGNoYW5nZQ0KK2lzIG5lZWRlZDogaWYgREpH UFBfQ1JPU1NMSU5LRVIgaXMgI2RlZmluZWQsIHVzZSB0aGlzIHN0cmluZyBp bnN0ZWFkIG9mICJsZCINCithcyB0aGUgbmFtZSBvZiB0aGUgbGlua2VyIHRv IGludm9rZS4gJChIT1NUQklOKS9keGVnZW4uZXhlIHRoZW4gaGFzIHRvIGJl DQorYnVpbHQgd2l0aCAtRERKR1BQX0NST1NTTElOS0VSPVwiJChDUk9TU19M RClcIi4gKGZpeGVkKQ0KKy0gc3JjL2xpYmVtdS9tYWtlZmlsZTogY2FsbGVk ICQoSE9TVEJJTikvZHhlZ2VuIChub3RlOiAnLmV4ZScgc3VmZml4DQorbWlz c2luZykuIFdvdWxkbid0IHdvcmsgaW4gYSBjcm9zcy1jb21waWxhdGlvbi4g KGZpeGVkKQ0KT25seSBpbiBkamxzcl9hNC5oYjEvc3JjL3N0dWI6IGRqYXNt LW4uYw0KT25seSBpbiBkamxzcl9hNC5oYjEvc3JjL3N0dWI6IHN0dWIubWFw DQpkaWZmIC11clAgLXggbWFrZWZpbGUub2kgLXggbWFrZWZpbGUucmYgZGps c3JfYTQuaGIxL3NyYy91dGlscy9kanRhci9tYWtlZmlsZSBkamxzcl9hNC5o YjMvc3JjL3V0aWxzL2RqdGFyL21ha2VmaWxlDQotLS0gZGpsc3JfYTQuaGIx L3NyYy91dGlscy9kanRhci9tYWtlZmlsZQlTdW4gTm92IDIzIDA1OjI3OjU2 IDE5OTcNCisrKyBkamxzcl9hNC5oYjMvc3JjL3V0aWxzL2RqdGFyL21ha2Vm aWxlCVNhdCBOb3YgMjIgMjM6MTA6MDQgMTk5Nw0KQEAgLTE1LDIyICsxNSwy MSBAQA0KIAl6bWV0aG9kLm8gXA0KIAkkRQ0KIA0KK1NSQyArPSBkanRhci5j DQogRVhUUkFfRklMRVMgKz0gJChCSU4pL2RqdGFyeC5leGUNCiBFWFRSQV9G SUxFUyArPSAkKEJJTikvZGp0YXJ0LmV4ZQ0KIA0KLWluY2x1ZGUgJChUT1Ap Ly4uL21ha2VmaWxlLmluYw0KK2luY2x1ZGUgJChUT1ApLy4uL21ha2VmaWxl LnByZw0KIFhHQ0MgPSAkKFhMR0NDKQ0KIA0KLWFsbCA6OiAkKEJJTikvZGp0 YXIuZXhlDQotDQogJChCSU4pL2RqdGFyLmV4ZSA6ICQoQykgJChFT0JKUykg JChMKQ0KIAkkKExJTkspDQogCSQoRVhFKQ0KIA0KLSQoQklOKS9kanRhcngu ZXhlIDogJChCSU4pL3N0dWJpZnkuZXhlDQotCSQoSE9TVEJJTikvc3R1Ymlm eS5leGUgLWcgJChCSU4pL2RqdGFyeC5leGUNCi0JJChIT1NUQklOKS9zdHVi ZWRpdC5leGUgJChCSU4pL2RqdGFyeC5leGUgcnVuZmlsZT1kanRhcg0KKyQo QklOKS9kanRhcnguZXhlIDogJChIT1NUQklOKS9zdHViaWZ5LmV4ZQ0KKwkk KEhPU1RCSU4pL3N0dWJpZnkuZXhlIC1nICRADQorCSQoSE9TVEJJTikvc3R1 YmVkaXQuZXhlICRAIHJ1bmZpbGU9ZGp0YXINCiANCi0kKEJJTikvZGp0YXJ0 LmV4ZSA6ICQoQklOKS9zdHViaWZ5LmV4ZQ0KLQkkKEhPU1RCSU4pL3N0dWJp ZnkuZXhlIC1nICQoQklOKS9kanRhcnQuZXhlDQotCSQoSE9TVEJJTikvc3R1 YmVkaXQuZXhlICQoQklOKS9kanRhcnQuZXhlIHJ1bmZpbGU9ZGp0YXINCisk KEJJTikvZGp0YXJ0LmV4ZSA6ICQoSE9TVEJJTikvc3R1YmlmeS5leGUNCisJ JChIT1NUQklOKS9zdHViaWZ5LmV4ZSAtZyAkQA0KKwkkKEhPU1RCSU4pL3N0 dWJlZGl0LmV4ZSAkQCBydW5maWxlPWRqdGFyDQo= ---494318816-1005916374-880570338=:15411--