test/unit/lib/vhost: Add unit test stubs

With some build environments (e.g. clang, see #1613) linking fails with
unresolved references. This is caused by the inclusion of 'unused code'
which is usually discarded by the linker. The 'unused code' contains
references to functions that have not been 'stubbed' out. The failure
can be seen by removing 'LDFLAGS += -Wl,--gc-sections' in
spdk.unittest.mk

Resolved by adding stubs for missing references. These are never called
so return an arbtrary default value.

Part of a set of independent changes which
Fixes #1613

Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
Change-Id: Ic291ba22cbee121b5c75b80910378b456a217189
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5080
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
Nick Connolly 2020-11-11 13:40:49 +00:00 committed by Tomasz Zawadzki
parent c70d03f32a
commit f686aa962c

View File

@ -71,6 +71,19 @@ DEFINE_STUB(rte_vhost_driver_disable_features, int, (const char *path, uint64_t
DEFINE_STUB(rte_vhost_driver_set_features, int, (const char *path, uint64_t features), 0);
DEFINE_STUB(rte_vhost_driver_register, int, (const char *path, uint64_t flags), 0);
DEFINE_STUB(rte_vhost_set_last_inflight_io_split, int,
(int vid, uint16_t vring_idx, uint16_t idx), 0);
DEFINE_STUB(rte_vhost_clr_inflight_desc_split, int,
(int vid, uint16_t vring_idx, uint16_t last_used_idx, uint16_t idx), 0);
DEFINE_STUB_V(rte_vhost_log_write, (int vid, uint64_t addr, uint64_t len));
DEFINE_STUB_V(vhost_session_mem_register, (struct rte_vhost_memory *mem));
DEFINE_STUB_V(vhost_session_mem_unregister, (struct rte_vhost_memory *mem));
DEFINE_STUB(vhost_get_negotiated_features, int,
(int vid, uint64_t *negotiated_features), 0);
DEFINE_STUB(rte_vhost_get_vhost_ring_inflight, int,
(int vid, uint16_t vring_idx, struct rte_vhost_ring_inflight *vring), 0);
DEFINE_STUB(vhost_get_mem_table, int, (int vid, struct rte_vhost_memory **mem), 0);
void *
spdk_call_unaffinitized(void *cb(void *arg), void *arg)
{