From: Akhil Goyal Date: Wed, 13 May 2020 11:50:26 +0000 (+0530) Subject: drivers/crypto: fix build with -fno-common X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=eef9e0412a84cddf8944379ed4995314b4369370;p=dpdk.git drivers/crypto: fix build with -fno-common gcc 10 defaults to -fno-common and as a result when linking with crypto drivers: drivers/librte_pmd_dpaa_sec.a(crypto_dpaa_sec_dpaa_sec.c.o): (.bss+0x4): multiple definition of `rta_sec_era'; drivers/librte_pmd_caam_jr.a(crypto_caam_jr_caam_jr.c.o): (.bss+0x0): first defined here drivers/librte_pmd_dpaa2_sec.a(crypto_dpaa2_sec_dpaa2_sec_dpseci.c.o): (.data+0x0): multiple definition of `rta_sec_era'; drivers/librte_pmd_caam_jr.a(crypto_caam_jr_caam_jr.c.o): (.bss+0x0): first defined here This patch fixes the blunt workaround in the following commit. Fixes: 50b03f3b8eaf ("drivers/crypto: disable gcc 10 no-common errors") Bugzilla ID: 469 Cc: stable@dpdk.org Signed-off-by: Akhil Goyal Tested-by: Kevin Traynor Reviewed-by: Ferruh Yigit Acked-by: Hemant Agrawal Acked-by: Ray Kinsella --- diff --git a/drivers/common/dpaax/Makefile b/drivers/common/dpaax/Makefile index 15b0b38d0d..2f4b924fda 100644 --- a/drivers/common/dpaax/Makefile +++ b/drivers/common/dpaax/Makefile @@ -15,6 +15,7 @@ CFLAGS += -Wno-pointer-arith CFLAGS += -Wno-cast-qual CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax +CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib # versioning export map EXPORT_MAP := rte_common_dpaax_version.map @@ -22,7 +23,7 @@ EXPORT_MAP := rte_common_dpaax_version.map # # all source are stored in SRCS-y # -SRCS-y += dpaax_iova_table.c dpaa_of.c +SRCS-y += dpaax_iova_table.c dpaa_of.c caamflib.c LDLIBS += -lrte_eal diff --git a/drivers/common/dpaax/caamflib.c b/drivers/common/dpaax/caamflib.c new file mode 100644 index 0000000000..55e20281ca --- /dev/null +++ b/drivers/common/dpaax/caamflib.c @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) + * + * Copyright 2020 NXP + * + */ + +#include + +/* + * SEC HW block revision. + * + * This *must not be confused with SEC version*: + * - SEC HW block revision format is "v" + * - SEC revision format is "x.y" + */ +enum rta_sec_era rta_sec_era; diff --git a/drivers/common/dpaax/meson.build b/drivers/common/dpaax/meson.build index ff2d1a5071..0b8bf7bd51 100644 --- a/drivers/common/dpaax/meson.build +++ b/drivers/common/dpaax/meson.build @@ -6,7 +6,9 @@ if not is_linux reason = 'only supported on linux' endif -sources = files('dpaax_iova_table.c', 'dpaa_of.c') +sources = files('dpaax_iova_table.c', 'dpaa_of.c', 'caamflib.c') + +includes += include_directories('caamflib') cflags += ['-D_GNU_SOURCE'] if cc.has_argument('-Wno-cast-qual') diff --git a/drivers/common/dpaax/rte_common_dpaax_version.map b/drivers/common/dpaax/rte_common_dpaax_version.map index f72eba761d..837ce01af3 100644 --- a/drivers/common/dpaax/rte_common_dpaax_version.map +++ b/drivers/common/dpaax/rte_common_dpaax_version.map @@ -21,3 +21,7 @@ DPDK_20.0 { local: *; }; + +INTERNAL { + rta_sec_era; +}; diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile index 10848884cb..89d3238172 100644 --- a/drivers/crypto/caam_jr/Makefile +++ b/drivers/crypto/caam_jr/Makefile @@ -14,13 +14,6 @@ CFLAGS += -D _GNU_SOURCE CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -# FIXME: temporary solution for Bugzilla 469 -ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) -ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1) -CFLAGS += -fcommon -endif -endif - CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/ diff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c index 5a29dd169d..45003ba25a 100644 --- a/drivers/crypto/caam_jr/caam_jr.c +++ b/drivers/crypto/caam_jr/caam_jr.c @@ -37,8 +37,6 @@ static uint8_t cryptodev_driver_id; int caam_jr_logtype; -enum rta_sec_era rta_sec_era; - /* Lists the states possible for the SEC user space driver. */ enum sec_driver_state_e { SEC_DRIVER_STATE_IDLE, /* Driver not initialized */ diff --git a/drivers/crypto/caam_jr/meson.build b/drivers/crypto/caam_jr/meson.build index 551b136322..f8b5250a93 100644 --- a/drivers/crypto/caam_jr/meson.build +++ b/drivers/crypto/caam_jr/meson.build @@ -12,11 +12,6 @@ sources = files('caam_jr_capabilities.c', 'caam_jr_uio.c', 'caam_jr.c') -# FIXME: temporary solution for Bugzilla 469 -if (toolchain == 'gcc' and cc.version().version_compare('>=10.0.0')) - cflags += '-fcommon' -endif - includes += include_directories('../../bus/dpaa/include/') includes += include_directories('../../common/dpaax/') includes += include_directories('../../common/dpaax/caamflib/') diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile index 8ce637db60..a0a2795575 100644 --- a/drivers/crypto/dpaa2_sec/Makefile +++ b/drivers/crypto/dpaa2_sec/Makefile @@ -19,13 +19,6 @@ CFLAGS += -Wno-implicit-fallthrough endif endif -# FIXME: temporary solution for Bugzilla 469 -ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) -ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1) -CFLAGS += -fcommon -endif -endif - CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/ diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c index fe34e644cc..6459a025b4 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c @@ -56,8 +56,6 @@ #define SEC_FLC_DHR_OUTBOUND -114 #define SEC_FLC_DHR_INBOUND 0 -enum rta_sec_era rta_sec_era = RTA_SEC_ERA_8; - static uint8_t cryptodev_driver_id; int dpaa2_logtype_sec; @@ -3870,6 +3868,8 @@ cryptodev_dpaa2_sec_probe(struct rte_dpaa2_driver *dpaa2_drv __rte_unused, if (dpaa2_svr_family == SVR_LX2160A) rta_set_sec_era(RTA_SEC_ERA_10); + else + rta_set_sec_era(RTA_SEC_ERA_8); DPAA2_SEC_INFO("2-SEC ERA is %d", rta_get_sec_era()); diff --git a/drivers/crypto/dpaa2_sec/meson.build b/drivers/crypto/dpaa2_sec/meson.build index 505ad94146..cb1c2d0492 100644 --- a/drivers/crypto/dpaa2_sec/meson.build +++ b/drivers/crypto/dpaa2_sec/meson.build @@ -10,9 +10,4 @@ deps += ['security', 'mempool_dpaa2'] sources = files('dpaa2_sec_dpseci.c', 'mc/dpseci.c') -# FIXME: temporary solution for Bugzilla 469 -if (toolchain == 'gcc' and cc.version().version_compare('>=10.0.0')) - cflags += '-fcommon' -endif - includes += include_directories('mc', '../../common/dpaax', '../../common/dpaax/caamflib') diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile index 6cf392cb37..ea266962a3 100644 --- a/drivers/crypto/dpaa_sec/Makefile +++ b/drivers/crypto/dpaa_sec/Makefile @@ -13,13 +13,6 @@ LIB = librte_pmd_dpaa_sec.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -# FIXME: temporary solution for Bugzilla 469 -ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) -ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1) -CFLAGS += -fcommon -endif -endif - CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c index 25dcbd259a..a9bfb8685e 100644 --- a/drivers/crypto/dpaa_sec/dpaa_sec.c +++ b/drivers/crypto/dpaa_sec/dpaa_sec.c @@ -43,8 +43,6 @@ #include #include -enum rta_sec_era rta_sec_era; - int dpaa_logtype_sec; static uint8_t cryptodev_driver_id; diff --git a/drivers/crypto/dpaa_sec/meson.build b/drivers/crypto/dpaa_sec/meson.build index f5e6604575..7d422d8d55 100644 --- a/drivers/crypto/dpaa_sec/meson.build +++ b/drivers/crypto/dpaa_sec/meson.build @@ -9,11 +9,6 @@ endif deps += ['bus_dpaa', 'mempool_dpaa', 'security'] sources = files('dpaa_sec.c') -# FIXME: temporary solution for Bugzilla 469 -if (toolchain == 'gcc' and cc.version().version_compare('>=10.0.0')) - cflags += '-fcommon' -endif - includes += include_directories('../../bus/dpaa/include') includes += include_directories('../../common/dpaax') includes += include_directories('../../common/dpaax/caamflib/')