From patchwork Mon Jun 26 21:08:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9810423 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9441560329 for ; Mon, 26 Jun 2017 21:10:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C7DA2837E for ; Mon, 26 Jun 2017 21:10:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6FFE02841F; Mon, 26 Jun 2017 21:10:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.4 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM autolearn=no version=3.3.1 Received: from emsm-gh1-uea10.nsa.gov (smtp.nsa.gov [8.44.101.8]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id ECC582837E for ; Mon, 26 Jun 2017 21:10:13 +0000 (UTC) IronPort-PHdr: =?us-ascii?q?9a23=3AP1lG8xTHZ2NPgYgVmKmfvN/p2tpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa68ZRGCt8tkgFKBZ4jH8fUM07OQ6PG/HzVYud3Y7S9KWacPfidNsd?= =?us-ascii?q?8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3wOgVv?= =?us-ascii?q?O+v6BJPZgdip2OCu4Z3TZBhDiCagbb9oIhi7qQfcutMLjYd+Nqo9xQbFr3tKdu?= =?us-ascii?q?9L2W5mOFWfkgrm6Myt5pBj6SNQu/wg985ET6r3erkzQKJbAjo7LW07/dXnuhbf?= =?us-ascii?q?QwSB4HscSXgWnQFTAwfZ9hH6X4z+vTX8u+FgxSSVJ8z2TbQzWTS/86dmTQLjhS?= =?us-ascii?q?kbOzIl9mzcl8J/jLhfoBm8uRJxxYDaa5yROPZnf67ReNUXTndDUMlMTSxMGoGz?= =?us-ascii?q?b4UPAeQPPuhWspfzqEcBoxSkHQmhBv7jxzFWiX/txqA6z+csHBva0AA8A94Dsn?= =?us-ascii?q?LZp8j1OqcIVuC1ybHFwy3Cb/xK3jf97JLHcgs8qv+PWrJwdtHRyVIyHA7CiFWQ?= =?us-ascii?q?qJDqPzSR1usXqGiX9etgVeWoi248sAF8uT2vy8gji4XTgYIV0F/E+Dx/zY0oJt?= =?us-ascii?q?O4UFZ2bcOrHZZfrS2XN5Z6Ttk8T2xnpio20KAKtYalcCQWzJkr3R3SZvydf4SW?= =?us-ascii?q?/x7uVfydLSp6iX9qfr+0mgy8/lK6yuLmU8m5yFNKri1YndbSrn0NzBnT6tSfSv?= =?us-ascii?q?t640ehxS6D1wDN5eFAJkA5jbbbJIQ7wr4xi5oTql7PHjP2mUrqjK+WcV8o+u60?= =?us-ascii?q?5OT8frrqvJqcN45wig3mM6QunNKwAfggPwQTUGWW9v6w2b3+8UHjXrlHgeM6nr?= =?us-ascii?q?PEvJzCIMQUvK+5Awtb0oY57Ba/Ci+r0M8GknkDLVJFfg+HjofwN17VJ/D4EPG/?= =?us-ascii?q?jEiynzdw3P3GIr3gDYnNLnjEirvhe6195FRGxAo8ytBf+YpYCqsdL/LrRk/xqN?= =?us-ascii?q?vYAwc7MwyzxeboEsl91oMEVmKJGaKZMqTSsVmN5u01OOmMeJEauCzmK/Q/4P7u?= =?us-ascii?q?l3A5k0cHfaa1xZsXdGy4HvN+LkWbY3rjmMsOEWQRvgo5SuzqiUOCXCVdZ3a2Qq?= =?us-ascii?q?I96So0CJ+gDYffW4ChmruB3D20HpdOfGBJFkiMEWv0d4WDQ/oNZiOSIstkkjMa?= =?us-ascii?q?T7isUIEh2g+zuw/90bpoNPLU+jcftZLhytd6+/HTmQs19TxuAMSXy3uNQH1snm?= =?us-ascii?q?MUWz8227hyrlFhxVeG1qh4heBYGcFI6vNXTAg6L5/czu19C9D0QA7BeMmGSEq+?= =?us-ascii?q?SNW8HT4xVs4xw8MJY0tlBtqikgrM3zCxDrAJkLyLAYA7/bjH33jtPcp9zWjJ1L?= =?us-ascii?q?U5hVk8XsRPLXGmhrJ49wXLB4/IkkKZl6CxeKQZ2C7B7WaDzWyUsEFeSgFwS6bF?= =?us-ascii?q?XXEBZkTIt9j54F3NT6O2A7Q9LgRB0dKCKrdNatDxllpJX/DvONDfY2Kqh2ewHg?= =?us-ascii?q?yExqiSY4X2YWkdxzvSCEwFkwAV4HaHOhMzCTuhomLEETxuDkjjYk32/ulis3O7?= =?us-ascii?q?SUk0wxuNb0172Lq/4gQViuCES/MPwrIEvz8spCtsHFmnxdLWCsGAqhF5fKpGe9?= =?us-ascii?q?M94UxH1XrdtwNnIpOvMbpuhlkEcwR4p0nuzQl4Cp1ckcg2q3Mn1ARyKbiC31NH?= =?us-ascii?q?azyY3IvwN6bSKmnq/RCjcrXW21/F0NqM/acP8vs4oU35vA61Dkoi72ln095N3n?= =?us-ascii?q?uf/JrKDw0SUY/qX0Y07Rd6pLbaYjQn64PTz31sPrG+siXe1NIxGOsl1hGgcs9F?= =?us-ascii?q?P6yZDg/yEtMVB9K1JeMwh1epawgIPOdI9K47J8mmbeeJ2La3POZ8mzKrlX5H75?= =?us-ascii?q?1g3U+X+Cp8T+HJ04wDw/6GwguNTy38g0u5ssDrhYBEYikfHnGxySj+A45RfbFy?= =?us-ascii?q?cJ0QCWeoJM22yNB+iITrW3JC8l6sGU8G0tezeRWOd1z9wRFQ1UMPrH2pgyS4yy?= =?us-ascii?q?B0nC8zrqqExyHO3frtdAAcNW5WQWlul1DsIZK7j9oCRkincxAplAe55Ub936Vb?= =?us-ascii?q?uLlwIHTSQUhSeyj7NH1tUqy1trWeecFP848ovT9RUOuifVCQUqT9rAcC0yP/A2?= =?us-ascii?q?tewyg2dzerupX9mxx1lnmdIW1po3XHY8Fwwg3T5NvGRf5exjAGXjV3iSHLBlig?= =?us-ascii?q?ONmk5cuUl5bfveCiUGKhTIdffjXrzYOHsiu76nZnARm+n/C1gNLnCw863TX819?= =?us-ascii?q?lwWiXCtAz8bZXz16SmLeJneVFlBFv968phBoFyi5Awi48U2XgbgJWV4HUGnHzo?= =?us-ascii?q?MdVD2KL+ansNSiIQw9LP5gjqxlFjJGqTx43lTnWd3tdhZ96ib2MM3SI968RKB7?= =?us-ascii?q?mO7LNYmit0rEG1rRnMYfdhhTcR0/wu6GQVg+sRogoi0j2dAqwOHUlfJSHsjw6H?= =?us-ascii?q?7826rKlNfmmja6O/1E16ndC9C7GCpBpRWHPldpckGi9/8t9zMFTS333v8ovkYs?= =?us-ascii?q?XfbcoPth2IlBfNl+tVJ4w3lvoRnidnOnzyvXs+y+49kxNuwYu2vI+dK2Vi5Ki5?= =?us-ascii?q?GAJXNiXpZ8MP/THglb5ekdyL34CrAJphAi8EXJ30Tf22CjIfrunnNx2QHz0msX?= =?us-ascii?q?eXA6HfHQiC6Ed8s33ADZ6rN3aNJHkW09puXh+dK1JDgAoMRjU1goY5Fhy2xMzm?= =?us-ascii?q?aEp5+DYR6UPjpxtSzOJnKhn/Xn3ZpAi2djc+UIKfIwZO7gFe+0fVNtST7vppEC?= =?us-ascii?q?FF+p2stxCCKm2HZwVIFG0JVFaLB1b5Mrmp/9nA/PCSBvCiIPvWfbWOteteWu+G?= =?us-ascii?q?xZ211Itm4zGMNsCUM3lsEfI0x01DXWpjFMTBgTUPTC4XmDzRYM6Hvhu8/Td3rs?= =?us-ascii?q?+n+vTxRA3v/ZePC6dVMdh3/hC5m6ODN+qOiyZlNTZXzIkDyGTOyLcBwF4SkD1h?= =?us-ascii?q?eCO1EbseryLNSrzfmrNPBR4BdyxzLNdI77473gRVI87XkN302qR9jvEvD1dFUl?= =?us-ascii?q?zgl9qzasMWJmGxLlTHBFyENL6ePz3E39n3Yb+gSb1XlOhUuQewtiiGHE/4JDuD?= =?us-ascii?q?kSXpVxe0MexXli6UIBletJu6chZ3BmjpVMjmZQGjMN9rkT02xqU5hnXQNWEGKT?= =?us-ascii?q?h8a1hArrOR7SNCmfV/B2JB7ntjLeaenSaW8+jYJYwSsfdxBSR0je1a6mwgy7RJ?= =?us-ascii?q?9CFEWOB1mCzKo952vV6pifeAyjxmUBpSrTZGn4OLslt8NqrH7JVAXmzE/B0V52?= =?us-ascii?q?WKFxsKv8dlCsHou61I19fPj7z8Jy1N89LO58QcGdPZKNmdP3oiLBrpAiTbABEB?= =?us-ascii?q?TT62M2HQnVZdnOiO9n2SrZg7qp/slIAISrBFSFw/DukaBVh9HNwePJd3WSspka?= =?us-ascii?q?WBg84W/3W+owfeRN5Bs5DcTP2SH+/gKDmHgrlffRcIx633LZgLPI3hx0NickV6?= =?us-ascii?q?nJjNG0fIRt9NoyJhbggyoEhW7XdxUHY820P/ZQOr+nMTEuS0nhEugAtkfest7C?= =?us-ascii?q?vs40swJlfSviQwn1M+mcv7jj2Kdz7xNLm/XYdTCyXutkgxNoj0QwF6bAGomkxk?= =?us-ascii?q?LjjETapLj7R8bWBrlBPcuZxXFP5ASq1EZQUcxeuQZ/Qpz1tcrD6oxVVA5eTbCp?= =?us-ascii?q?tvjxclcZmpr31cwQ1jd8I1KbbWJKVX0lhanriOsTOw1uAt3A8eIF4A8GCSeS4M?= =?us-ascii?q?pkMFLbwmJy2m/uxi9wOChydDeGgLV/ovvP1m7EU9NPqczyj4yb5MNlixN/CDL6?= =?us-ascii?q?Oeo2XAk9CHTUk01k4TlElF+qN20ds5fEqSTEAvz7qRGw4PNcXcNQFfd9BS+2TL?= =?us-ascii?q?fSaSreXNxop4P5+jGeDzU+CBrrwUjV6kHAsyBIsM794BEYSr0EHWNcfnNqAKyB?= =?us-ascii?q?U36ATtOlqFEOxDeAiXnzcfv8G/0Jh30JFAKTEaB2V9Nzi46ajTpg8rm/eMRsk5?= =?us-ascii?q?Ym0dXoceMXI2QsK6kTZDv3tcFDm3zv4ZyA+a4jDhvCvQEjj8YMd4ZPqPfxxsEs?= =?us-ascii?q?u2+TIx8qitl1HY7ojeJ3v7NdR+ut7D8+UaqIibC/lMV7lyr1/cm5VER3ytS2PP?= =?us-ascii?q?Fdm1J4LuZIkqbN30DW23UlO5izIoVcvxO8ytLqeQiwHyWYlUqJWb3CwkNcKlDT?= =?us-ascii?q?ERBRNwp+AF5KJhagwOeIY0YRnttwsiLaO/OxuY3s+oQ2mzNTtcV+NfwvmiZ7xL?= =?us-ascii?q?0yosafe3yHg6TpA61ea391INRJERgxHRwvajf5VRXTL1GnNDZwXFvTA5mHR5Nu?= =?us-ascii?q?Yu3uc/xwvFsUUdMzCOc+xpdGxEvtEnCFyPIHV3CnA3SESGgYrF/AGsw6gY/zFB?= =?us-ascii?q?kNZMze1FrH/+s4fFbzKoWayktYvavDIlbdkmpa1xNorjLdGduZzFnzzQVp/Qvh?= =?us-ascii?q?SLUC6nDfZanMZfID5ASvlShW4lIdAGuZZG6UcpTcgxObpPBbI2qb+3dzprEzQS?= =?us-ascii?q?zTQDWIOa3D0OmOC826HVlh2IapQtLAQEsIlegtsaSyN2bT4epK6nV4XSiWCET3?= =?us-ascii?q?MGLxoN4gtX5QIPjIlwcvri4IrSQ59G0yRWrO5sUivXCplo8EP2SnuQgVj5VPqh?= =?us-ascii?q?k+up3QZJzPz0y9cVRQRxBFRayetNikQoL7R3JLUKsY7Rrj+Eb0X6s3zxyOG+Pl?= =?us-ascii?q?le1dXUd0HkDIrCrWf8SDcT+WcTRYBU03zfCY4SnBBnaKk1oFVMIYamekn65zwl?= =?us-ascii?q?yIRpH6W4Vc6xyFY/qHYKXSGqHMRdC+t+qlLYRCVlY4y3qJXiI5hTTHVc94Gdq1?= =?us-ascii?q?dYlUVtMjS2yZlHJsFM/DEDQiZArS+avNuoR81JwdV2AIMUItdjp3f9H7tJN4KL?= =?us-ascii?q?o30rvLzj0HzZ9is9sFe7xTWzB7S3Q/hf/2IABgUjP36epVU3D+sw7mfS9UjAsl?= =?us-ascii?q?Fy/+dHGLePiVt+oDNjEZBSHDZI1WuoL1NrTHZYteVaLb7ac81YQ/YpYh+uNAYy?= =?us-ascii?q?Ffk830yG5Ut0h2v2YzRutgtG/CDQRwY0VTMPjbfrhT0TscCnOTgUSpJOcTUhbz?= =?us-ascii?q?nKKwOdmSBLohlfcVtmW5YHDdZZ47sbx5db/tLeSUawLiEIRABiNgU90fdEiU5P?= =?us-ascii?q?rECYdjvHAQqua/nPrgV9fd2No86xMPT54ABHh5vnsO8i7aUMXXmmlhC2TN/DsY?= =?us-ascii?q?D8rsWKuVWKdKjmKe2we3jBTCLDjRqon7crE4HK/zTPMApcM5R6y30kbob6BGHW?= =?us-ascii?q?IxtGPLwUJ1BHVa9kdNpKuOZaaNF4eKwR469iGgqHRg/zGIyotPRJNVjTSijCIy?= =?us-ascii?q?iD7+Cyr5ne4qDaSejlesOD3W3HQ75tMpd89zb7B6/g0ZVC9Uruxvdt6kR6REDc?= =?us-ascii?q?My+fsdvhJhkE5NW5e0vmuZ0pAy3ZDIlsn3rq205PadAbQyu0/5QE0JlZ8mr/Sf?= =?us-ascii?q?pk0kjvt+1f76Fk6ZIr479z1Mi0ObzfKe9dsU96GBibGhtl9pMxAGhlXW9RZvUd?= =?us-ascii?q?KPDLfaQWlcrusfz4F7QL6B2J/OxUccfHJ1vflcahFz6RUgFEnAMdqT4ANAScyf?= =?us-ascii?q?+Fm6hwScm7uej1wEUt40KxLhQe1rBi+Z+E+raUpO/QdxbRz6ILWrLtRsPoqrQj?= =?us-ascii?q?oV2S6OYhlL4Tfmx1fwynH/QcVsEHwGfg1romzSU2E8PMB7jg4uJMV2olnjL8nJ?= =?us-ascii?q?BwB1cWFekSHbqF54RemXo3lPLCO90KaK9CnH2PFRm+Hr8E13Gr9zOdIHN5jRHW?= =?us-ascii?q?zxHwXWSz4UfwrS98WibMztHjkk9PWrm2A0dSUTCpNlVjsDOTJgroqcb4ubgo7E?= =?us-ascii?q?EsLGPortWNlHGuOLlPBc3wOMScITUopFIQlJAxQN2v1pwcGdq5OtgR62tybvrZ?= =?us-ascii?q?62OsiC9BuLxKh4/R78Ca4PnXGmOgj6KCobWX2D9Y0mQ4vU046t24Kv7B/dmKTO?= =?us-ascii?q?qz12YNTyZ/vBDMXwWppbzasV8UP1CL0EbRl4AQONFWw2U43Fn85Oc/WNIz6Ble?= =?us-ascii?q?FoHYavMGvjDzPTv5zE2RY90pSyae1CFXEUjtEVliH6g82nz/s97VlXvK/F0oXI?= =?us-ascii?q?ZwfVT9hRNrF4U4NV4t6F8PzyoBEAgNbAuWDLS2CkXlM4QET0kDaRKI3LSgfKc4?= =?us-ascii?q?w1FzyKu15ODPdex8G7YNNvFFgw6PnVlUAIgZvrEFTbJnZVBd6LDYqRT4B4jgRf?= =?us-ascii?q?jmmmI6NeepTcBC7cAZq3wi7x6kSBqh8pdC4awUiJKJdq5YeZjDpt1870N86DET?= =?us-ascii?q?cSxCnQZwgAmkUeAGo+Dj+MLUvICv6ua0W6YnX/8X+AQsB2Rik5vwh0guocnN2O?= =?us-ascii?q?dAVoLViYr+8AdXI36JoYrayAdzKe4PK4KtYbZh+G4KJzAEKHISIdWWa/c94yh3?= =?us-ascii?q?MDXQ/VBCAd0DZckePMXTnQBYkErpWKtc9sDDAF+XF59zd9w072rw0D017YE8Xf?= =?us-ascii?q?jk6DCsI5DQ8UpAMO5CjCVjldLCuPIaweHIBygN/HmVcR51zT2ey5OVEfb/4f2M?= =?us-ascii?q?yM3IV1MBBiM2XJ1SJCCc9gy7Ruq4j5HpUgKI6sDtgJIxbl+QRmerkKQDrKlMDf?= =?us-ascii?q?ZKij/n0ThGCoD1m/WVvsKj6GRJsF1HDIFz7RrCFKVEIJp7PRX4ls+2RklzHSb/?= =?us-ascii?q?fN/bdgAuueWM3OsM5ftxN1fmb48BPh0E06766WZSTgZ2VLH2vEyWUv4KadR6T/?= =?us-ascii?q?PEqnRV6YN+JK8VIFiSuoDlrjdSpFAxGg8pZ6c6riZGeUnWgA1VR6H0taYFigsb?= =?us-ascii?q?V955pUBMFnyrNWI75jrIT6JVg7eNCP0b9TWTVK8OU15yPiN4XRy1xI1ke6G1kv?= =?us-ascii?q?BfrmNGgiR9reAl0zN6Xxu8ojTgqb8C1zwm+bG4sigBuHNeQ+WRlifHE1NDw+oQ?= =?us-ascii?q?gacbEXbi5kS2YGMfY4vq/LlnOcPg+JEj43Q4YRUjeTcKUvigCyH0kqOHH42OsN?= =?us-ascii?q?NahB6Wu8XObKS+LTYTNrQj0x3jQ2Vy0gnEkBZu7mQLXi2q7MU4K4WlJcYl2i2o?= =?us-ascii?q?FHDadFYS+KxJttD8tVoWTOQraFNhx35j3tKARi0XS8zFA3w1gRQ8aWVYbJJD7g?= =?us-ascii?q?cXF6s2jTaGsKlG+hoZYTnOHYSj5IbQgd3E2X8jQtd23mjWvLGKhos20H15nNN5?= =?us-ascii?q?9iGOuHAVd+3WTcBsBnzz25xEyez5YfWts/wIRJFgyLu/TP8IKtOj9neu2JV2Rk?= =?us-ascii?q?+lwawTH1i5MO4D3rfbVCOlSWyEWeuVaGWMmjc5MlLo5Ra2NFE3b91Kr0AlOOvY?= =?us-ascii?q?mpFcjxHhUa9zRiiIuV/bzWkjPPgGdwI3pIineBIFTOoLa+iaO+cu3OU0CEEQYH?= =?us-ascii?q?/RASt2F+i2vEaonIh6OHVg4kL6bP/v8g/8M9uSHR8EHpDcrpJr//y1WH6BM2d6?= =?us-ascii?q?zBJuJEl06/vfF1Mpu+BHbZmRm8TQis9g0e4BcPdtLTE9usANlY1+84WU192KcR?= =?us-ascii?q?7JxJboOd7VuuSYA+HYz0kyYmFaVb4Zbhnv54Q0Od45X7PTEKBcvRQbAqg6W4Iu?= =?us-ascii?q?OHvr9KFzNwNzaQ/RZLK7gsXwoeKLfJRUrWfM7l0sNCfcpwEDyvusQAx1cZ+qg3?= =?us-ascii?q?TyIIguST9artxtCx5mHI5RFMMaqwqoHYSYmKahi9++40l6ofMFsbLsCvDW09S0?= =?us-ascii?q?x4twX4BA5UyKIDneGrJmgkFkjuSumPfPzIP9CcT4edMLTOJ7WHLKaqfaHoWjLT?= =?us-ascii?q?KDIsX8e0pY/LOHyLJ5Vg+eZDvlX6qHqCKkKO9k7lslxYBieurc0iAt5anB2NTu?= =?us-ascii?q?f2FbujujrXmROZtb7VzKA/HeXh1NRfqB8WZlBrEXbZDv+ecPK9Mixt+c7xN07D?= =?us-ascii?q?RY38uPO7KhoVPU2kJnaZLbK1Pk2z0nVokOIRS/N1YsgGDepnrSHXRcLtarKdNz?= =?us-ascii?q?j9aNFBPg/Epxln83Zm5HBGXoQcyeOXUU286kYw2K7g1LBc4Zn+GrYU44qrGySe?= =?us-ascii?q?5wN5VAg+qlqLUHkddvKyHIX8VaISDQLLloMTpVD+XPokUoYxEev7gyQIc1aoCE?= =?us-ascii?q?IFkbP0eY1SPy0QzC3FX2d9O216aJJz0Z/25az7LDzThMpw65ueuWgs3jTLDVdp?= =?us-ascii?q?f2U+DOMCA9TDGVWSwyEVq1+Vejo/cEs+CXLnwFolAVfC2SDBUepr5rrdfKFW/T?= =?us-ascii?q?mPBjcIcMhP+ERyD6UDd4m7YqBiZXqUCMROIOFQvTb3/mmmpcog2iJuRX8HLjdb?= =?us-ascii?q?KYw7RaW+0MDotLaP2ZTMPSeepCKDcwijUZJOG8csXHr7Y311LHUWoUHqrT+V2A?= =?us-ascii?q?UkGWWP2cxjPsXYUTpYQ0vDQn+s6D1hNwRp/UMq6fqjjmyYuxiCKVqKWKTWU2S1?= =?us-ascii?q?Aki+IFRm+ayV9PL39SWP8Pv0S4ZK+LYEJFzzoIjuV1wFdYfgV4VXlnyTtXm/Gm?= =?us-ascii?q?AeVcFU5Si3mhFq5VJGtrBS89qBfZqjb5ZsYN7IWNSg=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2HEAwAGd1FZ/wHyM5BdGQEBAQEBAQEBAQEBBwEBAQEBFAE?= =?us-ascii?q?BAQEBAQEBAQEBBwEBAQEBgwIrYoENB4NliwyQb4IOAZV1KAOBd4ZxB1cBAQEBA?= =?us-ascii?q?QEBAQIBAmgogjMkgStbOwEBAQECAQECIAQLAUYDAgEJAQEKCwIBCgICIgQCAgM?= =?us-ascii?q?BHhIBBQEcBhMFFog/gUoIBaNvP4wJgWw6JAKLMwEBAQcBAQEBJIELghyDTIFhg?= =?us-ascii?q?ySBT4YugmEBBJ5pgheFHYNAiHOCX4hUhl+TWRQfgRVYgQowITBqBoRtHYFodIk?= =?us-ascii?q?2AQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 26 Jun 2017 21:10:11 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id v5QL8pN8001151; Mon, 26 Jun 2017 17:08:56 -0400 Received: from tarius.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id v5QL8mU2009923 for ; Mon, 26 Jun 2017 17:08:48 -0400 Received: from goalie.tycho.ncsc.mil (goalie [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id v5QL8lNE001142; Mon, 26 Jun 2017 17:08:47 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1CxAABzd1FZmCIeaIFdGgEBAQECAQEBAQgBAQEBgy2BDYENB4Nlm3uYL4hoB1cBAgEBAQEBAhMBAQEBAQgLCwYohUcBAQICASMEUgULCwsDCgICJgICIhIBBQEcBhMbiD+BSggFo28/jAmBbDqLWgELJoELghyDTIFhgySBT4YugmEBBJ5pgheFHYNAiHOCX48zk1kUH4EVgWEwITBqBoRtHYFodIk2AQEB X-IPAS-Result: A1CxAABzd1FZmCIeaIFdGgEBAQECAQEBAQgBAQEBgy2BDYENB4Nlm3uYL4hoB1cBAgEBAQEBAhMBAQEBAQgLCwYohUcBAQICASMEUgULCwsDCgICJgICIhIBBQEcBhMbiD+BSggFo28/jAmBbDqLWgELJoELghyDTIFhgySBT4YugmEBBJ5pgheFHYNAiHOCX48zk1kUH4EVgWEwITBqBoRtHYFodIk2AQEB X-IronPort-AV: E=Sophos;i="5.39,397,1493697600"; d="scan'208";a="6105409" Received: from emsm-gh1-uea10.corp.nsa.gov (HELO emsm-gh1-uea10.nsa.gov) ([10.208.41.36]) by goalie.tycho.ncsc.mil with ESMTP; 26 Jun 2017 17:08:39 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AOt4OORCHkc0ttz4NUKCuUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPX7osbcNUDSrc9gkEXOFd2CrakV1KyP6/irADFfqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRo?= =?us-ascii?q?LerpBIHSk9631+ev8JHPfglEnjSwbLdwIRmssAndqtUajYR/JqsxyBbCv2dFdf?= =?us-ascii?q?lRyW50P1yYggzy5t23/J5t8iRQv+wu+stdWqjkfKo2UKJVAi0+P286+MPkux/D?= =?us-ascii?q?TRCS5nQHSWUZjgBIAwne4x7kWJr6rzb3ufB82CmeOs32UKw0VDG/5KplVBPklC?= =?us-ascii?q?EKPCMi/WrJlsJ/kr5UoBO5pxx+3YHUZp2VNOFjda/ZZN8WWHZNUtpUWyFHH4iy?= =?us-ascii?q?bZYAD/AZMOlaoYnzp1UAoxijCweyGOzhxSRFhmPv3aAgz+gtDR3K0Q4mEtkTsH?= =?us-ascii?q?rUttL1NKIKXO6tzanH0TLDb/dM1jfm9YPGcRchofaXXbJrbMHczk8vFwLZgVWX?= =?us-ascii?q?rYzqJSiV2v4Ms2ic6OpgTvmvhnUiqwx+rTmj3MAsipPGho8MzF3P6CZ3wJ4tKN?= =?us-ascii?q?GlVkJ2ZcSoHIZMuyyVLYd7TN8uT3tmtSs10rEKp4K3cSwQxJkkxxPTceKLf5WJ?= =?us-ascii?q?7x75SeqcIzh1iXR4c7ylnRmy61KvyujkW8m0zllKqi1Fn8HJtnECyhDf8NCHSv?= =?us-ascii?q?x5/kahxTaAyRzc6uFCIUA1jKrbNoAuzqQ3lpoJvkTPBi72mEPog6+Kbkgo5/ak?= =?us-ascii?q?5uD9brn7upOROJV4hw/iPqg0lMGyDvw0Mg0UUGia/eS82qfj/Ur8QLhSk/M4jr?= =?us-ascii?q?TXvIzCKMQFp665GxdV354j5hu9Fzqm1dsVnHYdIFJCYhKHgJDkO1fPIP/kCve/?= =?us-ascii?q?h06jkCxxy/DHOb3hBY7NLmPYnbj6erZ99khcxxYtwtBE/Z5UD74MIf3pVk/2rt?= =?us-ascii?q?zYAQc1MxaozOb/FNV9yoQeVHqUAqCEK6PfqkOI5+IzLOmMY48ZojD9K+M/6PL0?= =?us-ascii?q?gn85nkEdd7Gz3ZQLcHC4AuhmI0KBbHr3nNgBFWYKvgwjTO3lk1CCTT5SaGqyX6?= =?us-ascii?q?I7/D07DpmmAp3ZSoCih7yBwnTzIpoDXXxLElCBFz/TcoyAX/odIHaJLtRJji0P?= =?us-ascii?q?Vb/nTZQokx6pqlmp5aBgK7/y+yYfsZv4nPly4PbI3UU09DdzC82GlWCKSHpvtm?= =?us-ascii?q?ZUV3kxxq8p8h818UuKzaUt268QLtdU/f4cF15ibZM=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0E0AQAGd1FZmCIeaIFdGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBFQEBAQECAQEBAQgBAQEBgwKBDYENB4Nlm3uCD5YggXeGcQdXAQEBAQE?= =?us-ascii?q?BAQECAQIQAQEBAQEICwsGKC+CMyQBgSpbOwEBAgIBIwRSBQsLCwMKAgImAgIiE?= =?us-ascii?q?gEFARwGExuIP4FKCAWjbz+MCYFsOotZAQsmgQuCHINMgWGDJIFPhi6CYQEEnmm?= =?us-ascii?q?CF4Udg0CIc4JfjzOTWRQfgRWBYjAhMGoGhG0dgWh0iTYBAQE?= X-IPAS-Result: =?us-ascii?q?A0E0AQAGd1FZmCIeaIFdGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgwKBDYENB4Nlm3uCD5YggXeGcQdXAQEBAQEBAQECAQIQAQEBA?= =?us-ascii?q?QEICwsGKC+CMyQBgSpbOwEBAgIBIwRSBQsLCwMKAgImAgIiEgEFARwGExuIP4F?= =?us-ascii?q?KCAWjbz+MCYFsOotZAQsmgQuCHINMgWGDJIFPhi6CYQEEnmmCF4Udg0CIc4Jfj?= =?us-ascii?q?zOTWRQfgRWBYjAhMGoGhG0dgWh0iTYBAQE?= X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mx1.polytechnique.org ([129.104.30.34]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2017 21:08:38 +0000 Received: from mail-qt0-f174.google.com (mail-qt0-f174.google.com [209.85.216.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 0B849564CB1; Mon, 26 Jun 2017 23:08:36 +0200 (CEST) Received: by mail-qt0-f174.google.com with SMTP id i2so11217636qta.3; Mon, 26 Jun 2017 14:08:35 -0700 (PDT) X-Gm-Message-State: AKS2vOy/q99qh+RSBl6nLyWXOGi67FI0hMkjSb8GJIbEDheILzKJ3F6F XdTa0oE8rAWFxldmb6cv/dr/luXEbQ== X-Received: by 10.237.61.91 with SMTP id h27mr3035755qtf.1.1498511315067; Mon, 26 Jun 2017 14:08:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.35.14 with HTTP; Mon, 26 Jun 2017 14:08:34 -0700 (PDT) In-Reply-To: <1498227282.2063.2.camel@tycho.nsa.gov> References: <20161114212817.15781-1-nicolas.iooss@m4x.org> <20161114212817.15781-2-nicolas.iooss@m4x.org> <1498052525.32258.0.camel@tycho.nsa.gov> <20170621142749.GA27536@meriadoc.perfinion.com> <1498227282.2063.2.camel@tycho.nsa.gov> From: Nicolas Iooss Date: Mon, 26 Jun 2017 23:08:34 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 2/4] libselinux, libsemanage: link Ruby wrapper with -lruby To: Stephen Smalley X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Mon Jun 26 23:08:36 2017 +0200 (CEST)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org X-MIME-Autoconverted: from quoted-printable to 8bit by prometheus.infosec.tycho.ncsc.mil id v5QL8mU2009923 X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Cc: selinux Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP On Fri, Jun 23, 2017 at 4:14 PM, Stephen Smalley wrote: > On Wed, 2017-06-21 at 22:27 +0800, Jason Zaman wrote: >> On Wed, Jun 21, 2017 at 04:02:29PM +0200, Nicolas Iooss wrote: >> > On Wed, Jun 21, 2017 at 3:42 PM, Stephen Smalley > > > wrote: >> > > On Wed, 2017-06-21 at 11:38 +0200, Laurent Bigonville wrote: >> > > > Hello, >> > > > >> > > > Le 14/11/16 à 22:28, Nicolas Iooss a écrit : >> > > > > When linking with -Wl,-no-undefined in LDFLAGS (in order to >> > > > > find >> > > > > possible link-time errors), the Ruby wrapper module needs to >> > > > > be >> > > > > linked >> > > > > with the libruby.so which is used by $(RUBY). Introduce a new >> > > > > RUBYLIBS >> > > > > variable to find this library. >> > > > > >> > > > > Signed-off-by: Nicolas Iooss >> > > > > --- >> > > > > libselinux/src/Makefile | 3 ++- >> > > > > libsemanage/src/Makefile | 3 ++- >> > > > > 2 files changed, 4 insertions(+), 2 deletions(-) >> > > > > >> > > > > diff --git a/libselinux/src/Makefile >> > > > > b/libselinux/src/Makefile >> > > > > index 4fe1f7002181..82a1010af2d8 100644 >> > > > > --- a/libselinux/src/Makefile >> > > > > +++ b/libselinux/src/Makefile >> > > > > @@ -15,6 +15,7 @@ INCLUDEDIR ?= $(PREFIX)/include >> > > > > PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) >> > > > > PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; >> > > > > print(site.getsitepackages()[0])') >> > > > > RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + >> > > > > RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + >> > > > > RbConfig::CONFIG["rubyhdrdir"]') >> > > > > +RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + >> > > > > RbConfig::CONFIG["libdir"] + " -lruby"') >> > > > >> > > > I'm trying to package 2.7-rc2 in debian and unfortunately this >> > > > is >> > > > not >> > > > working out of the box for me. The library is not installed as >> > > > -lruby >> > > > but as -lruby-2.3 (for ruby 2.3). In addition the lib is not >> > > > installed >> > > > in /usr/lib. >> > > > >> > > > I can see in the RbConfig::CONFIG hash a key called >> > > > LIBRUBYARG_SHARED >> > > > or >> > > > LIBRUBYARG which contains "-lruby-2.3". Also I see a >> > > > "archlibdir" or >> > > > "sitearchlibdir" key which contains the correct path to the lib >> > > > (the >> > > > multiarch path) >> > > > >> > > > RUBYLIBS ?= $(shell $@ -e 'puts "-L" + >> > > > RbConfig::CONFIG["archlibdir"] >> > > > + >> > > > " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') >> > > > >> > > > Could this be a possible alternatives for the other >> > > > distributions? >> > > >> > > Assuming you mean $(RUBY) rather than $@ above, that works for me >> > > on >> > > Fedora: >> > > $ ruby -e 'puts "-L" + RbConfig::CONFIG["archlibdir"] + " " + >> > > RbConfig::CONFIG["LIBRUBYARG_SHARED"]' >> > > -L/usr/lib64 -lruby >> > >> > On Arch Linux: >> > >> > $ ruby -e 'puts RbConfig::CONFIG["LIBRUBYARG"]' >> > -lruby >> > $ ruby -e 'puts RbConfig::CONFIG["LIBRUBYARG_SHARED"]' >> > -lruby >> > $ ruby -e 'puts RbConfig::CONFIG["archlibdir"]' >> > /usr/lib/x86_64-linux >> > $ ls -l /usr/lib/x86_64-linux/libruby.so >> > ls: cannot access '/usr/lib/x86_64-linux/libruby.so': No such file >> > or directory >> > $ ruby -e 'puts RbConfig::CONFIG["libdir"]' >> > /usr/lib >> > $ ls -l /usr/lib/libruby.so >> > lrwxrwxrwx 1 root root 16 2017-04-22 15:40 /usr/lib/libruby.so -> >> > libruby.so.2.4.1* >> > >> > So replacing -lruby with RbConfig::CONFIG["LIBRUBYARG_SHARED"] and >> > adding "-L" + RbConfig::CONFIG["archlibdir"] in RUBYLIBS definition >> > seem to work fine. >> > >> > Nicolas >> >> Heres gentoo: >> $ ruby -e 'puts RbConfig::CONFIG["LIBRUBYARG"]' >> -lruby21 >> $ ruby -e 'puts RbConfig::CONFIG["LIBRUBYARG_SHARED"]' >> -lruby21 >> $ ruby -e 'puts RbConfig::CONFIG["archlibdir"]' >> /usr/lib64/x86_64-linux >> $ stat /usr/lib64/x86_64-linux >> stat: cannot stat '/usr/lib64/x86_64-linux': No such file or >> directory >> $ ruby -e 'puts RbConfig::CONFIG["libdir"]' >> /usr/lib64 >> $ ls -l /usr/lib64/libruby2* >> -rw-r--r--. 1 root root 4078832 May 8 16:27 /usr/lib64/libruby21- >> static.a >> lrwxrwxrwx. 1 root root 18 May 8 16:27 /usr/lib64/libruby21.so >> -> libruby21.so.2.1.0* >> lrwxrwxrwx. 1 root root 18 May 8 16:27 >> /usr/lib64/libruby21.so.2.1 -> libruby21.so.2.1.0* >> -rwxr-xr-x. 1 root root 2506160 May 8 16:27 >> /usr/lib64/libruby21.so.2.1.0* >> -rw-r--r--. 1 root root 4588894 May 6 12:28 /usr/lib64/libruby22- >> static.a >> lrwxrwxrwx. 1 root root 18 May 6 12:28 /usr/lib64/libruby22.so >> -> libruby22.so.2.2.0* >> lrwxrwxrwx. 1 root root 18 May 6 12:28 >> /usr/lib64/libruby22.so.2.2 -> libruby22.so.2.2.0* >> -rwxr-xr-x. 1 root root 2622488 May 6 12:28 >> /usr/lib64/libruby22.so.2.2.0* >> >> $ qlist -Iv ruby >> ... >> dev-lang/ruby-2.1.9 >> dev-lang/ruby-2.2.6 > > So, what's the conclusion? Do we have a consensus on replacing it as > proposed? Looks like from the output above that archlibdir doesn't > actually work on gentoo or arch since the file doesn't exist there? >From the previous messages, I conclude that both "libdir" and "archlibdir" are needed and that "LIBRUBYARG" and "LIBRUBYARG_SHARED" share the same value. As the linker does not issue any error when using -L with a non-existent path, a possible solution would be to use both directories. For example for libselinux: -RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -lruby"') +RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') LIBBASE ?= $(shell basename $(LIBDIR)) LIBSEPOLA ?= $(LIBDIR)/libsepol.a With this, "make install-rubywrap" works fine on my system and should work on other ones. Nicolas --- a/libselinux/src/Makefile +++ b/libselinux/src/Makefile @@ -17,7 +17,7 @@ PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') PYCEXT ?= $(shell $(PYTHON) -c 'import imp;print([s for s,m,t in imp.get_suffixes() if t == imp.C_EXTENSION][0])') RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]')