+0
−2
Loading
This variable used to control whether the dependencies of a .so library were listed during linking. But the way confirm_makefile_deps() works is it builds a list of dependencies by going through each undefined symbol in a library, finding the library that defines that symbol, and then comparing that list to the list from mk/spdk.lib_deps.mk. It doesn't matter whether any of those libraries were linked in or not. The only difference, in terms of confirm_makefile_deps(), setting this variable makes is that the undefined symbols have their type filled in properly: w/o SPDK_NO_LIB_DEPS: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND spdk_dif_ctx_set_data_offset 2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND spdk_bdev_comparev_and_writev_blocks 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND spdk_bdev_queue_io_wait 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.2.5 (2) ... w/ SPDK_NO_LIB_DEPS=1: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND spdk_dif_ctx_set_data_offset 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND spdk_bdev_comparev_and_writev_blocks 3: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND spdk_bdev_queue_io_wait 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.2.5 (2) ... It required a slight modification to the way we search for the undefined symbols, but it actually ended up making it a bit simpler. Another advantage of this change is that it's now possible to run this test without having to rebuild everything with SPDK_NO_LIB_DEPS=1. Signed-off-by:Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I62c13c7328f9593480c09b858cf575bf621b62eb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20846 Community-CI: Mellanox Build Bot Reviewed-by:
Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by:
Michal Berger <michal.berger@intel.com> Reviewed-by:
Ben Walker <ben@nvidia.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com>