Hi Ray, I could not find validate_abi using libabigail.abignore. Am I missing something. Though check_abi.sh uses it.
When I am checking with validate_abi.sh, I still see warnings. Regards, Hemant > -----Original Message----- > From: Hemant Agrawal <hemant.agra...@nxp.com> > Sent: Wednesday, May 13, 2020 6:58 PM > To: dev@dpdk.org; david.march...@redhat.com; m...@ashroe.eu > Cc: Hemant Agrawal <hemant.agra...@nxp.com> > Subject: [PATCH v3 01/12] common/dpaax: move internal symbols into > INTERNAL section > > This patch moves the internal symbols to INTERNAL sections so that any > change in them is not reported as ABI breakage. > > Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com> > --- > devtools/libabigail.abignore | 3 +++ > drivers/common/dpaax/dpaa_of.h | 15 +++++++++++++++ > drivers/common/dpaax/dpaax_iova_table.h | 4 ++++ > drivers/common/dpaax/rte_common_dpaax_version.map | 2 +- > 4 files changed, 23 insertions(+), 1 deletion(-) > > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index > c9ee73cb3c..b1488d5549 100644 > --- a/devtools/libabigail.abignore > +++ b/devtools/libabigail.abignore > @@ -48,3 +48,6 @@ > changed_enumerators = RTE_CRYPTO_AEAD_LIST_END > [suppress_variable] > name = rte_crypto_aead_algorithm_strings > +; Ignore moving DPAAx stable functions to INTERNAL tag [suppress_file] > + file_name_regexp = ^librte_common_dpaax\. > diff --git a/drivers/common/dpaax/dpaa_of.h > b/drivers/common/dpaax/dpaa_of.h index 960b421766..38d91a1afe 100644 > --- a/drivers/common/dpaax/dpaa_of.h > +++ b/drivers/common/dpaax/dpaa_of.h > @@ -24,6 +24,7 @@ > #include <limits.h> > #include <rte_common.h> > #include <dpaa_list.h> > +#include <rte_compat.h> > > #ifndef OF_INIT_DEFAULT_PATH > #define OF_INIT_DEFAULT_PATH "/proc/device-tree" > @@ -102,6 +103,7 @@ struct dt_file { > uint64_t buf[OF_FILE_BUF_MAX >> 3]; > }; > > +__rte_internal > const struct device_node *of_find_compatible_node( > const struct device_node *from, > const char *type __rte_unused, > @@ -113,32 +115,44 @@ const struct device_node > *of_find_compatible_node( > dev_node != NULL; \ > dev_node = of_find_compatible_node(dev_node, type, > compatible)) > > +__rte_internal > const void *of_get_property(const struct device_node *from, const char > *name, > size_t *lenp) __attribute__((nonnull(2))); > +__rte_internal > bool of_device_is_available(const struct device_node *dev_node); > > + > +__rte_internal > const struct device_node *of_find_node_by_phandle(uint64_t ph); > > +__rte_internal > const struct device_node *of_get_parent(const struct device_node > *dev_node); > > +__rte_internal > const struct device_node *of_get_next_child(const struct device_node > *dev_node, > const struct device_node *prev); > > +__rte_internal > const void *of_get_mac_address(const struct device_node *np); > > #define for_each_child_node(parent, child) \ > for (child = of_get_next_child(parent, NULL); child != NULL; \ > child = of_get_next_child(parent, child)) > > + > +__rte_internal > uint32_t of_n_addr_cells(const struct device_node *dev_node); uint32_t > of_n_size_cells(const struct device_node *dev_node); > > +__rte_internal > const uint32_t *of_get_address(const struct device_node *dev_node, size_t > idx, > uint64_t *size, uint32_t *flags); > > +__rte_internal > uint64_t of_translate_address(const struct device_node *dev_node, > const uint32_t *addr) __attribute__((nonnull)); > > +__rte_internal > bool of_device_is_compatible(const struct device_node *dev_node, > const char *compatible); > > @@ -146,6 +160,7 @@ bool of_device_is_compatible(const struct > device_node *dev_node, > * subsystem that is device-tree-dependent. Eg. Qman/Bman, config layers, > etc. > * The path should usually be "/proc/device-tree". > */ > +__rte_internal > int of_init_path(const char *dt_path); > > /* of_finish() allows a controlled tear-down of the device-tree layer, eg. > if a > diff --git a/drivers/common/dpaax/dpaax_iova_table.h > b/drivers/common/dpaax/dpaax_iova_table.h > index fc3b9e7a8f..230fba8ba0 100644 > --- a/drivers/common/dpaax/dpaax_iova_table.h > +++ b/drivers/common/dpaax/dpaax_iova_table.h > @@ -61,9 +61,13 @@ extern struct dpaax_iova_table *dpaax_iova_table_p; > #define DPAAX_MEM_SPLIT_MASK_OFF (DPAAX_MEM_SPLIT - 1) /**< Offset */ > > /* APIs exposed */ > +__rte_internal > int dpaax_iova_table_populate(void); > +__rte_internal > void dpaax_iova_table_depopulate(void); > +__rte_internal > int dpaax_iova_table_update(phys_addr_t paddr, void *vaddr, size_t length); > +__rte_internal > void dpaax_iova_table_dump(void); > > static inline void *dpaax_iova_table_get_va(phys_addr_t paddr) __rte_hot; > diff --git a/drivers/common/dpaax/rte_common_dpaax_version.map > b/drivers/common/dpaax/rte_common_dpaax_version.map > index f72eba761d..ad2b2b3fec 100644 > --- a/drivers/common/dpaax/rte_common_dpaax_version.map > +++ b/drivers/common/dpaax/rte_common_dpaax_version.map > @@ -1,4 +1,4 @@ > -DPDK_20.0 { > +INTERNAL { > global: > > dpaax_iova_table_depopulate; > -- > 2.17.1