usbip: tools: fix build error for multiple definition

Message ID 20200618000844.1048309-1-borneo.antonio@gmail.com
State New
Headers show
Series
  • usbip: tools: fix build error for multiple definition
Related show

Commit Message

Antonio Borneo June 18, 2020, 12:08 a.m.
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 <borneo.antonio@gmail.com>
---
 tools/usb/usbip/libsrc/usbip_host_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Salvatore Bonaccorso July 23, 2020, 10:58 p.m. | #1
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 <borneo.antonio@gmail.com>

> > ---

> >   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 <skhan@linuxfoundation.org>


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

Tested-by: Salvatore Bonaccorso <carnil@debian.org>


Regards,
Salvatore

Patch

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)
 {