Message ID | 20190905145315.19395-1-ferruh.yigit@intel.com (mailing list archive) |
---|---|
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]) by dpdk.org (Postfix) with ESMTP id 0DEA31EF55; Thu, 5 Sep 2019 16:53:24 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 9829D1EF3E for <dev@dpdk.org>; Thu, 5 Sep 2019 16:53:21 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Sep 2019 07:53:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,470,1559545200"; d="scan'208";a="182846335" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.223.78]) by fmsmga008.fm.intel.com with ESMTP; 05 Sep 2019 07:53:19 -0700 From: Ferruh Yigit <ferruh.yigit@intel.com> To: dev@dpdk.org Date: Thu, 5 Sep 2019 15:53:05 +0100 Message-Id: <20190905145315.19395-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 00/10] fix global variable multiple definitions 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>, <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>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
fix global variable multiple definitions
|
|
Message
Ferruh Yigit
Sept. 5, 2019, 2:53 p.m. UTC
Issue has been detected by '-fno-common' gcc flag. By default compiler still can figure out that multiple definition are the same variable and use same storage for all definitions but this is implementation specific behaviour and better to fix it. Many of the cases below it is nice to have to use 'extern' keyword but there are some defects in 'virtio, ''dpaa2_sec' & 'test' that multiple components share same global variable unintentionally. Ferruh Yigit (10): bus/fslmc: fix global variable multiple definitions net/igb: fix global variable multiple definitions crypto/null: fix global variable multiple definitions crypto/octeontx: fix global variable multiple definitions crypto/dpaa2_sec: fix global variable multiple definitions crypto/virtio: fix global variable multiple definitions compress/octeontx: fix global variable multiple definitions app/testpmd: fix global variable multiple definitions app/test-pipeline: fix global variable multiple definitions test: fix global variable multiple definitions app/test-pipeline/config.c | 2 +- app/test-pmd/cmdline_flow.c | 77 +++++++++++++++---- app/test-pmd/testpmd.c | 35 --------- app/test-pmd/testpmd.h | 18 +++-- app/test/test_bitratestats.c | 6 +- app/test/test_distributor_perf.c | 2 +- app/test/test_efd.c | 2 +- app/test/test_efd_perf.c | 6 +- app/test/test_hash_perf.c | 12 +-- app/test/test_hash_readwrite_lf.c | 8 +- app/test/test_latencystats.c | 6 +- app/test/test_member_perf.c | 16 ++-- app/test/test_rcu_qsbr.c | 10 +-- drivers/bus/fslmc/qbman/qbman_portal.c | 2 + drivers/bus/fslmc/qbman/qbman_portal.h | 2 +- drivers/common/cpt/cpt_pmd_logs.h | 2 +- drivers/compress/octeontx/otx_zip.h | 2 +- drivers/compress/octeontx/otx_zip_pmd.c | 2 + drivers/crypto/caam_jr/caam_jr.c | 5 +- drivers/crypto/caam_jr/caam_jr_hw.c | 3 + drivers/crypto/caam_jr/caam_jr_uio.c | 3 + drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 5 +- drivers/crypto/dpaa2_sec/hw/rta.h | 1 - .../dpaa2_sec/hw/rta/fifo_load_store_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/header_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/jump_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/key_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/load_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/math_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/move_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/nfifo_cmd.h | 2 - .../crypto/dpaa2_sec/hw/rta/operation_cmd.h | 2 - .../crypto/dpaa2_sec/hw/rta/protocol_cmd.h | 2 - .../dpaa2_sec/hw/rta/seq_in_out_ptr_cmd.h | 2 - drivers/crypto/dpaa2_sec/hw/rta/store_cmd.h | 2 - drivers/crypto/dpaa_sec/dpaa_sec.c | 5 +- drivers/crypto/null/null_crypto_pmd.c | 1 + drivers/crypto/null/null_crypto_pmd_private.h | 2 +- drivers/crypto/octeontx/otx_cryptodev.c | 2 + drivers/crypto/octeontx/otx_cryptodev.h | 2 +- drivers/crypto/virtio/virtio_pci.c | 4 +- drivers/crypto/virtio/virtio_pci.h | 6 +- drivers/net/e1000/e1000_ethdev.h | 12 +-- drivers/net/e1000/igb_flow.c | 7 ++ 44 files changed, 151 insertions(+), 141 deletions(-)
Comments
On Thu, Sep 5, 2019 at 4:53 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote: > > Issue has been detected by '-fno-common' gcc flag. By default compiler > still can figure out that multiple definition are the same variable and > use same storage for all definitions but this is implementation specific > behaviour and better to fix it. > > Many of the cases below it is nice to have to use 'extern' keyword but > there are some defects in 'virtio, ''dpaa2_sec' & 'test' that multiple > components share same global variable unintentionally. > > Ferruh Yigit (10): > bus/fslmc: fix global variable multiple definitions > net/igb: fix global variable multiple definitions > crypto/null: fix global variable multiple definitions > crypto/octeontx: fix global variable multiple definitions Dropped this patch, in favor of: 98c7b9c97e32 ("crypto/octeontx: fix global log variable definition") > crypto/dpaa2_sec: fix global variable multiple definitions Hit a build issue (sent a separate mail), dropped this patch. > crypto/virtio: fix global variable multiple definitions > compress/octeontx: fix global variable multiple definitions > app/testpmd: fix global variable multiple definitions > app/test-pipeline: fix global variable multiple definitions And as discussed, dropped this patch on test-pipeline as well. > test: fix global variable multiple definitions My tests on master are ok, so going for it. Applied, thanks. -- David Marchand