From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115555 invoked by alias); 25 Jan 2017 00:19:09 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 115530 invoked by uid 89); 25 Jan 2017 00:19:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=sk:apinski, apinski@cavium.com, apinskicaviumcom, U*apinski X-Spam-User: qpsmtpd, 2 recipients X-HELO: NAM01-SN1-obe.outbound.protection.outlook.com Received: from mail-sn1nam01on0066.outbound.protection.outlook.com (HELO NAM01-SN1-obe.outbound.protection.outlook.com) (104.47.32.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 25 Jan 2017 00:18:57 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Received: from sellcey-dt.caveonetworks.com (50.233.148.156) by CO2PR0701MB1062.namprd07.prod.outlook.com (10.160.8.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Wed, 25 Jan 2017 00:18:54 +0000 Message-ID: <1485303529.29977.8.camel@caviumnetworks.com> Subject: [PATCH] Patch 1 of 2 for aarch64 ILP32 support in gdb From: Steve Ellcey To: , gdb-patches Date: Wed, 25 Jan 2017 00:19:00 -0000 Content-Type: multipart/mixed; boundary="=-/Fk5qkazD+ZlvFCouGR6" MIME-Version: 1.0 X-ClientProxiedBy: MWHPR04CA0040.namprd04.prod.outlook.com (10.172.163.26) To CO2PR0701MB1062.namprd07.prod.outlook.com (10.160.8.141) X-MS-Office365-Filtering-Correlation-Id: 447b367c-2f70-4661-b2ed-08d444b7bf42 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CO2PR0701MB1062; X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1062;3:zFWiiFccvFhZhZCVqAvp3KF47rzU0Dj4Ul5WyfWCDChSumY4d340j7m1idHIQWV4EiBQu0oLj8gTbYu6XphVEqIsRiNBdLze0EU9Npf2mOQCwnws4QcTlpgZLvP2lGnzyHZTgLzlzO0oVp+OYYa6UzSb0Adz+atucid7SrfNeulle+yoLtKXUGC6aVzB54/fjQ5gmmgCjbToYxAkucNEvo8qHQPS85T9fe9WHn/fDjM7UR9hf/9Tb80YWARs+AvRG7RHfubkCZ9+387A4wOMGw==;25:v390KUuEo9OgLM2ZLeSrYGJhez4Gp6/7vX3mo9MT4C3hUSDTtZ9yUpMLbqpduwxuMR50Vx9L1lyCPOBSkqesUGVo2dtA3k552U3cyiL3k5uhlJZVNFtbSghx/a99IMxofPOadFx16U0IyXjVLUAHYQdZYQKW02Sr/xeVTvO6xj9EwNmGu87B7iAK2qxTYPBhpy/0ZVmwHQ36390zpsTwbIrvFUQ7j8BQhtB/hL8QGasC3rNStmuLkyZW8K6RyToTRZZd7nk6ytbB7/XvcdUcc/ITquDWn3Mx02drz50UDzxX/6Dj9U6XmcMfduIjnjbit2azOPQcH5z49ApIv7XIhSAy007mqhkIZupd7NP5r2NoNfpE83anUxUHWh7T8yzR91MXYBtHoddW8Fr3H/8LMzMy3FJRrkEvit7/WtiuV7Uaapo7saGWfEYy2qTkViay92y9AgXcA4liV3a/Bppx4OdICWdOf/DFAwV1iYBYkgAMB89UlO7mwgDymbs5R9MTyjvxRETzJMOVCVNooKb98Q== X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1062;31:0XDC8l6q+MG+oj93F2O9JZwx4Sql6iWoKPXB5Hxk9NPPYYmuMkjkjKy7UzLQaLA9IVcsAVV8D/kxd7fgqEx8nB/bTq7JFTTeXtG0sdD0kR9mJyacuvqjN4PK40p5qtUkfdR6HCPd8BRgNSftjA0yDWvC4EbR5pLEvEWgF+O5F3EpcctIZmwvy1FktRG9tbMLODOAmy70tXD2RBnxp/RsnnnlUSRG/NZnYaQ+TmRwzCkVK21SaTt9f6bZuHMvcCRDcrKvJl5H3Kzvwx6Oi90yihK2rKxEMFSZKfaaps7sD1QHF2W5LToHVX+xAQn7Cxsbzb/CNIke8mqYztIiXDPm2zTGE4Nfxj4AEJm4pkxrJfg= X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1062;20:icHW1+ze0yXJjp+G/N5JSlq4AwUKEFwM8Cmj2gZCwvvSYzsw6adJe8PtmScwAfQCXo1lnxQe9oRt+bp+vMDv42/dyUt0GCZjYt+jYRyYgyzyiw9gBVKTiTZcqpp22eHSW5gdBUZWnitBXwKAVIZ6ssLWu/KGd28gvfrLV01gf0BpmlqRNC21Lao2XaPEN/Gjyadk1satIgU+93xVgXS+Lha/EvNwDXQ4JFP9qDu9sj0AYKqA/kbRpxKiezfp0QREJZ2U0txNUKj5PXcX3t+Ebh4cdXSasEoJoXwXfXSnK2YjALL114XnmlQpk9CR5/N0NL4L+ORkj6DtAcNI8nFJOM9bbbqT4C6BkrjgxJe8e6rCemSc6a5mU6EybLUe7DRcQuhhb36qYP62mLe5fKjLBHEoEVxdM/vIpd9CoAf2C2BjizP+573HZu+1hQhYktY1W6kHTGQc3agR0xfruk3e1BZZpzJ4f/Rmhd0R7mKaQiK5qSQB7FDzxdJL+ec7w3fVvu0IZ/kIB6pTpykM0wqkY/O0V3bIC08Rp0ooiCmbZWmNq9gXk9azN8eMf0GGkw+7C5NlAOI2212J6+q2qf+jmkDDkDG0e7G3d/2kuVpW2KY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(102415395)(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:CO2PR0701MB1062;BCL:0;PCL:0;RULEID:;SRVR:CO2PR0701MB1062; X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1062;4:iCBTtUJK6kAn6v4ZT0UkA94o8qHDexIOm6AT2jFYFnwadjAqTprn1FMH8lM2iaVu8wSgFUph2Dn6hoieE85HN1jr3SOZ89WfLVGSKWM2lfJamJn7zx5HBVnz6N4KkQMST+9HwAoKQCS3//nyCSGuFXPkI+NYep4iY2Ta3FGYoUO0/ceg1qu9X/df7zZB5mt8Hs1lKyl7gDrZEg9UlS7UQEhDdRZxmqRqM5M3LjOi1DvwNHfydfqnKJY5oW5Gmobb+kd3dFWJO45tjlhDcrtFaodKq53DUnCy/Z832qUjqAsAsQKf7N0SRJdgiLTOiMxRR+JrY3ohKX+3VsT+rkJBpXQiYdsoWsGNvmQWXkJZYqXFxcZxzmw+N3HogL/OlAkeZuAia9w75wiA8UH7cwQ8mNDQ5RdI0Hui7r9S2SVFb9v0uo5ykYXC4rF9cxyatXMEPRP82jghTi27XkOfe7XhcQVWkueMo4XLZTTcmK4FVOF+oJQd3VIYjZ0IL3ZBgCOFIJ20ikYCM/8dKtcwl7u1JJvlb8vETd7i0Fjf2roNlDYudw1viFmO5aGw8jGuoca9zgcVH20P639kC0sstZYTvdX8oLLSDZL8WZViMDrrlR8= X-Forefront-PRVS: 01986AE76B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(189002)(199003)(377424004)(450100001)(33646002)(568964002)(92566002)(103116003)(50226002)(101416001)(189998001)(53936002)(2906002)(6486002)(305945005)(7736002)(107886002)(50986999)(8676002)(6512007)(81166006)(6506006)(6306002)(38730400001)(25786008)(81156014)(105586002)(42186005)(36756003)(66066001)(5660300001)(84326002)(5890100001)(106356001)(6666003)(4610100001)(97736004)(5001770100001)(69596002)(68736007)(53416004)(2476003)(6116002)(42882006)(512874002)(3846002)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR0701MB1062;H:sellcey-dt.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR0701MB1062;23:uO0Ach01v6eX5tGEVmvzQfu0qun0WVA8xbg7Eo1?= =?us-ascii?Q?eNQEIUMe1yYjWgRP2S3pJ6N5ZZm39Xb2URwjDaRPPq/+2rbPsfwiBdM5CZg4?= =?us-ascii?Q?M9+7bE00WSIPt1d9lnYkeB2FvAqGCA6zsieoeLrq+llzP6Ok0YH9jFDLSGC8?= =?us-ascii?Q?G6cFDaYleA1t4yBmACjWBIDKOj/bWI1+tLUaJsKHK67Uj5EgZHkllWnWEofE?= =?us-ascii?Q?jVqHQ00y2KrgSIw/drnjZ3JbMAkjNLRpCTdAsahOQ4wsyxBd3kquVBdUReHY?= =?us-ascii?Q?4P2nY/LiJiFSDyqxAhtc1R84CGL/U7bTuVzYOj7LXzSKnm0SIjyJw3nahq26?= =?us-ascii?Q?VPHOiy7Di/6BlUM/J5eQFmUx7ccBEoSSS7swERqrLEuV3fIvEE8T4WiMBd0+?= =?us-ascii?Q?f8HpZ3h0Q/zTBVkvNAU/GAxVrzCP19NbGktEX4wHPHaX/HIZDpveuArinxfM?= =?us-ascii?Q?LAeYWgP0040mxEJhEAy+dNhDAIUz5O/t4X3vhL2RDxsShbpg+ZopejOOLzqC?= =?us-ascii?Q?PlvMrM9cruqmYU6z4IB6LgoYfYdVkY1TJAvxC76rFr0SqrxfMoba8AXNZpG8?= =?us-ascii?Q?DviJMv+YvgAj8sRUDCQc03HeJkquMILlj8oRhzL50E/UQZcPCQIlR/xhh7lt?= =?us-ascii?Q?kgccznyt5U1e3KyH18a4AL1fzFRrEO7CXsE5Mq+a40oXITbJSIuBJsssh4/2?= =?us-ascii?Q?U59BbvT83RL5P3cOeMtn+85fS32ROeyqttfjkVNcRw3aPZFkuJPTVbhNtBQV?= =?us-ascii?Q?8XBavNIQhzNlRE1nlWb2GwWvjZb5BWHYn4L5YyBVXr8kH8IGESx7pg9tkHNc?= =?us-ascii?Q?5D9gIgTT4jzH4Q3cBTa5roT+v8GKbzmrtFENTHG6jdyTDRLf+RNZuQEIr74c?= =?us-ascii?Q?aXmk7MFuiIQuYStGMZPe9O9lIX5Hr8cpZ703dMfGH6aBVz1qSsqlmcEZvDmm?= =?us-ascii?Q?r3XorwkZsFdwRXzB5uB8PV3IYQ6iCQLveG5oN31JXbuNeeNKzYgY21hWcmW3?= =?us-ascii?Q?k6RNoCAbKl4jA7qZWaAnhA/vz8cYMyE1AuKz8mI4grQpA3OZYQ2KsLHRrD/v?= =?us-ascii?Q?z2OupgXatM5z/l+hL/WLWqjuasaKelSxfEEewXoHFfMVQiG8uoT9mQiI4/TL?= =?us-ascii?Q?+3cngMqOYOf/yDUs2olviJqqVd3O98cnl6hbpRI17CRoLa1kKdNi6HAZ2AD3?= =?us-ascii?Q?1S9XeciW0tHqyB0jiSjbeNo02THrujUecmUiq/q1KcXOayFyPe66vgc/T/uX?= =?us-ascii?Q?3lG3UmervePio0ONywhE=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1062;6:5rUhGlpd5fH2Pfd5c7RwPibtnozhG0N7yqfOwPTVlDJMdkeHcMx7RLYSfijIFSN1KZJaKhIfMjyQHO5t9HZRarhtLE72BEsX3SPGSjVdUEpgbzNz5n1ekLe+i8oyZ2AKH5Kzha01k4apSnKo+9EVHemQSbGxCVZ8A211B8NNkHZcFcbpHUAp6JvrHyWW50PDK9mdkQrNQNDLcYZ2qN3aELtRYyAM1ZCDXJ/Wi7kIqu2YCthNoH/TMaYgPlbmJ6tnc7S+AtfvdORNKxhtp7YlhDqJEwQeqcSJ4AY6q/LAT1kmHQOpb79kskndsWH4ZnZTuRJs11FQObpYDkiSOiEmlJ48vcUJimhOndJtYx7RQcXjeDr8cGm+5svtRT4/FNN/Z9/7sFpi7mAXRy3kxTS2pQZb4+Ose+paR62lWHUxrGg=;5:XztujLPZMnIoY2me5fMVjyt1dvoB8ptzPcMiMZQvP2yALlMBQMqwNwTUs2oRB6nFWxGeEEiq91O1CB4HcdL1n7M6y68LpIyV15PuefsbUjdwLeTHRVi8qw27OB5Zjd6j7ZBLIRywkMym3HBEesPg/A==;24:N34e5QtttsCd0F71xSuxAAHQR8PqK8nJqmfzcgigaj4h9NQ3hkLL5K+y0knyfbTTk1i4S6QBifTuLK7S8CCYcD6wAcRQzwF++TcI/QmWQeE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1062;7:uTJkk0YXB0JFwJXv5wKNo1GXjX4/EKF6Thhk5cVVQceTWpcrMpbGOKDgfUst94u2ydckiLTwODqxpLqYM6elzTrNTwOwYOwM+ijGZAMb1qpTd3Np7BQr7DVNxVAYa7diBVeIXj0QwdvWNasQy1xYYNhSXsXZo2Vu8Hk0ohMtRIkEzsJgtqP90RNouVi/U1MxC7CwOAIBWRGBmMwQJ/ylDEUpfTrFjHPsJ5rw6V0MXCrvVILZ4SX9OcEJGHvrDL8N/TRNonnAVYvhO2fPUgPb2FKxMQ6PPzuu4wX71qSWZfFKlKgk9nZyLyCS+Mb/x320OB1Xis+q1j/LwdWSbPwn9rjcW/1FLlYCIga3d5ETrKbOio8bXpfpFMniSWIaz4Rva2qOTImrvvQp+XutoBECl4dill6c5QurOFLmVUWOkky7l7RwxldldFTcieSMkLSl0j0NIEOIbazZYQ2yWm67IQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2017 00:18:54.3204 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0701MB1062 X-SW-Source: 2017-01/txt/msg00508.txt.bz2 --=-/Fk5qkazD+ZlvFCouGR6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Content-length: 1070 This is a follow up to a post from some time ago to enable aarch64 ILP32 support in gdb. https://sourceware.org/ml/binutils/2016-09/msg00004.html Andrew Pinksi submitted these patches and I have updated them, addressed the comments that were made at the time, and retested them.  Andrew broke them down into 3 patches I am submitting it as two patches, this first one is the changes to bfd.  This patch removes the ilp32/lp64 checking that is done in compatible and moves it to elfNN_aarch64_merge_private_bfd_data.  Doing it in compatible is too early for gdb.  The patch also adds an endianness check to elfNN_aarch64_merge_private_bfd_data.  The second patch will contain the gdb changes. Steve Ellcey sellcey@cavium.com 2017-01-24  Andrew Pinski       Steve Ellcey   * cpu-aarch64.c (compatible): Don't reject different ILP32/LP64 ABI's here. * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Add an error message on why endianess is rejected. Reject different ILP32/LP64 ABI settings. --=-/Fk5qkazD+ZlvFCouGR6 Content-Disposition: attachment; filename="bfd.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="bfd.patch"; charset="UTF-8" Content-length: 2933 ZGlmZiAtLWdpdCBhL2JmZC9jcHUtYWFyY2g2NC5jIGIvYmZkL2NwdS1hYXJj aDY0LmMKaW5kZXggN2NiODFmMy4uNjNmYmE0OCAxMDA2NDQKLS0tIGEvYmZk L2NwdS1hYXJjaDY0LmMKKysrIGIvYmZkL2NwdS1hYXJjaDY0LmMKQEAgLTI1 LDcgKzI1LDggQEAKIAogLyogVGhpcyByb3V0aW5lIGlzIHByb3ZpZGVkIHR3 byBhcmNoX2luZm9zIGFuZCB3b3JrcyBvdXQgd2hpY2ggQWFyY2g2NAogICAg bWFjaGluZSB3aGljaCB3b3VsZCBiZSBjb21wYXRpYmxlIHdpdGggYm90aCBh bmQgcmV0dXJucyBhIHBvaW50ZXIKLSAgIHRvIGl0cyBpbmZvIHN0cnVjdHVy ZS4gICovCisgICB0byBpdHMgaW5mbyBzdHJ1Y3R1cmUuICBBQkkgKGlscDMy IHZzLiBscDY0KSBhbmQgZW5kaWFubmVzcyBjb21wYXRpYmlsaXR5CisgICBh cmUgY2hlY2tlZCBpbiBlbGZOTl9hYXJjaDY0X21lcmdlX3ByaXZhdGVfYmZk X2RhdGEuICAqLwogCiBzdGF0aWMgY29uc3QgYmZkX2FyY2hfaW5mb190eXBl ICoKIGNvbXBhdGlibGUgKGNvbnN0IGJmZF9hcmNoX2luZm9fdHlwZSAqIGEs IGNvbnN0IGJmZF9hcmNoX2luZm9fdHlwZSAqIGIpCkBAIC0zOCwxMCArMzks NiBAQCBjb21wYXRpYmxlIChjb25zdCBiZmRfYXJjaF9pbmZvX3R5cGUgKiBh LCBjb25zdCBiZmRfYXJjaF9pbmZvX3R5cGUgKiBiKQogICBpZiAoYS0+bWFj aCA9PSBiLT5tYWNoKQogICAgIHJldHVybiBhOwogCi0gIC8qIERvbid0IGFs bG93IG1peGluZyBpbHAzMiB3aXRoIGxwNjQuICAqLwotICBpZiAoKGEtPm1h Y2ggJiBiZmRfbWFjaF9hYXJjaDY0X2lscDMyKSAhPSAoYi0+bWFjaCAmIGJm ZF9tYWNoX2FhcmNoNjRfaWxwMzIpKQotICAgIHJldHVybiBOVUxMOwotCiAg IC8qIE90aGVyd2lzZSBpZiBlaXRoZXIgYSBvciBiIGlzIHRoZSAnZGVmYXVs dCcgbWFjaGluZQogICAgICB0aGVuIGl0IGNhbiBiZSBwb2x5bW9ycGhlZCBp bnRvIHRoZSBvdGhlci4gICovCiAgIGlmIChhLT50aGVfZGVmYXVsdCkKZGlm ZiAtLWdpdCBhL2JmZC9lbGZubi1hYXJjaDY0LmMgYi9iZmQvZWxmbm4tYWFy Y2g2NC5jCmluZGV4IGM4NmEzZTEuLjliODJmNGIgMTAwNjQ0Ci0tLSBhL2Jm ZC9lbGZubi1hYXJjaDY0LmMKKysrIGIvYmZkL2VsZm5uLWFhcmNoNjQuYwpA QCAtNjU5NywxMSArNjU5NywyNiBAQCBlbGZOTl9hYXJjaDY0X21lcmdlX3By aXZhdGVfYmZkX2RhdGEgKGJmZCAqaWJmZCwgc3RydWN0IGJmZF9saW5rX2lu Zm8gKmluZm8pCiAKICAgLyogQ2hlY2sgaWYgd2UgaGF2ZSB0aGUgc2FtZSBl bmRpYW5lc3MuICAqLwogICBpZiAoIV9iZmRfZ2VuZXJpY192ZXJpZnlfZW5k aWFuX21hdGNoIChpYmZkLCBpbmZvKSkKLSAgICByZXR1cm4gRkFMU0U7Cisg ICAgeworICAgICAgKCpfYmZkX2Vycm9yX2hhbmRsZXIpCisJKF8oIiVCOiBl bmRpYW5uZXNzIGluY29tcGF0aWJsZSB3aXRoIHRoYXQgb2YgdGhlIHNlbGVj dGVkIGVtdWxhdGlvbiIpLAorCSAgIGliZmQpOworICAgICAgcmV0dXJuIEZB TFNFOworICAgIH0KIAogICBpZiAoIWlzX2FhcmNoNjRfZWxmIChpYmZkKSB8 fCAhaXNfYWFyY2g2NF9lbGYgKG9iZmQpKQogICAgIHJldHVybiBUUlVFOwog CisgIC8qIERvbid0IGFsbG93IG1peGluZyBpbHAzMiB3aXRoIGxwNjQuICAq LworICBpZiAoKGJmZF9nZXRfYXJjaF9pbmZvIChpYmZkKS0+bWFjaCAmIGJm ZF9tYWNoX2FhcmNoNjRfaWxwMzIpCisgICAgICAhPSAoYmZkX2dldF9hcmNo X2luZm8gKG9iZmQpLT5tYWNoICYgYmZkX21hY2hfYWFyY2g2NF9pbHAzMikp CisgICAgeworICAgICAgKCpfYmZkX2Vycm9yX2hhbmRsZXIpCisJKF8oIiVC OiBBQkkgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhhdCBvZiB0aGUgc2VsZWN0 ZWQgZW11bGF0aW9uOiBcIiVzXCIgIT0gXCIlc1wiIiksCisJIGliZmQsIGJm ZF9nZXRfdGFyZ2V0IChpYmZkKSwgYmZkX2dldF90YXJnZXQgKG9iZmQpKTsK KyAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9CisKICAgLyogVGhlIGlucHV0 IEJGRCBtdXN0IGhhdmUgaGFkIGl0cyBmbGFncyBpbml0aWFsaXNlZC4gICov CiAgIC8qIFRoZSBmb2xsb3dpbmcgc2VlbXMgYm9ndXMgdG8gbWUgLS0gVGhl IGZsYWdzIGFyZSBpbml0aWFsaXplZCBpbgogICAgICB0aGUgYXNzZW1ibGVy IGJ1dCBJIGRvbid0IHRoaW5rIGFuIGVsZl9mbGFnc19pbml0IGZpZWxkIGlz Cg== --=-/Fk5qkazD+ZlvFCouGR6--