From patchwork Sat Jan 14 14:38:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9517055 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 354D3607D6 for ; Sat, 14 Jan 2017 14:39:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 195F7284C3 for ; Sat, 14 Jan 2017 14:39:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0AB3D284BC; Sat, 14 Jan 2017 14:39:32 +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.9 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from emsm-gh1-uea10.nsa.gov (emsm-gh1-uea10.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 D957D284BC for ; Sat, 14 Jan 2017 14:39:30 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,228,1477958400"; d="scan'208";a="2824444" IronPort-PHdr: =?us-ascii?q?9a23=3A15Vz/B0ORLhlHExvsmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?sewVKv3xwZ3uMQTl6Ol3ixeRBMOAuq4C0LGd6vGwEUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6ybL9oIhi7owrdutQSjIZhN6081gbHrnxUdu?= =?us-ascii?q?pM2GhmP0iTnxHy5sex+J5s7SFdsO8/+sBDTKv3Yb02QaRXAzo6PW814tbrtQTY?= =?us-ascii?q?QguU+nQcSGQWnQFWDAXD8Rr3Q43+sir+tup6xSmaIcj7Rq06VDi+86tmTgLjhy?= =?us-ascii?q?kdNz497WrZlMp+gqxGqx6lvhBz3pLYbISTOfFjfK3SYMkaSHJBUMhPSiJPDICy?= =?us-ascii?q?YYwXD+cDIOpVoYbyqEcBoxSgHgmhH//vxz1Si3Pqx6A2z/otHAfb1wIgBdIOt3?= =?us-ascii?q?HUoc3tOqcTTe+1y63Iwi/Yb/hL2jn974/Icgs6ofqRWr9wd8vRxlUoFwPBlFqQ?= =?us-ascii?q?spbpPzKS1uQKqGib9PFtVeeghm8osQ1xpSKvxsg1h4TPm4kbxFfE9SBjz4Y0I9?= =?us-ascii?q?21UE56YN6+HJRMtyCXMZZ9TMA6Q2xwpSo3xbILtYS7cSQX0pgr2RHSZ+Kdf4SV?= =?us-ascii?q?+h7uVuScLS1liH9rdr+znQi+/VShx+HmWMS4zlBHpTdfnNbWrHACzRnT59CCSv?= =?us-ascii?q?t640iuxy6C1xvW6uFYOUA0krfbK4I5zr4wiJUTtUPDEzfqmErslq+Wd1gk+vOy?= =?us-ascii?q?5+T7YrTpup+cN4huhgH4LqsugdCwDf49MggPW2iX4eW81Lv98k3lWLhGk/I7n6?= =?us-ascii?q?bDvJ3aOMgXvLC1DgBL3oo59hqzFzKm384ZnXkDIlJFYhWHj43xNlHVPv/4Cfa/?= =?us-ascii?q?g1KxkDZk3vzJJbrhAojLLnffjrjhZq1w61JcyQUvzdBf4IhYCrcaIP3pQEPxu9?= =?us-ascii?q?vYDgEhPwyu3+nnEMl91p8ZWW+XAK+ZN6XSvkWU5uIvOeaMYpQYuDT6K/gj4v7h?= =?us-ascii?q?l2Q5mUMDcqmzxpsbcne4Hu5pI0+Be3rjns8BEXsWvgo5VOHqil+CXiRPaHaxRK?= =?us-ascii?q?I84Tc7CIO4DYrYSICthKGB3SigEZ1LYGBGFk2MHW3vd4WeVPcGcDiSLdN5kjwY?= =?us-ascii?q?SbihTJcs1QmwuwDh1bVnKOvU+jEftZ/41dh6+fPcmg8o+TxzFcSd3HmHT3tokW?= =?us-ascii?q?MQWz82wKd/rFRgxVeE16h4heFXGsJX5/NISQo1L4DTz/Z9C9zoXQLBZNiJQk68?= =?us-ascii?q?Qtq6GTExUs4xw9gWbklgB9WtlArD0jG2DL8SkryEGIY78rnA33TrIcZy1WrG3r?= =?us-ascii?q?E7j1Y6WstPKXGmhqln+gjSAY7Jj1uWl6K0eqQZwiHN6H2DzGqVsUFfSA5/T6PF?= =?us-ascii?q?XXUFaUvXqdT2/UTCTrC0BbQgKAtBxtaIKrFWZd3xkVVGWPDjNczeYmOwnGewAw?= =?us-ascii?q?2FxraIbIbzemUd2j/RCE4enAAJ/naGNBY+CTm7r2LYEjNuCUrlY1nw/ulmtHO7?= =?us-ascii?q?Ukg0whmUYE15zbW14B8VheeHRvMLxL0EoiYhqy5sHFa5xd3ZF8SPqxBmfKVGbt?= =?us-ascii?q?M3+E1H2n7BtwxhIpygKLhvh1AfcwRzukPhyQ93B55Okcc0sXwqyxByJriA0FNb?= =?us-ascii?q?cDOY347/NaHLKmXo+xCvcaHW0EnE0NmK4qcP9Og4q1L7sQGnDEot6XNn3MVU03?= =?us-ascii?q?uH/ZjKCRISUZPoXkYs+Rl6vKvWYi4n54PbzXdsK7W7sife29I1A+so0hWgcM1c?= =?us-ascii?q?MKODCQ//CM4aCNKtKOwthlildBUEPPpd9KQsJcOpa+OG2LK3POZnhD+pl3lI4J?= =?us-ascii?q?p80k2S7SpxUfTH0IoAw/2C2QuHTTj8hk+7ss/rgYBEeS0SHm2nxCf4HoFRYrN9?= =?us-ascii?q?fZ0XCWauJM263c5+iILsW3FG8l6jG1IG19WzdRqUcVP9wRVa1V4Lrny/hSu40z?= =?us-ascii?q?t0nikprqWB2CzOx+PieQEDOm5WWGliilLsLpKug9AdRkioYBAjlAG56kbi26hb?= =?us-ascii?q?uKN/InHIQUdGZSj2KHpiUreru7qZZc5P750psSBNX+S6e1yaTKDyowcC2SP5A2?= =?us-ascii?q?Re3Cw7dy2tupjhkR11kmadLGpto3rDYsF93gnf68LGRfFKwzoGQTN0iT7NBliz?= =?us-ascii?q?J9Op58mbl4/fsuCiUGKsToFTfjT2woOBriS74XZnDgG4n/C2htLoCxM60TPh29?= =?us-ascii?q?lsSyrIsA72YpP32KSiLeJnYk5oCUf668p7HoF+lpU/hIoL1HcAmJqV530HnX30?= =?us-ascii?q?MdVB1qL0dGANSiITw97J/Ajl31VuLmyIx43lSnWdxdFha8OmbWMW3SI96c9KBb?= =?us-ascii?q?yQ7LxFmyt6uEC4rQXLbfh6hDcdxuMk6GQGjOERpAot0iKdD6gWHUlZJizsiw2E?= =?us-ascii?q?78ugo6VTZWavd6Ww1UVlkNC6FLGCowdcWHfldZc5ByNw6NtwME7U2n3p9o7kYM?= =?us-ascii?q?XQbc4UthCMiRfAiOxVKJYvmfoQmSVnPmz8sGY+y+4mkRNuxou2vI+dK2Vi5Ki5?= =?us-ascii?q?GAJXNiXpZ8MP/THglb5ekdyL34CrBJluAC8HU4DvTfKsDDISsvLnOh2LEDEgrH?= =?us-ascii?q?ebHqbQERWZ6Eh4s3LFC4qrOG2PJHkF0dViQwGQJE9BjwASRzU3hZ05GR6sxMz6?= =?us-ascii?q?dkd2+CwR6kT/qhtWxeJiLwP/XXvHpAe0djc0T4CSLAJM4QFf40faL9Se4fh1Hy?= =?us-ascii?q?FE4JKhtheAKnGAZwtWF2EJQVaIB0vkPrmz/9nP7/aXBuS5L/vUbrWBt/ZSV/GW?= =?us-ascii?q?ypKzyoFm5SqDNt2TPnl+CP02wlRDXXZkFMnChTUPTTEYlyLXY86duhi85jV9rt?= =?us-ascii?q?qj//TzRALv+YyPBqNKMdp15hC2hbyOOPKRhCZlKTdUz50MymXOyLQF214SkS5u?= =?us-ascii?q?fSG3EbscrS7NUL7QmqhPAh4YayJzMNVH4rk53glKN87bhM361qJkjv41DFdFUE?= =?us-ascii?q?LultuvZcMUP2G3LEnHC1qTNLSaOT3LxNn6Ya2mRr1WkOVUsBiwtC2VE0D9IzuD?= =?us-ascii?q?kCPpWAq3MeFWiyGbPgJRt52hchp3DmjjVt3mYAWhMNBrlT023aE0hnTSOGEBNz?= =?us-ascii?q?hzaVhAoaCW7SxCmPl/HHZB7nV9J+mehymZ9/XYKooRsfZzGCR4jexb7G4/y7RP?= =?us-ascii?q?6CFEQ/x0lTDIodFyplGqiO6PyiBoUBBWsDZEmJqLvVl+OaXe7pRAX2zE8wgV7W?= =?us-ascii?q?WIEBkKqdplCsf0u6BMxNjPlaTzJy1E893I/MsTHczUJNiAMHo7PhrjACTUAxcd?= =?us-ascii?q?TT63KWHfgFRQn+qJ+XGSqpg6q4PsmIYVSrNBT1w6CO8VBl5+HNMcJJd3XzUkka?= =?us-ascii?q?OUjcMT+XW/rAPRRNhBvpzdWPOdG+nvKC2ejblCfRcIxqn4LYsLPI3hx0NickV6?= =?us-ascii?q?nJjNG0fIRt9NoyJhbggyoEhW7XdxUHY820P/ZQOr+nMTEuS0nhEugAtkfest7C?= =?us-ascii?q?vs40swJlfSviQwn1M+mcv7jj2Kdz7xNLm/XYdTCyXutkgxNoj0QwF6bAGomkxk?= =?us-ascii?q?LjjETapLj7R8bWBrlBPcuZxXFP5ASq1EZQUcxeuQZ/Qpz1tcrD6oxVVA5eTbCp?= =?us-ascii?q?tvjxclcZmpr31cwQ1jd8I1KbbWJKVX0lhanriOsTOw1uAt3A8eIF4A8GWMdyES?= =?us-ascii?q?vEwFLbomJy2z/uxw8wOCnSBDeGsNV/YwpPJl6F89Mfyazy38y75DNlyxN+uHIq?= =?us-ascii?q?ODpWfAjtCHTUkq1kwUl0lI5qN50cY5c0WJUEAvwqORFw4XOsvCMw1VadRd9GTL?= =?us-ascii?q?dyaUrerN2Y51P5m6Fu3wUOCBrrgUgkO5EwYyBIkD9N4BHoOr0EDWNsfoMqIKyQ?= =?us-ascii?q?g35ATqOFWEDO5FeBSVnzcbu8u/1oN43ZFBJjEBBmVwKTi45q3JqQAwj/qDRs05?= =?us-ascii?q?YmkBU4sfLH02W9C6mzRDsHhaCDm3z+QZxxKY7zPluiTQCzr8btpkZPuOYxNjFs?= =?us-ascii?q?228y0l86eqkV7X7oneJ2biONRsoN/A9/4Vp42dBPNSUbl9tFzclpJCSHO2Vm7D?= =?us-ascii?q?C9m1J4L/a4M0d9z7Fm66UkCjizIyV8rxONGtLrKWjgHuRIdUt5KW3D8lNc+gDD?= =?us-ascii?q?0eHA1wp+4b7qJmeQIDe4Y7YQLvtwkmLKywPgOY0tSoQ2awJjpbVOVQzeK/Z7NL?= =?us-ascii?q?1SUsdfO6xGEmTp4k0+m96VQNS40SjhHC2fajYJFTXjXvFXxYfAXPozY5m3V6O+?= =?us-ascii?q?Ys3Og/2hLIsFgbMzCNbuBpbnJLv80kD1OIPXp2EnY4R0ObjYfb4Q6sxbAT8DFb?= =?us-ascii?q?n9ZI0e1Iq3f+vpjHYD2wQqCrr4vaszY4Z9g8v6JxKZDjIteBtJ7GgjzfTZzQsg?= =?us-ascii?q?qZUC66F/tXgcVfICNYQfZSgm4pI8oGtpRd6UApTMcxO6RPCLUwprCtcTdkAjQS?= =?us-ascii?q?wjUfV4OcxzECg+C82rXclheMcJQtLh0EsJNegtQDSS56eCUeq7G/V4/OjW+LVn?= =?us-ascii?q?ALIBsP7QRL/A8PjItwfuH574XWVJBMzj5Xo/RzUivNDJZl7ED0SmCMjlj+Ufmh?= =?us-ascii?q?nfGp0RhUzP3yztkRQAR/BlRFx+ZKiksoL6l6JLIOsY7MqTKHb171vHzzx+u8P1?= =?us-ascii?q?le09fUdl3iAIrCr2r8XTUW+WcISo9X1HHfCZMSnhJjaKYtpVVDPICmekH65zw/?= =?us-ascii?q?34pnBqS2W9q3ylgitnsJWyCqE99dBO58q1LXRCdpY5a1p5X5I59SWHNf+IWBq1?= =?us-ascii?q?dFl0VgKzK2yZhGJM5R+TMDQD9PoTGZvNuzVsJDw9N2AIEQLdd/oXv9H7lEOJeJ?= =?us-ascii?q?qX0sprPv0mPZ+yw7sFqi3jW8AbW4T+VC8GAFBgUpPX6RqlcxAOso82fS9F/Nsl?= =?us-ascii?q?R1/+dUBriPkUtxryxnHpBLHDpJ026qL0hrRnlcr+paMLjVc9BbQ/Qqax6jIQAx?= =?us-ascii?q?Ff4n30yM/EF7h3T5bjdztgRE5S/SQRM4VS4PgrfigTcesN2oOScGS5JUajUsdz?= =?us-ascii?q?/FKwWfmS9NphZeZUZqW5QXAtte/rEb2oxU/tHcRkmwMyEFWwdiNhk50fpZmk5P?= =?us-ascii?q?qkKYeTrSDQCwb/bArgV3fduNrM6uNPn25h1Hip7hsOwi9KUOXHymmQysQdDCtI?= =?us-ascii?q?DwrNuKuVWSdK3gKe2zfWfBTCTQjRC3nbokE57K/y3IPQpHN5V6zGErbYLnCWHV?= =?us-ascii?q?IRRMP7gbKFZDVaBmddVGpfhXZ89+d6YT46BtAg+ISwjyF4OxtPlGNkjcRTDAIC?= =?us-ascii?q?Wb6OC/ppjT7bPFQ+j6esOM32rHQ75wPppi6zn7HKnl3JRD9UXowfdi6Fl6SUTY?= =?us-ascii?q?PC+cttjhIB0E5NW6fEv4opIpBS/WAIt3kHf13U5AedYYTzGo/ZgFxp5U82r/Se?= =?us-ascii?q?V90kfvquJS7KVk5ZMx47931ce+Pb3SJuhCsU97HhiUAR1n9o8zD2diR2BeePMR?= =?us-ascii?q?JezVfaQek8Dhtf77GLAQ6BKI5eNVc93HKF/dmsOnEDGTVQREnBsdqT4dNgacz+?= =?us-ascii?q?WFm7NuRsm4uej0wVkt41+jLh4c0L9i+4GE+raSpODNaxvd178EWrLlRsnrtLQj?= =?us-ascii?q?p1uS5eE4lL4JYmF1fxenH/YDWcEA3Wrg0KQqzT42E8zZAbLg+flDV3YnkTL8gZ?= =?us-ascii?q?x9GE8WGvwMF7qR4Ytehns4m/DeNtAOd6BNgGKPFRq6Hb8e1X6k8TGYLXJjgh7Q?= =?us-ascii?q?zxHwWn+840XurSBmWyfMycnsklZNXLmtGUhSRzapOVN/sD6XPgrnrsD3uaMu7E?= =?us-ascii?q?EyKGPkqsmAlG68OLNTA83/JcCTISguq1IRl509XNuv2ZoUGdClOtce7Gl+bufC?= =?us-ascii?q?62OsiyJBob1Ih4zQ4sGP/fXYAGevgraGq7qXwjBY0X84sUs56t++KvHE/8eKTO?= =?us-ascii?q?iw12YNUyd/vBPMXxGoqrzaq1AUPVKE0ELQlYMXIN5Wxng42Vvg5OQ5R9Iz7gpe?= =?us-ascii?q?HJ7aZ/wevTDzJCf0wVGHbtIxUimTyDpXHlTwEVViGag83mzwvNjTmnfL510oXJ?= =?us-ascii?q?RweFD7hRxqFYU3N1gh6F8NwioMCQINcwyUDKm0BUT5KosJTU0DaROB3Limdac4?= =?us-ascii?q?w1Z+wrau5ODJa+xzGbYNN/hajg6Un1hbAYgasasAT7JgY1Vd7rLYphD+C4j7WP?= =?us-ascii?q?jrjWAwOuCoTc1B/sAZsnQj7hy5RxW+9ZdJ96wbh4yQdq5YfZjMu9hx70N85T4K?= =?us-ascii?q?diFAmxZ/gA2kXuAbvuDs+MDbsICv6uasSqkiW/kX+wIzB2RkgJv6mEojrs3P1+?= =?us-ascii?q?dAVo3Vjpzy8BtXLH6Uoona3AdzKfEVJoKwZrlg6W8IJycAKHIVJ9aWbecz4zN1?= =?us-ascii?q?OjXJ+1NCGt8MZc8fPMfVmwBUi0jpVapW9sXFGl6XFZ1zd8Eu72r40jw194UzUv?= =?us-ascii?q?r44j+sOZ/f901NP+9EjCh0ldLDpfIazuDOByUM+nmWdQR1zT2exJWXDPbw5+qM?= =?us-ascii?q?wsnOV1waBi42T5tdJD2a9AO8R+q1j5voXRmW6s/ynJI+bFifRmG1nKkerqlMFv?= =?us-ascii?q?NPhTvh0ThDDID1gOiVvMC25GtQrF1HH5557QfZF6VHIpV7JRP4m9GzRkdmGivw?= =?us-ascii?q?ZMHUdxQpuOqMxecA+v5+OFX6ZY8aJBIE1r375GFNTgR0VL75olaZXOwWZNt8S/?= =?us-ascii?q?PItHNV5px6K68JIledoIbmrjBSqFA5GAUpcqM/riRGdknSmw1YQ7r0uKQehQsY?= =?us-ascii?q?S9F5v1FDFHmtN2I/6DrHVLhVg7OKCPMP6DWTU7YCU0N2PSNiWxm1wolhe6O1nf?= =?us-ascii?q?BbtWNLhix9r+Iw0zN4WBu8uTbhp6YM2TI85r64tC8OuWFeTumElSfHF0lDxuwQ?= =?us-ascii?q?jagAE3bi9UC8YH4bYYv9/rZnI9jg9Y4m43g4ehUsYSkGXeWmCyHtgKKFGYiPv8?= =?us-ascii?q?xGhB+NosrCd7mzIjYONr4l0xLsW2B90hTCnBZv6GYLRDSg48MjJIW5I8kl3TCk?= =?us-ascii?q?GWncdFYL+aNJq9D8tVsEQeo5c19hx39j0sefTC0XWMPPA3o1jhQjaWhcf5JM9Q?= =?us-ascii?q?QaF7IxjjiVsadI+AAUYDHJEoWq4YTQksLI1mM7Tdh03G7WobeFhpwy2n1/h9x0?= =?us-ascii?q?9jKOuGgVd+HAUc9sBXjz1oFFxePiZ/Wttv0HR5ZnybSgVv8CKcqj+Wqt1ZV0W0?= =?us-ascii?q?+l2K4RH16kP+8C3LvbVTmqSXGAU+SRb2eMhyo5MlL15RSwL103dt1Fr0kmP+vG?= =?us-ascii?q?m55TigzhUbRvRimKol/b1mMjO/sAdw0qoIenZxAKTOkJauieO+cuzvM+CF8XYn?= =?us-ascii?q?7HByR2DfG5sUK3kIh9JXpg/V3wYf7x/QD+LNuSBh4EHJbVrp51/vy7SHyOOXtk?= =?us-ascii?q?zBBpJ0l08OHfF1UtueNGdZaeg8TQjcxh0eEZb/dtLTE9utkLl4Jh6YmV0N+KcR?= =?us-ascii?q?bVzpbzOdHavOOVA/jez0Q2YGFVTKAVYQTv54U1JtQ5QaHcHaNFvRQAAqg3WIAh?= =?us-ascii?q?N2b09KxvMANzcxLeZLeqjcnuvO6LYIVbp2PO5FIqMCjcowEDyuCzTQFjapCqhn?= =?us-ascii?q?byIJM3Rj9ard1iEBhmHIxJG8weqQqrGZiUl7+ni9Wp4UN1p/cKsbbsCvDNzNm2?= =?us-ascii?q?xJt+X55G5UGQJzbRAK5rglh5juSsnPjPz4P9CcT4edMLTOJ7WHLKaqfaHoWjLT?= =?us-ascii?q?KDIsz8dFBC876dyLJ2TA6cZSH4X6qDsS2rKu9k4UElxYBie+rT1jMt5anB2NTu?= =?us-ascii?q?f2FbujujrXmROZpR9FzKH+3eUA5KRvee9WZlHLEXbZHq++sUNtwi2tec6RFp7D?= =?us-ascii?q?teyMuFP7ShrkjU10J8cZLUMlDk2z49WYYQOxS/LUosjnPFqnTHH3tTMNKoKc9z?= =?us-ascii?q?j9aJFhbt/VV+mXkxZm5dHWrlXdOROWkd28KjawyG7QZLD9cYn+6rYk41rayyRv?= =?us-ascii?q?NuOpVCg+mqs68HkdlxISHVWMdaJz3QLKNxPjdJFeXAulwoYh8Cs7goVYY5YpeA?= =?us-ascii?q?IF8HMEie0yP90xPC3lfvetyvyqmJOiAW/WtDz73ezDhMqBO1ufGDgs3sSLrZdo?= =?us-ascii?q?35XObOMCo5UTGXXTEyHly19lekuvoEuv2YLHwBolAVZCKdFgoTpqFprdjNAW7f?= =?us-ascii?q?g+pjfIcFhPqCQSD/VDV4lLYuBiZMrU2MQeAMFQrRb3D6m2dcpQqiJuNM/XLicr?= =?us-ascii?q?2YyapVW/AMDotKbPKZX8PSeepCKDcwijUZJOG8csXTr7kjyV3IV2oZHLfM9FCF?= =?us-ascii?q?Uk6WRuaTxynqXYUIpYQ0vDQn+s7IlC9tD6vIJ6qfpyKp8oOgjiaYvOreVnM3Y0?= =?us-ascii?q?w0m+IPG2+BzwNFKG4aCtEZokbtQrSPZ0xUznImlfpu2wMQeAR0SnBuyXNWnPOh?= =?us-ascii?q?FcBYSlMZl32uT+McbFB2DTIw+kmK7hf0YdMepcDZX3Ve+acUSYoBMPko75HaOK?= =?us-ascii?q?kXwPYv2DJruyk6vDuAAFNTiQKF6bbfE7xmyr1E+2Y446I+YkbaWD7bc27a2qK6?= =?us-ascii?q?GslPwmFounmi2M3K7c53M74PgYByB1MDGmpXIdfG5ngVV2D/3w+7pFC6GzOFOx?= =?us-ascii?q?ocvCZNIjYKILUmh9RnuQrFI46SoXibsLgs/Q7yUQs=3D?= X-IPAS-Result: =?us-ascii?q?A2HVBAClN3pY/wHyM5BeHAEBBAEBCgEBFwEBBAEBCgEBgw4?= =?us-ascii?q?BAQEBAR+BaI5KqFImiB1XAQEBAQEBAQECAQJgKIIzG4IjAjcUIA4DCQIXKQgIA?= =?us-ascii?q?wEtFR8LBRgEiGIEAbMGJgKDaIYxhkWJAREBhgABBJs6gXuHeYdeggSIT4YniBq?= =?us-ascii?q?KUlhxJBIqQoYzcoZsgi4BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 14 Jan 2017 14:39:29 +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 v0EEcumE005658; Sat, 14 Jan 2017 09:39:04 -0500 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 v0EEcrcx210462 for ; Sat, 14 Jan 2017 09:38:53 -0500 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 v0EEcq69005656 for ; Sat, 14 Jan 2017 09:38:53 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1AWAgClN3pYhyIeaIFeHAEBBAEBCgEBgzkBAQEBAYIHjkqkP4Q0iCJXAQIBAQEBAQITAQEBCgsJCh2HaokDBAGgYJImhBCGMYZFjxMFmzqBe4d5h16CBI52iBqKUoFsEiqEKgELAYI+cokaAQEB X-IPAS-Result: A1AWAgClN3pYhyIeaIFeHAEBBAEBCgEBgzkBAQEBAYIHjkqkP4Q0iCJXAQIBAQEBAQITAQEBCgsJCh2HaokDBAGgYJImhBCGMYZFjxMFmzqBe4d5h16CBI52iBqKUoFsEiqEKgELAYI+cokaAQEB X-IronPort-AV: E=Sophos;i="5.33,228,1477972800"; d="scan'208";a="5907231" Received: from emsm-gh1-uea11.corp.nsa.gov (HELO emsm-gh1-uea11.nsa.gov) ([10.208.41.37]) by goalie.tycho.ncsc.mil with ESMTP; 14 Jan 2017 09:38:51 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3A5bp3ixSx5MqtmbcDUNqmZogGLNpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa6yZRON2/xhgRfzUJnB7Loc0qyN4vymAjdLuMfR+Fk5M7V0Hycfjs?= =?us-ascii?q?sXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6?= =?us-ascii?q?KfroEYDOkcu3y/qy+5rOaAlUmTaxe71/IRG5oAnLuMQbj4RuJrs1xxbKv3BFZ/?= =?us-ascii?q?lYyWR0KFyJgh3y/N2w/Jlt8yRRv/Iu6ctNWrjkcqo7ULJVEi0oP3g668P3uxbD?= =?us-ascii?q?SxCP5mYHXWUNjhVIGQnF4wrkUZr3ryD3q/By2CiePc3xULA0RTGv5LplRRP0lC?= =?us-ascii?q?sKMSMy/WfKgcJyka1bugqsqRxhzYDJbo+bN/1wc7jBcd8GX2dNQtxcWzBdDo66?= =?us-ascii?q?coABD/ABPeFdr4Tlv1UOrAexBQ6oBOz10T9Dm3z43ao90+Q6CgHNwQstH9QPsH?= =?us-ascii?q?vIq9X1ML0dUfuvwKnJyjXDaOhW2Szm5YjNfR0gruuAXbVqccre0EQiER7OgFuX?= =?us-ascii?q?qYzgJTyV1+INvnCb7utgT+6gl24mpgdsqTas3schkpTFipwRx1ze6Cl13Ik4Kc?= =?us-ascii?q?e2RUJne9KpHpRduzmYOoZ0WM8uXm9ltSggxrEYpZK2fTIGxZo5yxPZdveJaZKH?= =?us-ascii?q?4gj5W+aUOTp4hGxqeLa4hxuq9EihxfDwWtOs0FZNqipEksXMuW4R2BzT7MiHS+?= =?us-ascii?q?J9/lq/1jqV0ADT8O5ELVg1lardNZEh3qY9mocNvUnHBCP6hVn6gaCMekgq5uSk?= =?us-ascii?q?8erqb7r+qp+ZLYB0iwX+Mqo0msy4BOQ1KhUAUXSG9+igzLDs/1D3Tq5LjvAukK?= =?us-ascii?q?bUv4jXJcEUq6+2GQNV1Zwj6xmnAjeg0dQXgX4HLFZfdxKclYTpOlbOIPfjDfek?= =?us-ascii?q?mFmjizBrx+3APrL9HJrNNWLPkLLucLdy8UJczxAzzd9H65JOFr4BOO7zWlP2tN?= =?us-ascii?q?HAFR82LQi0w+fhCNVg2YITQn6PA6+FP6PStl+E/OQvI/KWa4MPtzb9LOYltLbS?= =?us-ascii?q?iioilFsce7S59YcGY3C/WPJ9KgOWZmS/rM0GFDIsvwE5SOXxwHyFViVILyK0Xq?= =?us-ascii?q?k74jggToOhCpzYboXxkPqGxijtTc4eXXxPFl3ZSSSgTI6DQfpZMC8=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ELAwClN3pYhyIeaIFeHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgw4BAQEBAYIHjkqkP4Q0iCJXAQEBAQEBAQECAQIQAQEBCgsJCh0?= =?us-ascii?q?wgjMZhG6JAwQBoGCSJoQQhjGGRY8TBZs6gXuHeYdeggSOdogailKBbRIqhCoBC?= =?us-ascii?q?wGCPnKJGgEBAQ?= X-IPAS-Result: =?us-ascii?q?A0ELAwClN3pYhyIeaIFeHAEBBAEBCgEBFwEBBAEBCgEBgw4?= =?us-ascii?q?BAQEBAYIHjkqkP4Q0iCJXAQEBAQEBAQECAQIQAQEBCgsJCh0wgjMZhG6JAwQBo?= =?us-ascii?q?GCSJoQQhjGGRY8TBZs6gXuHeYdeggSOdogailKBbRIqhCoBCwGCPnKJGgEBAQ?= X-IronPort-AV: E=Sophos;i="5.33,228,1477958400"; d="scan'208";a="2296646" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mx1.polytechnique.org ([129.104.30.34]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Jan 2017 14:38:51 +0000 Received: from localhost.localdomain (32.206.133.77.rev.sfr.net [77.133.206.32]) (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 714E9564CA3 for ; Sat, 14 Jan 2017 15:38:49 +0100 (CET) From: Nicolas Iooss To: selinux@tycho.nsa.gov Subject: [PATCH 1/1] Re-link programs after libsepol.a is updated Date: Sat, 14 Jan 2017 15:38:25 +0100 Message-Id: <20170114143825.4592-1-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.11.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Sat Jan 14 15:38:49 2017 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org 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: MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP After libsepol is modified (for example while developing new features or fixing bugs), running "make install" in the top-level directory does not update the programs which use libsepol.a. Add this static library to the target dependencies in order to force their updates. This makes "make" use libsepol.a in the linking command without using LDLIBS. While at it, copy what commit 14d706434846 ("libselinux: Allow overriding libsepol.a location during build") introduced in libselinux Makefile by using a new LIBSEPOLA variable in all Makefiles. Signed-off-by: Nicolas Iooss --- checkpolicy/Makefile | 7 +++---- checkpolicy/test/Makefile | 7 +++---- libselinux/src/Makefile | 4 ++-- mcstrans/utils/Makefile | 7 +++++-- python/audit2allow/Makefile | 4 ++-- semodule-utils/semodule_deps/Makefile | 4 ++-- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/checkpolicy/Makefile b/checkpolicy/Makefile index 875cf008cae0..98fa38017583 100644 --- a/checkpolicy/Makefile +++ b/checkpolicy/Makefile @@ -6,6 +6,7 @@ BINDIR ?= $(PREFIX)/bin MANDIR ?= $(PREFIX)/share/man LIBDIR ?= $(PREFIX)/lib INCLUDEDIR ?= $(PREFIX)/include +LIBSEPOLA ?= $(LIBDIR)/libsepol.a TARGETS = checkpolicy checkmodule LEX = flex @@ -20,16 +21,14 @@ CHECKOBJS = y.tab.o lex.yy.o queue.o module_compiler.o parse_util.o \ CHECKPOLOBJS = $(CHECKOBJS) checkpolicy.o CHECKMODOBJS = $(CHECKOBJS) checkmodule.o -LDLIBS=$(LIBDIR)/libsepol.a - GENERATED=lex.yy.c y.tab.c y.tab.h all: $(TARGETS) $(MAKE) -C test -checkpolicy: $(CHECKPOLOBJS) +checkpolicy: $(CHECKPOLOBJS) $(LIBSEPOLA) -checkmodule: $(CHECKMODOBJS) +checkmodule: $(CHECKMODOBJS) $(LIBSEPOLA) %.o: %.c $(CC) $(CFLAGS) -o $@ -c $< diff --git a/checkpolicy/test/Makefile b/checkpolicy/test/Makefile index e7bd717a7c9a..54d07f81a9c7 100644 --- a/checkpolicy/test/Makefile +++ b/checkpolicy/test/Makefile @@ -5,17 +5,16 @@ PREFIX ?= $(DESTDIR)/usr BINDIR=$(PREFIX)/bin LIBDIR ?= $(PREFIX)/lib INCLUDEDIR ?= $(PREFIX)/include +LIBSEPOLA ?= $(LIBDIR)/libsepol.a CFLAGS ?= -g -Wall -W -Werror -O2 -pipe override CFLAGS += -I$(INCLUDEDIR) -LDLIBS=$(LIBDIR)/libsepol.a -L$(LIBDIR) - all: dispol dismod -dispol: dispol.o +dispol: dispol.o $(LIBSEPOLA) -dismod: dismod.o +dismod: dismod.o $(LIBSEPOLA) clean: -rm -f dispol dismod *.o diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile index d17792c13350..5640a57d2768 100644 --- a/libselinux/src/Makefile +++ b/libselinux/src/Makefile @@ -155,8 +155,8 @@ selinuxswig_python_exception.i: ../include/selinux/selinux.h $(AUDIT2WHYLOBJ): audit2why.c $(CC) $(filter-out -Werror, $(CFLAGS)) $(PYINC) -fPIC -DSHARED -c -o $@ $< -$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) - $(CC) $(CFLAGS) -shared -o $@ $^ -L. $(LDFLAGS) -lselinux $(LIBSEPOLA) $(PYLIBS) -L$(LIBDIR) +$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) $(LIBSEPOLA) + $(CC) $(CFLAGS) -shared -o $@ $^ -L. $(LDFLAGS) -lselinux $(PYLIBS) -L$(LIBDIR) %.o: %.c policy.h $(CC) $(CFLAGS) $(TLSFLAGS) -c -o $@ $< diff --git a/mcstrans/utils/Makefile b/mcstrans/utils/Makefile index a0f93f548557..043d001d639c 100644 --- a/mcstrans/utils/Makefile +++ b/mcstrans/utils/Makefile @@ -2,14 +2,17 @@ PREFIX ?= $(DESTDIR)/usr LIBDIR ?= $(PREFIX)/lib BINDIR ?= $(PREFIX)/sbin +LIBSEPOLA ?= $(LIBDIR)/libsepol.a CFLAGS ?= -Wall override CFLAGS += -I../src -I$(PREFIX)/include -D_GNU_SOURCE -LDLIBS += -L$(LIBDIR) ../src/mcstrans.o ../src/mls_level.o -lselinux -lpcre $(LIBDIR)/libsepol.a +LDLIBS += -L$(LIBDIR) -lselinux -lpcre TARGETS=$(patsubst %.c,%,$(wildcard *.c)) -all: $(TARGETS) +all: $(TARGETS) + +$(TARGETS): ../src/mcstrans.o ../src/mls_level.o $(LIBSEPOLA) install: all -mkdir -p $(BINDIR) diff --git a/python/audit2allow/Makefile b/python/audit2allow/Makefile index 16b5cc8dcb59..4f03e956125a 100644 --- a/python/audit2allow/Makefile +++ b/python/audit2allow/Makefile @@ -7,14 +7,14 @@ LIBDIR ?= $(PREFIX)/lib MANDIR ?= $(PREFIX)/share/man LOCALEDIR ?= /usr/share/locale INCLUDEDIR ?= $(PREFIX)/include +LIBSEPOLA ?= $(LIBDIR)/libsepol.a CFLAGS ?= -Werror -Wall -W override CFLAGS += -I$(INCLUDEDIR) -LDLIBS = $(LIBDIR)/libsepol.a all: audit2why sepolgen-ifgen-attr-helper -sepolgen-ifgen-attr-helper: sepolgen-ifgen-attr-helper.o +sepolgen-ifgen-attr-helper: sepolgen-ifgen-attr-helper.o $(LIBSEPOLA) audit2why: ln -sf audit2allow audit2why diff --git a/semodule-utils/semodule_deps/Makefile b/semodule-utils/semodule_deps/Makefile index 28d667e9f4b8..7d8490f2f1a8 100644 --- a/semodule-utils/semodule_deps/Makefile +++ b/semodule-utils/semodule_deps/Makefile @@ -4,14 +4,14 @@ INCLUDEDIR ?= $(PREFIX)/include BINDIR ?= $(PREFIX)/bin LIBDIR ?= $(PREFIX)/lib MANDIR ?= $(PREFIX)/share/man +LIBSEPOLA ?= $(LIBDIR)/libsepol.a CFLAGS ?= -Werror -Wall -W override CFLAGS += -I$(INCLUDEDIR) -LDLIBS = $(LIBDIR)/libsepol.a all: semodule_deps -semodule_deps: semodule_deps.o +semodule_deps: semodule_deps.o $(LIBSEPOLA) install: all -mkdir -p $(BINDIR)