From patchwork Thu Sep 5 14:53:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 58655 Return-Path: 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 ; 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 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 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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(-)