> Hi Hemant, > > So validate_abi.sh has been somewhat deprecated - it may be removed in > future. > To run the libabigail abi checks, you need to run the magic command. > > DPDK_ABI_REF_DIR=/build/dpdk/reference/ DPDK_ABI_REF_VERSION=v20.02 > ./devtools/test-meson-builds.sh > > DPDK_ABI_REF_DIR - needs an absolute path, for reasons that are still unclear > to me. > DPDK_ABI_REF_VERSION - you need to use the last DPDK release.
[Hemant] Thanks it worked for me. It is not showing any error for the changes in this patchset. Regards, Hemant > > Thanks, > > Ray K > > On 13/05/2020 15:06, Hemant Agrawal (OSS) wrote: > > 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 > >