net/virtio: fix build errors
Checks
Commit Message
From: Jerin Jacob <jerinj@marvell.com>
Add extern to variable declaration to avoid some compiler treating it
as variable definition.
build error log:
lib/librte_pmd_virtio.a(vhost_kernel.o):(.rodata+0x110):
multiple definition of `vhost_msg_strings'
lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0):
first defined here
lib/librte_pmd_virtio.a(virtio_user_dev.o):(.rodata+0xe8):
multiple definition of `vhost_msg_strings'
lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0):
first defined here
Fixes: 33d24d65fe2b ("net/virtio-user: abstract backend operations")
Cc: Jianfeng Tan <jianfeng.tan@intel.com>
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---
drivers/net/virtio/virtio_user/vhost.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 7/30/19 1:04 PM, jerinj@marvell.com wrote:
> From: Jerin Jacob <jerinj@marvell.com>
>
> Add extern to variable declaration to avoid some compiler treating it
> as variable definition.
>
> build error log:
>
> lib/librte_pmd_virtio.a(vhost_kernel.o):(.rodata+0x110):
> multiple definition of `vhost_msg_strings'
> lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0):
> first defined here
> lib/librte_pmd_virtio.a(virtio_user_dev.o):(.rodata+0xe8):
> multiple definition of `vhost_msg_strings'
> lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0):
> first defined here
>
> Fixes: 33d24d65fe2b ("net/virtio-user: abstract backend operations")
>
> Cc: Jianfeng Tan <jianfeng.tan@intel.com>
> Cc: stable@dpdk.org
>
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> drivers/net/virtio/virtio_user/vhost.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/virtio/virtio_user/vhost.h b/drivers/net/virtio/virtio_user/vhost.h
> index 55f47036b..1e784e58e 100644
> --- a/drivers/net/virtio/virtio_user/vhost.h
> +++ b/drivers/net/virtio/virtio_user/vhost.h
> @@ -67,7 +67,7 @@ enum vhost_user_request {
> VHOST_USER_MAX
> };
>
> -const char * const vhost_msg_strings[VHOST_USER_MAX];
> +extern const char * const vhost_msg_strings[VHOST_USER_MAX];
>
> struct vhost_memory_region {
> uint64_t guest_phys_addr;
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
30/07/2019 18:12, Maxime Coquelin:
> On 7/30/19 1:04 PM, jerinj@marvell.com wrote:
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Add extern to variable declaration to avoid some compiler treating it
> > as variable definition.
> >
> > build error log:
> >
> > lib/librte_pmd_virtio.a(vhost_kernel.o):(.rodata+0x110):
> > multiple definition of `vhost_msg_strings'
> > lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0):
> > first defined here
> > lib/librte_pmd_virtio.a(virtio_user_dev.o):(.rodata+0xe8):
> > multiple definition of `vhost_msg_strings'
> > lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0):
> > first defined here
> >
> > Fixes: 33d24d65fe2b ("net/virtio-user: abstract backend operations")
> >
> > Cc: Jianfeng Tan <jianfeng.tan@intel.com>
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Applied, thanks
@@ -67,7 +67,7 @@ enum vhost_user_request {
VHOST_USER_MAX
};
-const char * const vhost_msg_strings[VHOST_USER_MAX];
+extern const char * const vhost_msg_strings[VHOST_USER_MAX];
struct vhost_memory_region {
uint64_t guest_phys_addr;