From owner-freebsd-toolchain@FreeBSD.ORG Thu Aug 16 16:13:03 2012 Return-Path: Delivered-To: freebsd-toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC85D1065674 for ; Thu, 16 Aug 2012 16:13:03 +0000 (UTC) (envelope-from danismostlikely@gmail.com) Received: from mail-vb0-f54.google.com (mail-vb0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 60BB38FC17 for ; Thu, 16 Aug 2012 16:13:02 +0000 (UTC) Received: by vbmv11 with SMTP id v11so3375214vbm.13 for ; Thu, 16 Aug 2012 09:13:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=/l1jXFZ9/++8/1qBGdGwwxl7QMgiQXifj4rAqrMYlH8=; b=LAalHaLOWQrY2CWU90PkKNTEjPKs8T6xbJhhRHlPCqSpdsSwFn1utIfNljPx3xCDQ8 8O10H+bL2GY1z6wUcFiYadTNZSGjphZM+gqMRvMZi+kKdjxHyOv4GKkadQOp4N8TehTc EMxUj/+V43LYB04l57zV1EB7J5ZcWxUf+L6WAJxMNJzHAGvBjCBVxqFgwNqV70Y4LbQ3 Zi8MFq3ewz4wLfTDs2cL05kU9By5Q+FmT2JKKUs9/gr0BQarVvZ+YqwSyYkWJ2XRjgsk YsPKEVTcm5llhXSZHeIjxPGs79ESO9EjMwcHF67301tv/13YREbFnrYZVt4S0x+PfJuv q5tg== MIME-Version: 1.0 Received: by 10.58.189.73 with SMTP id gg9mr847886vec.26.1345133582420; Thu, 16 Aug 2012 09:13:02 -0700 (PDT) Received: by 10.58.255.73 with HTTP; Thu, 16 Aug 2012 09:13:02 -0700 (PDT) Date: Thu, 16 Aug 2012 10:13:02 -0600 Message-ID: From: Dan McGregor To: freebsd-toolchain@freebsd.org Content-Type: multipart/mixed; boundary=047d7b66fc6d5b0a2904c7645147 Subject: [PATCH] Import the amd64 and i386 portions of the NetBSD crtbegin and crtend code. This eliminates the need for the crtstuff code from GCC. X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Aug 2012 16:13:03 -0000 --047d7b66fc6d5b0a2904c7645147 Content-Type: text/plain; charset=ISO-8859-1 Hello, I was reading mailing list archives and scratching itches and I created this patch (which is also available on my github:: https://github.com/dannomac/freebsd), to add NetBSD's crtbegin and crtend code to FreeBSD. I was hoping to get some more testing. NetBSD also has arm and powerpc crt code that could likely be imported, but I don't have the means to test them right now. I might do that this weekend. Dan --047d7b66fc6d5b0a2904c7645147 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Import-the-amd64-and-i386-portions-of-the-NetBSD-crt.patch" Content-Disposition: attachment; filename="0001-Import-the-amd64-and-i386-portions-of-the-NetBSD-crt.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 4f6f1e29e5f671e7_0.1 ZGlmZiAtLWdpdCBhL2dudS9saWIvTWFrZWZpbGUgYi9nbnUvbGliL01ha2VmaWxlDQppbmRleCA2 NzUwNDAzLi4xYjFmMDFmIDEwMDY0NA0KLS0tIGEvZ251L2xpYi9NYWtlZmlsZQ0KKysrIGIvZ251 L2xpYi9NYWtlZmlsZQ0KQEAgLTIsNyArMiwxNCBAQA0KIA0KIC5pbmNsdWRlIDxic2Qub3duLm1r Pg0KIA0KLVNVQkRJUj0gY3N1IGxpYmdjYyBsaWJnY292IGxpYmRpYWxvZyBsaWJnb21wIGxpYnJl Z2V4IGxpYnJlYWRsaW5lDQorIyBhbWQ2NCBhbmQgaTM4NiBoYXZlIEJTRCBsaWNlbnNlZCBjcnRi ZWdpbi5vIGFuZCBjcnRlbmQubw0KKy5pZiAke01BQ0hJTkVfQ1BVQVJDSH0gIT0gImFtZDY0IiAm JiAke01BQ0hJTkVfQ1BVQVJDSH0gIT0gImkzODYiDQorU1VCRElSPSBjc3UNCisuZWxzZQ0KK1NV QkRJUj0NCisuZW5kaWYNCisNCitTVUJESVIrPSBsaWJnY2MgbGliZ2NvdiBsaWJkaWFsb2cgbGli Z29tcCBsaWJyZWdleCBsaWJyZWFkbGluZQ0KIA0KIC5pZiAke01LX1NTUH0gIT0gIm5vIg0KIFNV QkRJUis9IGxpYnNzcA0KZGlmZiAtLWdpdCBhL2xpYi9jc3UvYW1kNjQvTWFrZWZpbGUgYi9saWIv Y3N1L2FtZDY0L01ha2VmaWxlDQppbmRleCA4MGQxNGE3Li5mNjYyOTA3IDEwMDY0NA0KLS0tIGEv bGliL2NzdS9hbWQ2NC9NYWtlZmlsZQ0KKysrIGIvbGliL2NzdS9hbWQ2NC9NYWtlZmlsZQ0KQEAg LTIsOSArMiw5IEBADQogDQogLlBBVEg6ICR7LkNVUkRJUn0vLi4vY29tbW9uDQogDQotU1JDUz0J CWNydDEuYyBjcnRpLlMgY3J0bi5TDQorU1JDUz0JCWNydDEuYyBjcnRpLlMgY3J0bi5TIGNydGJl Z2luLlMgY3J0ZW5kLlMNCiBPQkpTPQkJJHtTUkNTOk4qLmg6UjpTLyQvLm8vZ30NCi1PQkpTKz0J CVNjcnQxLm8gZ2NydDEubw0KK09CSlMrPQkJU2NydDEubyBnY3J0MS5vIGNydGJlZ2luUy5vDQog Q0ZMQUdTKz0JLUkkey5DVVJESVJ9Ly4uL2NvbW1vbiBcDQogCQktSSR7LkNVUkRJUn0vLi4vLi4v bGliYy9pbmNsdWRlDQogQ0ZMQUdTKz0JLWZuby1vbWl0LWZyYW1lLXBvaW50ZXINCkBAIC0zOCw4 ICszOCwxNCBAQCBTY3J0MS5zOiBjcnQxLmMNCiBTY3J0MS5vOiBTY3J0MS5zDQogCSR7Q0N9ICR7 QUNGTEFHU30gLWMgLW8gJHsuVEFSR0VUfSBTY3J0MS5zDQogDQorY3J0YmVnaW5TLm86IGNydGJl Z2luLlMNCisJJHtDQ30gJHtDRkxBR1N9IC1mUElDIC1EUElDIC1EU0hBUkVEIC1jIC1vICR7LlRB UkdFVH0gJHsuQ1VSRElSfS9jcnRiZWdpbi5TDQorDQogcmVhbGluc3RhbGw6DQogCSR7SU5TVEFM TH0gLW8gJHtMSUJPV059IC1nICR7TElCR1JQfSAtbSAke0xJQk1PREV9IFwNCiAJICAgICR7T0JK U30gJHtERVNURElSfSR7TElCRElSfQ0KIA0KK1NZTUxJTktTKz0gICAgICBjcnRiZWdpbi5vICR7 TElCRElSfS9jcnRiZWdpblQubw0KK1NZTUxJTktTKz0gICAgICBjcnRlbmQubyAke0xJQkRJUn0v Y3J0ZW5kUy5vDQorDQogLmluY2x1ZGUgPGJzZC5saWIubWs+DQpkaWZmIC0tZ2l0IGEvbGliL2Nz dS9hbWQ2NC9jcnRiZWdpbi5TIGIvbGliL2NzdS9hbWQ2NC9jcnRiZWdpbi5TDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMWE2MDgyNg0KLS0tIC9kZXYvbnVsbA0KKysrIGIv bGliL2NzdS9hbWQ2NC9jcnRiZWdpbi5TDQpAQCAtMCwwICsxLDE1OCBAQA0KKy8qCSROZXRCU0Q6 IGNydGJlZ2luLlMsdiAxLjIgMjAxMC8xMS8zMCAxODozNzo1OSBqb2VyZyBFeHAgJAkqLw0KKy8q LQ0KKyAqIENvcHlyaWdodCAoYykgMjAxMCBKb2VyZyBTb25uZW5iZXJnZXIgPGpvZXJnQE5ldEJT RC5vcmc+DQorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKg0KKyAqIFJlZGlzdHJpYnV0aW9u IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KKyAq IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICoNCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGlj ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4N CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl IGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbg0KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9u IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUNCisgKiAgICBkaXN0cmli dXRpb24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQorICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVT UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVA0KKyAqIExJTUlURUQg VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT DQorICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF TlQgU0hBTEwgVEhFDQorICogQ09QWVJJR0hUIEhPTERFUlMgT1IgQ09OVFJJQlVUT1JTIEJFIExJ QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsDQorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwg RVhFTVBMQVJZIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLA0KKyAqIEJVVCBO T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF UzsNCisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS VVBUSU9OKSBIT1dFVkVSIENBVVNFRA0KKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCisgKiBPUiBUT1JUIChJ TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQN CisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg UE9TU0lCSUxJVFkgT0YNCisgKiBTVUNIIERBTUFHRS4NCisgKi8NCisNCisjaW5jbHVkZSA8bWFj aGluZS9hc20uaD4NCisNCitfX0ZCU0RJRCgiJEZyZWVCU0QkIikNCisNCisJLnNlY3Rpb24JLmN0 b3JzLCAiYXciLCBAcHJvZ2JpdHMNCisJLmFsaWduIDgNCitfX0NUT1JfTElTVF9fOg0KKwkucXVh ZCAtMQ0KKw0KKwkuc2VjdGlvbgkuZHRvcnMsICJhdyIsIEBwcm9nYml0cw0KKwkuYWxpZ24gOA0K K19fRFRPUl9MSVNUX186DQorCS5xdWFkIC0xDQorDQorCS5zZWN0aW9uCS5laF9mcmFtZSwgImEi LCBAcHJvZ2JpdHMNCisJLmFsaWduIDgNCitfX0VIX0ZSQU1FX0xJU1RfXzoNCisNCisJLnNlY3Rp b24JLmpjciwgImF3IiwgQHByb2diaXRzDQorCS5hbGlnbiA4DQorX19KQ1JfTElTVF9fOg0KKw0K Kwkuc2VjdGlvbgkuZGF0YS5yZWwsICJhdyIsIEBwcm9nYml0cw0KKwkuYWxpZ24gOA0KKwkudHlw ZQlfX2Rzb19oYW5kbGUsIEBvYmplY3QNCisJLnNpemUJX19kc29faGFuZGxlLCA4DQorCS5nbG9i bAlfX2Rzb19oYW5kbGUNCisJLmhpZGRlbglfX2Rzb19oYW5kbGUNCitfX2Rzb19oYW5kbGU6DQor I2lmZGVmIFNIQVJFRA0KKwkucXVhZAlfX2Rzb19oYW5kbGUNCisjZWxzZQ0KKwkucXVhZAkwDQor I2VuZGlmDQorDQorX19kd2FyZl9laF9vYmplY3Q6DQorCS56ZXJvCTY0DQorDQorX19pbml0aWFs aXplZDoNCisJLnplcm8JMQ0KK19fZmluaXNoZWQ6DQorCS56ZXJvCTENCisNCisJLnRleHQNCisJ LndlYWsJX19jeGFfZmluYWxpemUNCisJLndlYWsJX19kZXJlZ2lzdGVyX2ZyYW1lX2luZm8NCisJ LndlYWsJX19yZWdpc3Rlcl9mcmFtZV9pbmZvDQorCS53ZWFrCV9Kdl9SZWdpc3RlckNsYXNzZXMN CisNCitfX2RvX2dsb2JhbF9kdG9yc19hdXg6DQorCWNtcGIJJDAsIF9fZmluaXNoZWQoJXJpcCkN CisJamUJMWYNCisJcmV0DQorMToNCisJcHVzaHEJJXJieA0KKwltb3ZiCSQxLCBfX2ZpbmlzaGVk KCVyaXApDQorDQorDQorI2lmZGVmIFNIQVJFRA0KKwljbXBxCSQwLCBfX2N4YV9maW5hbGl6ZUBH T1RQQ1JFTCglcmlwKQ0KKwlqZQkyZg0KKwltb3ZxCV9fZHNvX2hhbmRsZSglcmlwKSwgJXJkaQ0K KwljYWxsCV9fY3hhX2ZpbmFsaXplQFBMVA0KKzI6DQorI2VuZGlmDQorDQorCWxlYXEJOCtfX0RU T1JfTElTVF9fKCVyaXApLCAlcmJ4DQorMzoNCisJbW92cQkoJXJieCksICVyYXgNCisJdGVzdHEJ JXJheCwgJXJheA0KKwlqZQk0Zg0KKwljYWxsCSolcmF4DQorCWFkZHEJJDgsICVyYngNCisJam1w CTNiDQorNDoNCisNCisJY21wcQkkMCwgX19kZXJlZ2lzdGVyX2ZyYW1lX2luZm9AR09UUENSRUwo JXJpcCkNCisJamUJNWYNCisJbGVhcQlfX0VIX0ZSQU1FX0xJU1RfXyglcmlwKSwgJXJkaQ0KKwlj YWxsCV9fZGVyZWdpc3Rlcl9mcmFtZV9pbmZvQFBMVA0KKzU6DQorCXBvcHEJJXJieA0KKwlyZXQN CisNCisNCitfX2RvX2dsb2JhbF9jdG9yc19hdXg6DQorCWNtcGIJJDAsIF9faW5pdGlhbGl6ZWQo JXJpcCkNCisJamUJMWYNCisJcmV0DQorMToNCisJcHVzaHEJJXJieA0KKwltb3ZiCSQxLCBfX2lu aXRpYWxpemVkKCVyaXApDQorDQorCWNtcHEJJDAsIF9fcmVnaXN0ZXJfZnJhbWVfaW5mb0BHT1RQ Q1JFTCglcmlwKQ0KKwlqZQkyZg0KKwlsZWFxCV9fZHdhcmZfZWhfb2JqZWN0KCVyaXApLCAlcnNp DQorCWxlYXEJX19FSF9GUkFNRV9MSVNUX18oJXJpcCksICVyZGkNCisJY2FsbAlfX3JlZ2lzdGVy X2ZyYW1lX2luZm9AUExUDQorDQorMjoNCisJY21wcQkkMCwgX0p2X1JlZ2lzdGVyQ2xhc3Nlc0BH T1RQQ1JFTCglcmlwKQ0KKwlqZQkzZg0KKwlsZWFxCV9fSkNSX0xJU1RfXyglcmlwKSwgJXJkaQ0K KwljbXBxCSQwLCAoJXJkaSkNCisJamUgCTNmDQorCWNhbGwJX0p2X1JlZ2lzdGVyQ2xhc3Nlc0BQ TFQNCiszOg0KKw0KKwlsZWFxCS04K19fQ1RPUl9MSVNUX0VORF9fKCVyaXApLCAlcmJ4DQorNDoN CisJbW92cQkoJXJieCksICVyYXgNCisJY21wcQkkLTEsICVyYXgNCisJamUJNWYNCisJY2FsbAkq JXJheA0KKwlzdWJxCSQ4LCAlcmJ4DQorCWptcAk0Yg0KKw0KKzU6DQorCXBvcHEJJXJieA0KKw0K KwlyZXQNCisNCisJLnNlY3Rpb24JLmluaXQsICJheCIsIEBwcm9nYml0cw0KKwljYWxsCV9fZG9f Z2xvYmFsX2N0b3JzX2F1eA0KKwkuc2VjdGlvbgkuZmluaSwgImF4IiwgQHByb2diaXRzDQorCWNh bGwJX19kb19nbG9iYWxfZHRvcnNfYXV4DQorDQorICAgIC5zZWN0aW9uIC5ub3RlLkdOVS1zdGFj aywiIiwlcHJvZ2JpdHMNCmRpZmYgLS1naXQgYS9saWIvY3N1L2FtZDY0L2NydGVuZC5TIGIvbGli L2NzdS9hbWQ2NC9jcnRlbmQuUw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAu LmMxNDExZmUNCi0tLSAvZGV2L251bGwNCisrKyBiL2xpYi9jc3UvYW1kNjQvY3J0ZW5kLlMNCkBA IC0wLDAgKzEsNTQgQEANCisvKgkkTmV0QlNEOiBjcnRlbmQuUyx2IDEuMSAyMDEwLzA4LzA3IDE4 OjAxOjM0IGpvZXJnIEV4cCAkCSovDQorLyotDQorICogQ29weXJpZ2h0IChjKSAyMDEwIEpvZXJn IFNvbm5lbmJlcmdlciA8am9lcmdATmV0QlNELm9yZz4NCisgKiBBbGwgcmlnaHRzIHJlc2VydmVk Lg0KKyAqDQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm b3Jtcywgd2l0aCBvciB3aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJlIG1ldDoNCisgKg0K KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv dmUgY29weXJpZ2h0DQorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgbm90aWNl LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu DQorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl ZCB3aXRoIHRoZQ0KKyAqICAgIGRpc3RyaWJ1dGlvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUg SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMNCisg KiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE SU5HLCBCVVQgTk9UDQorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUNCisgKiBDT1BZUklHSFQgSE9M REVSUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwN CisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlkgT1IgQ09OU0VRVUVOVElBTCBEQU1B R0VTIChJTkNMVURJTkcsDQorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOw0KKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEDQorICogQU5E IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg TElBQklMSVRZLA0KKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVA0KKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KKyAqIFNVQ0ggREFNQUdF Lg0KKyAqLw0KKw0KKyNpbmNsdWRlIDxtYWNoaW5lL2FzbS5oPg0KKw0KK19fRkJTRElEKCIkRnJl ZUJTRCQiKQ0KKw0KKwkuc2VjdGlvbgkuY3RvcnMsICJhdyIsIEBwcm9nYml0cw0KKwkuYWxpZ24g OA0KKwkuZ2xvYmFsCQlfX0NUT1JfTElTVF9FTkRfXw0KKwkuaGlkZGVuIAlfX0NUT1JfTElTVF9F TkRfXw0KK19fQ1RPUl9MSVNUX0VORF9fOg0KKwkucXVhZCAwDQorDQorCS5zZWN0aW9uCS5kdG9y cywgImF3IiwgQHByb2diaXRzDQorCS5hbGlnbiA4DQorCS5xdWFkIDANCisNCisJLnNlY3Rpb24J LmVoX2ZyYW1lLCAiYSIsIEBwcm9nYml0cw0KKwkuYWxpZ24gOA0KKwkucXVhZCAwDQorDQorCS5z ZWN0aW9uCS5qY3IsICJhdyIsIEBwcm9nYml0cw0KKwkuYWxpZ24gOA0KKwkucXVhZCAwDQorDQor ICAgIC5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywiIiwlcHJvZ2JpdHMNCmRpZmYgLS1naXQgYS9s aWIvY3N1L2kzODYtZWxmL01ha2VmaWxlIGIvbGliL2NzdS9pMzg2LWVsZi9NYWtlZmlsZQ0KaW5k ZXggMjg2YzE1Yy4uYThmNzY1YSAxMDA2NDQNCi0tLSBhL2xpYi9jc3UvaTM4Ni1lbGYvTWFrZWZp bGUNCisrKyBiL2xpYi9jc3UvaTM4Ni1lbGYvTWFrZWZpbGUNCkBAIC0yLDggKzIsOCBAQA0KIA0K IC5QQVRIOiAkey5DVVJESVJ9Ly4uL2NvbW1vbg0KIA0KLVNSQ1M9CQljcnRpLlMgY3J0bi5TDQot RklMRVM9CQkke1NSQ1M6TiouaDpSOlMvJC8uby9nfSBnY3J0MS5vIGNydDEubyBTY3J0MS5vDQor U1JDUz0JCWNydGkuUyBjcnRuLlMgY3J0YmVnaW4uUyBjcnRlbmQuUw0KK0ZJTEVTPQkJJHtTUkNT Ok4qLmg6UjpTLyQvLm8vZ30gZ2NydDEubyBjcnQxLm8gU2NydDEubyBjcnRiZWdpblMubw0KIEZJ TEVTT1dOPQkke0xJQk9XTn0NCiBGSUxFU0dSUD0JJHtMSUJHUlB9DQogRklMRVNNT0RFPQkke0xJ Qk1PREV9DQpAQCAtNDgsNCArNDgsMTAgQEAgU2NydDEubzogU2NydDFfYy5vIGNydDFfcy5vDQog CSR7TER9ICR7TERGTEFHU30gLW8gU2NydDEubyAtciBjcnQxX3MubyBTY3J0MV9jLm8NCiAJb2Jq Y29weSAtLWxvY2FsaXplLXN5bWJvbCBfc3RhcnQxIFNjcnQxLm8NCiANCitjcnRiZWdpblMubzog Y3J0YmVnaW4uUw0KKwkke0NDfSAke0NGTEFHU30gLWZQSUMgLURQSUMgLURTSEFSRUQgLWMgLW8g JHsuVEFSR0VUfSAkey5DVVJESVJ9L2NydGJlZ2luLlMNCisNCitTWU1MSU5LUys9ICAgICAgY3J0 YmVnaW4ubyAke0xJQkRJUn0vY3J0YmVnaW5ULm8NCitTWU1MSU5LUys9ICAgICAgY3J0ZW5kLm8g JHtMSUJESVJ9L2NydGVuZFMubw0KKw0KIC5pbmNsdWRlIDxic2QucHJvZy5taz4NCmRpZmYgLS1n aXQgYS9saWIvY3N1L2kzODYtZWxmL2NydGJlZ2luLlMgYi9saWIvY3N1L2kzODYtZWxmL2NydGJl Z2luLlMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi41YWZjMDI0DQotLS0g L2Rldi9udWxsDQorKysgYi9saWIvY3N1L2kzODYtZWxmL2NydGJlZ2luLlMNCkBAIC0wLDAgKzEs MTc0IEBADQorLyoJJE5ldEJTRDogY3J0YmVnaW4uUyx2IDEuMSAyMDEwLzA4LzA3IDE4OjAxOjMz IGpvZXJnIEV4cCAkCSovDQorLyotDQorICogQ29weXJpZ2h0IChjKSAyMDEwIEpvZXJnIFNvbm5l bmJlcmdlciA8am9lcmdATmV0QlNELm9yZz4NCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAq DQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg d2l0aCBvciB3aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJlIG1ldDoNCisgKg0KKyAqIDEu IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w eXJpZ2h0DQorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv bGxvd2luZyBkaXNjbGFpbWVyLg0KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgbm90aWNlLCB0aGlz IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluDQorICog ICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo IHRoZQ0KKyAqICAgIGRpc3RyaWJ1dGlvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMNCisgKiBgYEFT IElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC VVQgTk9UDQorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MNCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUNCisgKiBDT1BZUklHSFQgSE9MREVSUyBP UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwNCisgKiBJ TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlkgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ TkNMVURJTkcsDQorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOw0KKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEDQorICogQU5EIE9OIEFO WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM SVRZLA0KKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ U0lORyBJTiBBTlkgV0FZIE9VVA0KKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KKyAqIFNVQ0ggREFNQUdFLg0KKyAq Lw0KKw0KKyNpbmNsdWRlIDxtYWNoaW5lL2FzbS5oPg0KKw0KK19fRkJTRElEKCIkRnJlZUJTRCQi KQ0KKw0KKwkuc2VjdGlvbgkuY3RvcnMsICJhdyIsIEBwcm9nYml0cw0KKwkuYWxpZ24gNA0KK19f Q1RPUl9MSVNUX186DQorCS5sb25nIC0xDQorDQorCS5zZWN0aW9uCS5kdG9ycywgImF3IiwgQHBy b2diaXRzDQorCS5hbGlnbiA0DQorX19EVE9SX0xJU1RfXzoNCisJLmxvbmcgLTENCisNCisJLnNl Y3Rpb24JLmVoX2ZyYW1lLCAiYSIsIEBwcm9nYml0cw0KKwkuYWxpZ24gNA0KK19fRUhfRlJBTUVf TElTVF9fOg0KKw0KKwkuc2VjdGlvbgkuamNyLCAiYXciLCBAcHJvZ2JpdHMNCisJLmFsaWduIDQN CitfX0pDUl9MSVNUX186DQorDQorCS5zZWN0aW9uCS5kYXRhLnJlbCwgImF3IiwgQHByb2diaXRz DQorCS5hbGlnbiA0DQorCS50eXBlCV9fZHNvX2hhbmRsZSwgQG9iamVjdA0KKwkuc2l6ZQlfX2Rz b19oYW5kbGUsIDQNCisJLmdsb2JsCV9fZHNvX2hhbmRsZQ0KKwkuaGlkZGVuCV9fZHNvX2hhbmRs ZQ0KK19fZHNvX2hhbmRsZToNCisjaWZkZWYgU0hBUkVEDQorCS5sb25nCV9fZHNvX2hhbmRsZQ0K KyNlbHNlDQorCS5sb25nCTANCisjZW5kaWYNCisNCitfX2R3YXJmX2VoX29iamVjdDoNCisJLnpl cm8JMzINCisNCitfX2luaXRpYWxpemVkOg0KKwkuemVybwkxDQorX19maW5pc2hlZDoNCisJLnpl cm8JMQ0KKw0KKwkudGV4dA0KKwkud2VhawlfX2N4YV9maW5hbGl6ZQ0KKwkud2VhawlfX2RlcmVn aXN0ZXJfZnJhbWVfaW5mbw0KKwkud2VhawlfX3JlZ2lzdGVyX2ZyYW1lX2luZm8NCisJLndlYWsJ X0p2X1JlZ2lzdGVyQ2xhc3Nlcw0KKw0KK19fZ2V0X3RodW5rOg0KKwltb3ZsCSglZXNwKSwgJWVi eA0KKwlyZXQNCisNCitfX2RvX2dsb2JhbF9kdG9yc19hdXg6DQorCXB1c2hsCSVlYngNCisJcHVz aGwJJWVkaQ0KKwlzdWJsCSQ4LCAlZXNwDQorCWNhbGwJX19nZXRfdGh1bmsNCisJYWRkbAkkX0dM T0JBTF9PRkZTRVRfVEFCTEVfLCAlZWJ4DQorDQorCWNtcGIJJDAsIF9fZmluaXNoZWRAR09UT0ZG KCVlYngpDQorCWpuZQk0Zg0KKwltb3ZiCSQxLCBfX2ZpbmlzaGVkQEdPVE9GRiglZWJ4KQ0KKw0K KyNpZmRlZiBTSEFSRUQNCisJY21wbAkkMCwgX19jeGFfZmluYWxpemVAR09UKCVlYngpDQorCWpl CTFmDQorCW1vdmwJX19kc29faGFuZGxlQEdPVE9GRiglZWJ4KSwgJWVheA0KKwltb3ZsCSVlYXgs ICglZXNwKQ0KKwljYWxsCV9fY3hhX2ZpbmFsaXplQFBMVA0KKzE6DQorI2VuZGlmDQorDQorCWxl YWwJNCtfX0RUT1JfTElTVF9fQEdPVE9GRiglZWJ4KSwgJWVkaQ0KKzI6DQorCW1vdmwJKCVlZGkp LCAlZWF4DQorCXRlc3RsCSVlYXgsICVlYXgNCisJamUJM2YNCisJY2FsbAkqJWVheA0KKwlhZGRs CSQ4LCAlZWRpDQorCWptcAkyYg0KKzM6DQorDQorCWNtcGwJJDAsIF9fZGVyZWdpc3Rlcl9mcmFt ZV9pbmZvQEdPVCglZWJ4KQ0KKwlqZQk0Zg0KKwlsZWFsCV9fRUhfRlJBTUVfTElTVF9fQEdPVE9G RiglZWJ4KSwgJWVheA0KKwltb3ZsCSVlYXgsICglZXNwKQ0KKwljYWxsCV9fZGVyZWdpc3Rlcl9m cmFtZV9pbmZvQFBMVA0KKzQ6DQorCWFkZGwJJDgsICVlc3ANCisJcG9wbAklZWRpDQorCXBvcGwJ JWVieA0KKwlyZXQNCisNCisNCitfX2RvX2dsb2JhbF9jdG9yc19hdXg6DQorCXB1c2hsCSVlYngN CisJcHVzaGwJJWVkaQ0KKwlzdWJsCSQ4LCAlZXNwDQorCWNhbGwJX19nZXRfdGh1bmsNCisJYWRk bAkkX0dMT0JBTF9PRkZTRVRfVEFCTEVfLCAlZWJ4DQorDQorCWNtcGIJJDAsIF9faW5pdGlhbGl6 ZWRAR09UT0ZGKCVlYngpDQorCWpuZQk0Zg0KKwltb3ZiCSQxLCBfX2luaXRpYWxpemVkQEdPVE9G RiglZWJ4KQ0KKw0KKwljbXBsCSQwLCBfX3JlZ2lzdGVyX2ZyYW1lX2luZm9AR09UKCVlYngpDQor CWplCTFmDQorCWxlYWwJX19kd2FyZl9laF9vYmplY3RAR09UT0ZGKCVlYngpLCAlZWRpDQorCW1v dmwJJWVkaSwgNCglZXNwKQ0KKwlsZWFsCV9fRUhfRlJBTUVfTElTVF9fQEdPVE9GRiglZWJ4KSwg JWVkaQ0KKwltb3ZsCSVlZGksICglZXNwKQ0KKwljYWxsCV9fcmVnaXN0ZXJfZnJhbWVfaW5mb0BQ TFQNCisNCisxOg0KKwljbXBsCSQwLCBfSnZfUmVnaXN0ZXJDbGFzc2VzQEdPVCglZWJ4KQ0KKwlq ZQkyZg0KKwlsZWFsCV9fSkNSX0xJU1RfX0BHT1RPRkYoJWVieCksICVlZGkNCisJbW92bAkoJWVk aSksICVlZGkNCisJdGVzdGwJJWVkaSwgJWVkaQ0KKwlqZSAJMmYNCisJbW92bAklZWRpLCAoJWVz cCkNCisJY2FsbAlfSnZfUmVnaXN0ZXJDbGFzc2VzQFBMVA0KKzI6DQorDQorCWxlYWwJLTQrX19D VE9SX0xJU1RfRU5EX19AR09UT0ZGKCVlYngpLCAlZWRpDQorMzoNCisJbW92bAkoJWVkaSksICVl YXgNCisJY21wbAkkLTEsICVlYXgNCisJamUJNGYNCisJY2FsbAkqJWVheA0KKwlzdWJsCSQ0LCAl ZWRpDQorCWptcAkzYg0KKw0KKzQ6DQorCWFkZGwJJDgsICVlc3ANCisJcG9wbAklZWRpDQorCXBv cGwJJWVieA0KKwlyZXQNCisNCisJLnNlY3Rpb24JLmluaXQsICJheCIsIEBwcm9nYml0cw0KKwlj YWxsCV9fZG9fZ2xvYmFsX2N0b3JzX2F1eA0KKwkuc2VjdGlvbgkuZmluaSwgImF4IiwgQHByb2di aXRzDQorCWNhbGwJX19kb19nbG9iYWxfZHRvcnNfYXV4DQpkaWZmIC0tZ2l0IGEvbGliL2NzdS9p Mzg2LWVsZi9jcnRlbmQuUyBiL2xpYi9jc3UvaTM4Ni1lbGYvY3J0ZW5kLlMNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4xNDc1YWQwDQotLS0gL2Rldi9udWxsDQorKysgYi9s aWIvY3N1L2kzODYtZWxmL2NydGVuZC5TDQpAQCAtMCwwICsxLDUyIEBADQorLyoJJE5ldEJTRDog Y3J0ZW5kLlMsdiAxLjEgMjAxMC8wOC8wNyAxODowMTozMyBqb2VyZyBFeHAgJAkqLw0KKy8qLQ0K KyAqIENvcHlyaWdodCAoYykgMjAxMCBKb2VyZyBTb25uZW5iZXJnZXIgPGpvZXJnQE5ldEJTRC5v cmc+DQorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKg0KKyAqIFJlZGlzdHJpYnV0aW9uIGFu ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KKyAqIG1v ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICoNCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291 cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisg KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi b3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbg0KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFu ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUNCisgKiAgICBkaXN0cmlidXRp b24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQorICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBP UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVA0KKyAqIExJTUlURUQgVE8s IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQor ICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg U0hBTEwgVEhFDQorICogQ09QWVJJR0hUIEhPTERFUlMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsDQorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF TVBMQVJZIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLA0KKyAqIEJVVCBOT1Qg TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsN CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU SU9OKSBIT1dFVkVSIENBVVNFRA0KKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCisgKiBPUiBUT1JUIChJTkNM VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQNCisg KiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T U0lCSUxJVFkgT0YNCisgKiBTVUNIIERBTUFHRS4NCisgKi8NCisNCisjaW5jbHVkZSA8bWFjaGlu ZS9hc20uaD4NCisNCitfX0ZCU0RJRCgiJEZyZWVCU0QkIikNCisNCisJLnNlY3Rpb24JLmN0b3Jz LCAiYXciLCBAcHJvZ2JpdHMNCisJLmFsaWduIDQNCisJLmdsb2JhbAkJX19DVE9SX0xJU1RfRU5E X18NCisJLmhpZGRlbiAJX19DVE9SX0xJU1RfRU5EX18NCitfX0NUT1JfTElTVF9FTkRfXzoNCisJ LmxvbmcgMA0KKw0KKwkuc2VjdGlvbgkuZHRvcnMsICJhdyIsIEBwcm9nYml0cw0KKwkuYWxpZ24g NA0KKwkubG9uZyAwDQorDQorCS5zZWN0aW9uCS5laF9mcmFtZSwgImEiLCBAcHJvZ2JpdHMNCisJ LmFsaWduIDQNCisJLmxvbmcgMA0KKw0KKwkuc2VjdGlvbgkuamNyLCAiYXciLCBAcHJvZ2JpdHMN CisJLmFsaWduIDQNCisJLmxvbmcgMA0K --047d7b66fc6d5b0a2904c7645147--