Please ignore. Zhe
On 8/5/19 3:51 PM, zhe...@windriver.com wrote: > From: He Zhe <zhe...@windriver.com> > > Since kernel v5.3 "-Wimplicit-fallthrough=3" gcc flag is enabled by default by > a035d552a93b ("Makefile: Globally enable fall-through warning") and would > cause > the following build failure. > > x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:248: > 6: error: this statement may fall through [-Werror=implicit-fallthrough=] > > Backport a patch from upstream and adjust context respectively for v17 and > v18. > c96bbbd010f7abb88c2ca2ed9dfc5ecd37e9027d > > Signed-off-by: He Zhe <zhe...@windriver.com> > --- > ...o-fix-build-on-Linux-5.3-for-fall-through.patch | 81 > ++++++++++++++++++++++ > ...o-fix-build-on-Linux-5.3-for-fall-through.patch | 80 +++++++++++++++++++++ > recipes-extended/dpdk/dpdk_17.11.6.bb | 1 + > recipes-extended/dpdk/dpdk_18.11.2.bb | 4 ++ > 4 files changed, 166 insertions(+) > create mode 100644 > recipes-extended/dpdk/dpdk/dpdk-17.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > create mode 100644 > recipes-extended/dpdk/dpdk/dpdk-18.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > > diff --git > a/recipes-extended/dpdk/dpdk/dpdk-17.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > > b/recipes-extended/dpdk/dpdk/dpdk-17.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > new file mode 100644 > index 0000000..90901eb > --- /dev/null > +++ > b/recipes-extended/dpdk/dpdk/dpdk-17.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > @@ -0,0 +1,81 @@ > +From c0307019689d5f8b4d5ca7d92a5585c94088afeb Mon Sep 17 00:00:00 2001 > +From: Ferruh Yigit <ferruh.yi...@intel.com> > +Date: Mon, 29 Jul 2019 13:32:16 +0100 > +Subject: [PATCH] igb_uio: fix build on Linux 5.3 for fall through > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +build error: > +kernel/linux/igb_uio/igb_uio.c: > + In function ‘igbuio_pci_enable_interrupts’: > + kernel/linux/igb_uio/igb_uio.c:230:6: > + error: this statement may fall through > + [-Werror=implicit-fallthrough=] > + 230 | if (pci_alloc_irq_vectors(udev->pdev, 1, 1, .... > +kernel/linux/igb_uio/igb_uio.c:240:2: note: here > + 240 | case RTE_INTR_MODE_MSI: > + | ^~~~ > + > +The build error is caused by Linux kernel commit in 5.3 that enables the > +"-Wimplicit-fallthrough=3" gcc flag. > +Commit a035d552a93b ("Makefile: Globally enable fall-through warning") > + > +To fix the error, either a gcc attribute can be provided [1] or a code > +comment with some defined syntax need to be provided [2], since there is > +already comments, updated them slightly to match the required syntax to > +fix the build error. > + > +[1] > +"__attribute__ ((fallthrough));" > + > +[2] > +[ \t.!]*([Ee]lse,? |[Ii]ntentional(ly)? )? > +fall(s | |-)?thr(ough|u)[ \t.!]*(-[^\n\r]*)? > + > +Cc: sta...@dpdk.org > + > +Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> > + > +commit c96bbbd010f7abb88c2ca2ed9dfc5ecd37e9027d upstream > +Adjust code context > + > +Signed-off-by: He Zhe <zhe...@windriver.com> > +--- > + lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 6 +++--- > + 1 file changed, 3 insertions(+), 3 deletions(-) > + > +diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c > b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c > +index 45d7027..3073bca 100644 > +--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c > ++++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c > +@@ -254,7 +254,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev > *udev) > + } > + #endif > + > +- /* fall back to MSI */ > ++ /* falls through - to MSI */ > + case RTE_INTR_MODE_MSI: > + #ifndef HAVE_ALLOC_IRQ_VECTORS > + if (pci_enable_msi(udev->pdev) == 0) { > +@@ -273,7 +273,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev > *udev) > + break; > + } > + #endif > +- /* fall back to INTX */ > ++ /* falls through - to INTX */ > + case RTE_INTR_MODE_LEGACY: > + if (pci_intx_mask_supported(udev->pdev)) { > + dev_dbg(&udev->pdev->dev, "using INTX"); > +@@ -283,7 +283,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev > *udev) > + break; > + } > + dev_notice(&udev->pdev->dev, "PCI INTX mask not supported\n"); > +- /* fall back to no IRQ */ > ++ /* falls through - to no IRQ */ > + case RTE_INTR_MODE_NONE: > + udev->mode = RTE_INTR_MODE_NONE; > + udev->info.irq = UIO_IRQ_NONE; > +-- > +2.7.4 > + > diff --git > a/recipes-extended/dpdk/dpdk/dpdk-18.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > > b/recipes-extended/dpdk/dpdk/dpdk-18.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > new file mode 100644 > index 0000000..417d93b > --- /dev/null > +++ > b/recipes-extended/dpdk/dpdk/dpdk-18.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch > @@ -0,0 +1,80 @@ > +From af89b90b4e5e9d1533b6debd86ae38bbd82df8c8 Mon Sep 17 00:00:00 2001 > +From: Ferruh Yigit <ferruh.yi...@intel.com> > +Date: Mon, 29 Jul 2019 13:32:16 +0100 > +Subject: [PATCH] igb_uio: fix build on Linux 5.3 for fall through > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +build error: > +kernel/linux/igb_uio/igb_uio.c: > + In function ‘igbuio_pci_enable_interrupts’: > + kernel/linux/igb_uio/igb_uio.c:230:6: > + error: this statement may fall through > + [-Werror=implicit-fallthrough=] > + 230 | if (pci_alloc_irq_vectors(udev->pdev, 1, 1, .... > +kernel/linux/igb_uio/igb_uio.c:240:2: note: here > + 240 | case RTE_INTR_MODE_MSI: > + | ^~~~ > + > +The build error is caused by Linux kernel commit in 5.3 that enables the > +"-Wimplicit-fallthrough=3" gcc flag. > +Commit a035d552a93b ("Makefile: Globally enable fall-through warning") > + > +To fix the error, either a gcc attribute can be provided [1] or a code > +comment with some defined syntax need to be provided [2], since there is > +already comments, updated them slightly to match the required syntax to > +fix the build error. > + > +[1] > +"__attribute__ ((fallthrough));" > + > +[2] > +[ \t.!]*([Ee]lse,? |[Ii]ntentional(ly)? )? > +fall(s | |-)?thr(ough|u)[ \t.!]*(-[^\n\r]*)? > + > +Cc: sta...@dpdk.org > + > +Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> > + > +commit c96bbbd010f7abb88c2ca2ed9dfc5ecd37e9027d upstream > + > +Signed-off-by: He Zhe <zhe...@windriver.com> > +--- > + kernel/linux/igb_uio/igb_uio.c | 6 +++--- > + 1 file changed, 3 insertions(+), 3 deletions(-) > + > +diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c > +index 3cf394b..039f5a5 100644 > +--- a/kernel/linux/igb_uio/igb_uio.c > ++++ b/kernel/linux/igb_uio/igb_uio.c > +@@ -236,7 +236,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev > *udev) > + } > + #endif > + > +- /* fall back to MSI */ > ++ /* falls through - to MSI */ > + case RTE_INTR_MODE_MSI: > + #ifndef HAVE_ALLOC_IRQ_VECTORS > + if (pci_enable_msi(udev->pdev) == 0) { > +@@ -255,7 +255,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev > *udev) > + break; > + } > + #endif > +- /* fall back to INTX */ > ++ /* falls through - to INTX */ > + case RTE_INTR_MODE_LEGACY: > + if (pci_intx_mask_supported(udev->pdev)) { > + dev_dbg(&udev->pdev->dev, "using INTX"); > +@@ -265,7 +265,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev > *udev) > + break; > + } > + dev_notice(&udev->pdev->dev, "PCI INTX mask not supported\n"); > +- /* fall back to no IRQ */ > ++ /* falls through - to no IRQ */ > + case RTE_INTR_MODE_NONE: > + udev->mode = RTE_INTR_MODE_NONE; > + udev->info.irq = UIO_IRQ_NONE; > +-- > +2.7.4 > + > diff --git a/recipes-extended/dpdk/dpdk_17.11.6.bb > b/recipes-extended/dpdk/dpdk_17.11.6.bb > index 01bacd6..40edd8b 100644 > --- a/recipes-extended/dpdk/dpdk_17.11.6.bb > +++ b/recipes-extended/dpdk/dpdk_17.11.6.bb > @@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = > "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe\ > SRC_URI += "\ > file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \ > file://dpdk-17.11-mk-disable-warning-for-packed-member-pointer.patch > \ > + > file://dpdk-17.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch \ > " > > do_install_append () { > diff --git a/recipes-extended/dpdk/dpdk_18.11.2.bb > b/recipes-extended/dpdk/dpdk_18.11.2.bb > index 7a3dcdb..5291bdc 100644 > --- a/recipes-extended/dpdk/dpdk_18.11.2.bb > +++ b/recipes-extended/dpdk/dpdk_18.11.2.bb > @@ -9,6 +9,10 @@ LIC_FILES_CHKSUM = > "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4 > > file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \ > > file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444" > > +SRC_URI += "\ > + > file://dpdk-18.11-igb_uio-fix-build-on-Linux-5.3-for-fall-through.patch \ > +" > + > do_install_append () { > # Remove the unneeded dir > rm -rf ${D}/${INSTALL_PATH}/${RTE_TARGET}/app -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto