2020-06-18 00:14:11

by Antonio Borneo

[permalink] [raw]
Subject: [PATCH] usbip: tools: fix build error for multiple definition

With GCC 10, building usbip triggers error for multiple definition
of 'udev_context', in:
- libsrc/vhci_driver.c:18 and
- libsrc/usbip_host_common.c:27.

Declare as extern the definition in libsrc/usbip_host_common.c.

Signed-off-by: Antonio Borneo <[email protected]>
---
tools/usb/usbip/libsrc/usbip_host_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/usb/usbip/libsrc/usbip_host_common.c b/tools/usb/usbip/libsrc/usbip_host_common.c
index d1d8ba2a4a40..ca78aa368476 100644
--- a/tools/usb/usbip/libsrc/usbip_host_common.c
+++ b/tools/usb/usbip/libsrc/usbip_host_common.c
@@ -23,7 +23,7 @@
#include "list.h"
#include "sysfs_utils.h"

-struct udev *udev_context;
+extern struct udev *udev_context;

static int32_t read_attr_usbip_status(struct usbip_usb_device *udev)
{
--
2.27.0


2020-06-18 18:46:50

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] usbip: tools: fix build error for multiple definition

On 6/17/20 6:08 PM, Antonio Borneo wrote:
> With GCC 10, building usbip triggers error for multiple definition
> of 'udev_context', in:
> - libsrc/vhci_driver.c:18 and
> - libsrc/usbip_host_common.c:27.
>
> Declare as extern the definition in libsrc/usbip_host_common.c.
>
> Signed-off-by: Antonio Borneo <[email protected]>
> ---
> tools/usb/usbip/libsrc/usbip_host_common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/usb/usbip/libsrc/usbip_host_common.c b/tools/usb/usbip/libsrc/usbip_host_common.c
> index d1d8ba2a4a40..ca78aa368476 100644
> --- a/tools/usb/usbip/libsrc/usbip_host_common.c
> +++ b/tools/usb/usbip/libsrc/usbip_host_common.c
> @@ -23,7 +23,7 @@
> #include "list.h"
> #include "sysfs_utils.h"
>
> -struct udev *udev_context;
> +extern struct udev *udev_context;
>
> static int32_t read_attr_usbip_status(struct usbip_usb_device *udev)
> {
>

Looks good to me.

Acked-by: Shuah Khan <[email protected]>

thanks,
-- Shuah

2020-07-23 23:00:08

by Salvatore Bonaccorso

[permalink] [raw]
Subject: Re: [PATCH] usbip: tools: fix build error for multiple definition

Hi,

On Thu, Jun 18, 2020 at 11:36:39AM -0600, Shuah Khan wrote:
> On 6/17/20 6:08 PM, Antonio Borneo wrote:
> > With GCC 10, building usbip triggers error for multiple definition
> > of 'udev_context', in:
> > - libsrc/vhci_driver.c:18 and
> > - libsrc/usbip_host_common.c:27.
> >
> > Declare as extern the definition in libsrc/usbip_host_common.c.
> >
> > Signed-off-by: Antonio Borneo <[email protected]>
> > ---
> > tools/usb/usbip/libsrc/usbip_host_common.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/usb/usbip/libsrc/usbip_host_common.c b/tools/usb/usbip/libsrc/usbip_host_common.c
> > index d1d8ba2a4a40..ca78aa368476 100644
> > --- a/tools/usb/usbip/libsrc/usbip_host_common.c
> > +++ b/tools/usb/usbip/libsrc/usbip_host_common.c
> > @@ -23,7 +23,7 @@
> > #include "list.h"
> > #include "sysfs_utils.h"
> > -struct udev *udev_context;
> > +extern struct udev *udev_context;
> > static int32_t read_attr_usbip_status(struct usbip_usb_device *udev)
> > {
> >
>
> Looks good to me.
>
> Acked-by: Shuah Khan <[email protected]>

As Debian (unstable) has switched to GCC 10 by default, we are biten
by this. Patch looks good to me.

Tested-by: Salvatore Bonaccorso <[email protected]>

Regards,
Salvatore