Skip to contentSkip to conversation

drivers/net/cnxk/cnxk_ethdev_mtr meson build failed with cflag parm optimization=1 on Ubuntu20.04 with GCC10.3

Bug 939 [email protected] 1 participant 4 messages Feb 28, 2022 – Mar 17, 2022

lore
Share & tools
lore

[email protected]

author Acked-by Jerin Jacob
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=939

            Bug ID: 939
           Summary: [dpdk 22.03-rc2] drivers/net/cnxk/cnxk_ethdev_mtr
                    meson build failed with cflag parm optimization=1  on
                    Ubuntu20.04 with GCC10.3
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: meson
          Assignee: [email protected]
          Reporter: [email protected]

Target Milestone: ---

[DPDK version]
dpdk 22.03-rc2

[Bad commit]:
commit b526599020ef06811dd08c4f15c0cdf049d7f9f2 (HEAD)

Author: Rakesh Kudurumalla <[email protected]>
Date:   Wed Feb 23 15:25:40 2022 +0530

net/cnxk: fix build with GCC 12

Resolve following compilation error with gcc 12 version.
error: storing the address of local variable message in *error.message

Fixes 26b034f78ca7 ("net/cnxk: support to validate meter policy")

[OS version]:
gcc version 10.3.0(Ubuntu 10.3.0-1ubuntu1~20.04)
UB20.04/5.8.0-48-generic

[Test Setup]:
CC=gcc meson --optimization=1 --werror -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc
ninja -C x86_64-native-linuxapp-gcc -j 10

[Ubuntu20.04 log as below]
Option buildtype is: custom [default: release]
Found ninja-1.9.0.git.kitware.dyndep-1.jobserver-1 at /usr/local/bin/ninja
ninja: Entering directory `x86_64-native-linuxapp-gcc'
[1258/3455] Compiling C object drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_mtr.c.o
FAILED: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_mtr.c.o gcc -Idrivers/libtmp_rte_net_cnxk.a.p -Idrivers -I../drivers -Idrivers/net/cnxk -I../drivers/net/cnxk -Ilib/ethdev -I../lib/ethdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -Ilib/eventdev -I../lib/eventdev -Ilib/hash -I../lib/hash -Ilib/timer -I../lib/timer -Ilib/security -I../lib/security -Idrivers/common/cnxk -I../drivers/common/cnxk -Idrivers/mempool/cnxk -I../drivers/mempool/cnxk -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O1 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -flax-vector-conversions -Wno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.cnxk -MD -MQ drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_mtr.c.o -MF drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_mtr.c.o.d -o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_ethdev_mtr.c.o -c ../drivers/net/cnxk/cnxk_ethdev_mtr.c
In file included from ../drivers/net/cnxk/cnxk_ethdev.h:16,

                 from ../drivers/net/cnxk/cnxk_ethdev_mtr.c:5:

../drivers/net/cnxk/cnxk_ethdev_mtr.c: In function ‘cnxk_nix_mtr_policy_validate’:
../lib/ethdev/rte_mtr_driver.h:188:10: error: ‘str’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

  188 |   *error = (struct rte_mtr_error){
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
  189 |    .type = type,
      |    ~~~~~~~~~~~~~
  190 |    .cause = cause,
      |    ~~~~~~~~~~~~~~~
  191 |    .message = message,
      |    ~~~~~~~~~~~~~~~~~~~
  192 |   };
      |   ~

../drivers/net/cnxk/cnxk_ethdev_mtr.c:291:14: note: ‘str’ was declared here
291 | const char *str;
| ^~~
In file included from ../drivers/net/cnxk/cnxk_ethdev.h:16,

                 from ../drivers/net/cnxk/cnxk_ethdev_mtr.c:5:
../lib/ethdev/rte_mtr_driver.h:188:10: error: ‘str’ may be used uninitialized
in this function [-Werror=maybe-uninitialized]
  188 |   *error = (struct rte_mtr_error){
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
  189 |    .type = type,
      |    ~~~~~~~~~~~~~
  190 |    .cause = cause,
      |    ~~~~~~~~~~~~~~~
  191 |    .message = message,
      |    ~~~~~~~~~~~~~~~~~~~
  192 |   };
      |   ~

../drivers/net/cnxk/cnxk_ethdev_mtr.c:291:14: note: ‘str’ was declared here
291 | const char *str;
| ^~~
cc1: all warnings being treated as errors
[1267/3455] Compiling C object drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cnxk_stats.c.o
ninja: build stopped: subcommand failed.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#1 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=939

Thomas Monjalon ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|CONFIRMED                   |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Thomas Monjalon ([email protected]) --- Resolved in http://git.dpdk.org/dpdk/commit/?id=68f8a52a6b

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#2 lore raw
In reply to [email protected]

https://bugs.dpdk.org/show_bug.cgi?id=939

jiang,yu ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

         Resolution|FIXED                       |---
     Ever confirmed|1                           |0
             Status|RESOLVED                    |UNCONFIRMED

--- Comment #4 from jiang,yu ([email protected]) ---
This commit id will introduce new err info, please help to check, thanks

OS: Ubuntu20.04/5.8.0-48-generic
Compiler: gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0

Error info:
[2302/3456] Compiling C object drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o
FAILED: drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o gcc -Idrivers/libtmp_rte_raw_ifpga.a.p -Idrivers -I../drivers -Idrivers/raw/ifpga -I../drivers/raw/ifpga -Idrivers/raw/ifpga/base -I../drivers/raw/ifpga/base -Idrivers/net/ipn3ke -I../drivers/net/ipn3ke -Idrivers/net/i40e -I../drivers/net/i40e -Ilib/rawdev -I../lib/rawdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Ilib/pci -I../lib/pci -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Idrivers/bus/vdev -I../drivers/bus/vdev -Idrivers/bus/ifpga -I../drivers/bus/ifpga -Idrivers/net/i40e/base -I../drivers/net/i40e/base -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/sched -I../lib/sched -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O1 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=pmd.raw.ifpga -MD -MQ drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o -MF drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o.d -o drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o -c ../drivers/raw/ifpga/ifpga_rawdev.c ../drivers/raw/ifpga/ifpga_rawdev.c: In function ‘ifpga_rawdev_fill_info’:
../drivers/raw/ifpga/ifpga_rawdev.c:314:8: error: ‘vendor_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
314 | if (vendor_id == 0x8086 &&
| ^
../drivers/raw/ifpga/ifpga_rawdev.c:316:23: error: ‘dev_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

  315 |      (dev_id == 0x0CF8 ||
      |      ~~~~~~~~~~~~~~~~~~~~
  316 |      dev_id == 0x0D58 ||
      |      ~~~~~~~~~~~~~~~~~^~
  317 |      dev_id == 0x1580)) {
      |      ~~~~~~~~~~~~~~~~~

cc1: all warnings being treated as errors [2311/3456] Compiling C object drivers/libtmp_rte_raw_ntb.a.p/raw_ntb_ntb.c.o
ninja: build stopped: subcommand failed.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#3 lore raw
In reply to [email protected]

https://bugs.dpdk.org/show_bug.cgi?id=939

gaodaxue ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|IN_PROGRESS                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from gaodaxue ([email protected]) --- Verified based on ba7b205a98 PASSED.

OS: Ubuntu 20.04.3 LTS/Linux 5.8.0-48-generic

GCC: gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1~20.04)

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.