Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/44008/?format=api
http://patches.dpdk.org/api/patches/44008/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20180830100000.23984-1-christian.ehrhardt@canonical.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20180830100000.23984-1-christian.ehrhardt@canonical.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20180830100000.23984-1-christian.ehrhardt@canonical.com", "date": "2018-08-30T10:00:00", "name": "ppc64: fix compilation of when AltiVec is enabled", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "fdf819de6f83ba08f96b14d254fbd17a3214072b", "submitter": { "id": 382, "url": "http://patches.dpdk.org/api/people/382/?format=api", "name": "Christian Ehrhardt", "email": "christian.ehrhardt@canonical.com" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20180830100000.23984-1-christian.ehrhardt@canonical.com/mbox/", "series": [ { "id": 1108, "url": "http://patches.dpdk.org/api/series/1108/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1108", "date": "2018-08-30T10:00:00", "name": "ppc64: fix compilation of when AltiVec is enabled", "version": 1, "mbox": "http://patches.dpdk.org/series/1108/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/44008/comments/", "check": "warning", "checks": "http://patches.dpdk.org/api/patches/44008/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C12184CE4;\n\tThu, 30 Aug 2018 12:00:03 +0200 (CEST)", "from youngberry.canonical.com (youngberry.canonical.com\n\t[91.189.89.112]) by dpdk.org (Postfix) with ESMTP id ED1D64C99\n\tfor <dev@dpdk.org>; Thu, 30 Aug 2018 12:00:02 +0200 (CEST)", "from 1.general.paelzer.uk.vpn ([10.172.196.172] helo=lap.fritz.box)\n\tby youngberry.canonical.com with esmtpsa\n\t(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.76)\n\t(envelope-from <christian.ehrhardt@canonical.com>)\n\tid 1fvJkA-0007we-MH; Thu, 30 Aug 2018 10:00:02 +0000" ], "From": "Christian Ehrhardt <christian.ehrhardt@canonical.com>", "To": "adrien.mazarguil@6wind.com, dev <dev@dpdk.org>,\n\tGowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>,\n\tChao Zhu <chaozhu@linux.vnet.ibm.com>", "Cc": "Luca Boccassi <bluca@debian.org>, Thomas Monjalon <thomasm@mellanox.com>,\n\tChristian Ehrhardt <christian.ehrhardt@canonical.com>", "Date": "Thu, 30 Aug 2018 12:00:00 +0200", "Message-Id": "<20180830100000.23984-1-christian.ehrhardt@canonical.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<CAATJJ0+p6vpYOjhch0M6e5eg0Mjh6Hun61KNGf+ScQ4veNCTdg@mail.gmail.com>", "References": "<CAATJJ0+p6vpYOjhch0M6e5eg0Mjh6Hun61KNGf+ScQ4veNCTdg@mail.gmail.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH] ppc64: fix compilation of when AltiVec is enabled", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "The definition of almost any newer standard like --stc=c11 will drop\n__APPLCE_ALTIVEC__ which otherwise would be defined.\nIf that is the case then altivec.h will redefine bool to a type\nconflicting with those defined by stdbool.h.\n\nThis breaks compilation of 18.08 on ppc64 like:\n mlx5_nl_flow.c:407:17: error: incompatible types when assigning to type\n ‘__vector __bool int’ {aka ‘__vector(4) __bool int’} from type ‘int’\n in_port_id_set = false;\n\nOther alternatives were pursued on [1] but they always ended up being more\ncomplex than what would be appropriate for the issue we face.\n\n[1]: http://mails.dpdk.org/archives/dev/2018-August/109926.html\n\nChange-Id: I1ed56da954e4951b9d120ca2ac0c0c218b4a0140\nSigned-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>\n---\n .../common/include/arch/ppc_64/rte_memcpy.h | 11 +++++++++++\n 1 file changed, 11 insertions(+)", "diff": "diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h b/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h\nindex 75f74897b..0b3b89b56 100644\n--- a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h\n+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h\n@@ -37,6 +37,17 @@\n #include <string.h>\n /*To include altivec.h, GCC version must >= 4.8 */\n #include <altivec.h>\n+/*\n+ * Compilation workaround for PPC64 targets when AltiVec is fully\n+ * enabled e.g. with std=c11. Otherwise there would be a type conflict\n+ * of \"bool\" between stdbool and altivec.\n+ */\n+#if defined(__PPC64__) && !defined(__APPLE_ALTIVEC__)\n+ #undef bool\n+ /* redefine as in stdbool.h */\n+ #define bool _Bool\n+#endif\n+\n \n #ifdef __cplusplus\n extern \"C\" {\n", "prefixes": [] }{ "id": 44008, "url": "