replace used attributes

The new macro __rte_used, forcing symbol to be generated,
is now used where appropriate for consistency.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
This commit is contained in:
Thomas Monjalon 2020-02-09 20:43:11 +01:00
parent f2fc83b40f
commit cd1e868037
4 changed files with 11 additions and 6 deletions

View File

@ -111,7 +111,7 @@ static const char *default_solib_dir = RTE_EAL_PMD_PATH;
* Note: PLEASE DO NOT ALTER THIS without making a corresponding
* change to usertools/dpdk-pmdinfo.py
*/
static const char dpdk_solib_path[] __attribute__((used)) =
static const char dpdk_solib_path[] __rte_used =
"DPDK_PLUGIN_PATH=" RTE_EAL_PMD_PATH;
TAILQ_HEAD(device_option_list, device_option);

View File

@ -91,6 +91,11 @@ typedef uint16_t unaligned_uint16_t;
*/
#define __rte_weak __attribute__((__weak__))
/**
* Force symbol to be generated even if it appears to be unused.
*/
#define __rte_used __attribute__((used))
/*********** Macros to eliminate unused variable warnings ********/
/**

View File

@ -205,17 +205,17 @@ typedef int (*rte_dev_cmp_t)(const struct rte_device *dev, const void *data);
#define RTE_PMD_EXPORT_NAME(name, idx) \
static const char RTE_PMD_EXPORT_NAME_ARRAY(this_pmd_name, idx) \
__attribute__((used)) = RTE_STR(name)
__rte_used = RTE_STR(name)
#define DRV_EXP_TAG(name, tag) __##name##_##tag
#define RTE_PMD_REGISTER_PCI_TABLE(name, table) \
static const char DRV_EXP_TAG(name, pci_tbl_export)[] __attribute__((used)) = \
static const char DRV_EXP_TAG(name, pci_tbl_export)[] __rte_used = \
RTE_STR(table)
#define RTE_PMD_REGISTER_PARAM_STRING(name, str) \
static const char DRV_EXP_TAG(name, param_string_export)[] \
__attribute__((used)) = str
__rte_used = str
/**
* Advertise the list of kernel modules required to run this driver
@ -240,7 +240,7 @@ __attribute__((used)) = str
*/
#define RTE_PMD_REGISTER_KMOD_DEP(name, str) \
static const char DRV_EXP_TAG(name, kmod_dep_export)[] \
__attribute__((used)) = str
__rte_used = str
/**
* Iteration context.

View File

@ -59,7 +59,7 @@
* that it is being used as an implementation of a particular version of symbol
* <b>.
*/
#define __vsym __attribute__((used))
#define __vsym __rte_used
/*
* MAP_STATIC_SYMBOL