Skip to contentSkip to conversation

linux-next: build failure after merge of the final tree (staging tree related)

PATCH New Stephen Rothwell 3 participants 5 messages Sep 10, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi all,

After merging the final tree, today's linux-next build (powerpc allyesconfig) failed like this:

drivers/staging/silicom/bypasslib/built-in.o: In function `.is_bypass':
(.text+0x3254): multiple definition of .is_bypass' drivers/staging/silicom/bpctl_mod.o:(.text+0x1d938): first defined here drivers/staging/silicom/bypasslib/built-in.o: In function is_bypass':
(.opd+0x480): multiple definition of `is_bypass' drivers/staging/silicom/bpctl_mod.o:(.opd+0x15f0): first defined here

Caused by commit 7040e556c90a ("staging: add Silicom Bypass driver").

I added this patch to disable the driver:

From 884437b30775214e9f34696adb2be2f24f1e6df7 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <[email protected]>
Date: Mon, 10 Sep 2012 17:01:05 +1000
Subject: [PATCH] staging: disable Silicom Bypass driver

due to build breakage:

rivers/staging/silicom/bypasslib/built-in.o: In function `.is_bypass':
(.text+0x3254): multiple definition of .is_bypass' drivers/staging/silicom/bpctl_mod.o:(.text+0x1d938): first defined here drivers/staging/silicom/bypasslib/built-in.o: In function is_bypass':
(.opd+0x480): multiple definition of `is_bypass' drivers/staging/silicom/bpctl_mod.o:(.opd+0x15f0): first defined here

---
 drivers/staging/silicom/Kconfig |    1 +
 1 file changed, 1 insertion(+)
drivers/staging/silicom/Kconfig +1 -0
index 3493ee8..1914844 100644
@@ -6,6 +6,7 @@ config NET_VENDOR_SILICOM
 	bool "Silicom devices"
 	default y
 	depends on (SSB_POSSIBLE && HAS_DMA) || PCI 
+	depends on BROKEN
 	---help---
 	  If you have a network card (Ethernet) belonging to this class,
 	  say Y.
Signature · 5 lines
1.7.10.280.gaa39

-- 
Cheers,
Stephen Rothwell                    [email protected]
#1 lore raw
Quoted 40 lines · Stephen Rothwell

Hi all,

After merging the final tree, today's linux-next build (powerpc allyesconfig) failed like this:

drivers/staging/silicom/bypasslib/built-in.o: In function `.is_bypass':
(.text+0x3254): multiple definition of .is_bypass' drivers/staging/silicom/bpctl_mod.o:(.text+0x1d938): first defined here drivers/staging/silicom/bypasslib/built-in.o: In function is_bypass':
(.opd+0x480): multiple definition of `is_bypass' drivers/staging/silicom/bpctl_mod.o:(.opd+0x15f0): first defined here

Caused by commit 7040e556c90a ("staging: add Silicom Bypass driver").

I added this patch to disable the driver:

From 884437b30775214e9f34696adb2be2f24f1e6df7 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <[email protected]>
Date: Mon, 10 Sep 2012 17:01:05 +1000
Subject: [PATCH] staging: disable Silicom Bypass driver

due to build breakage:

rivers/staging/silicom/bypasslib/built-in.o: In function `.is_bypass':
(.text+0x3254): multiple definition of .is_bypass' drivers/staging/silicom/bpctl_mod.o:(.text+0x1d938): first defined here drivers/staging/silicom/bypasslib/built-in.o: In function is_bypass':
(.opd+0x480): multiple definition of `is_bypass' drivers/staging/silicom/bpctl_mod.o:(.opd+0x15f0): first defined here

---
 drivers/staging/silicom/Kconfig |    1 +
 1 file changed, 1 insertion(+)
drivers/staging/silicom/Kconfig +0 -0
index 3493ee8..1914844 100644

drivers/staging/silicom/Kconfig config NET_VENDOR_SILICOM · line 9

Quoted 4 lines
drivers/staging/silicom/Kconfig +1 -0
@@ -6,6 +6,7 @@ config NET_VENDOR_SILICOM
 	bool "Silicom devices"
 	default y
 	depends on (SSB_POSSIBLE && HAS_DMA) || PCI 
+	depends on BROKEN

I think forcing this driver to be a module will resolve this issue. It seems to be quite a common problem for most staging drivers when they first land in the tree, sorry for not catching this one.

greg k-h

#2 lore raw

PATCH 1/1 Force module

Sorry about breaking the build, this should fix.

Staging: silicom: Depend on module until monolithic build fixed

---
 drivers/staging/silicom/Kconfig | 5 ++++-
 drivers/staging/silicom/TODO    | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)
drivers/staging/silicom/Kconfig +4 -1
index 1914844..045ab08 100644
@@ -5,7 +5,7 @@
 config NET_VENDOR_SILICOM
 	bool "Silicom devices"
 	default y
-	depends on (SSB_POSSIBLE && HAS_DMA) || PCI 
+	depends on PCI 
 	depends on BROKEN
 	---help---
 	  If you have a network card (Ethernet) belonging to this class,
@@ -20,6 +20,8 @@ if NET_VENDOR_SILICOM
 
 config SBYPASS
 	tristate "Silicom BypassCTL library support"
+	depends on PCI
+	depends on m
 	---help---
 	  If you have a network (Ethernet) controller of this type, say Y
 
@@ -29,6 +31,7 @@ config SBYPASS
 config BPCTL
 	tristate "Silicom BypassCTL net support"
 	depends on PCI
+	depends on m
 	select SBYPASS
 	select NET_CORE
 	select MII
drivers/staging/silicom/TODO +1 -0
index bf60714..a39821f 100644
@@ -3,5 +3,6 @@ TODO:
 	- locking audit
 	- single module with all functionality
 	- userland 
+        - fix monolithic build.
 
 
Signature · 1 line
1.7.11.4
#3 lore raw

Re: [PATCH 3.6rc5.linux-next 1/1] Force module

Quoted 1 line · DanielC

Sorry about breaking the build, this should fix.

This doesn't make sense in a changelog entry.

Quoted 2 lines

Staging: silicom: Depend on module until monolithic build fixed

This needs to be in the Subject: line of the patch, don't make me edit it by hand to add it in.

Quoted 2 lines

You forgot to add:

to this list, as he is the one that found the problem.

Care to fix this up and resend the patch so I can apply it without needing to edit it at all?

thanks,

greg k-h

#4 lore raw

PATCH v2 1/1 Staging: silicom: Force depend on module

Staging: silicom: Force depend on module until monolithic build fixed

---
 drivers/staging/silicom/Kconfig | 5 ++++-
 drivers/staging/silicom/TODO    | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)
drivers/staging/silicom/Kconfig +4 -1
index 1914844..045ab08 100644
@@ -5,7 +5,7 @@
 config NET_VENDOR_SILICOM
 	bool "Silicom devices"
 	default y
-	depends on (SSB_POSSIBLE && HAS_DMA) || PCI 
+	depends on PCI 
 	depends on BROKEN
 	---help---
 	  If you have a network card (Ethernet) belonging to this class,
@@ -20,6 +20,8 @@ if NET_VENDOR_SILICOM
 
 config SBYPASS
 	tristate "Silicom BypassCTL library support"
+	depends on PCI
+	depends on m
 	---help---
 	  If you have a network (Ethernet) controller of this type, say Y
 
@@ -29,6 +31,7 @@ config SBYPASS
 config BPCTL
 	tristate "Silicom BypassCTL net support"
 	depends on PCI
+	depends on m
 	select SBYPASS
 	select NET_CORE
 	select MII
drivers/staging/silicom/TODO +1 -0
index bf60714..a39821f 100644
@@ -3,5 +3,6 @@ TODO:
 	- locking audit
 	- single module with all functionality
 	- userland 
+        - fix monolithic build.
 
 
Signature · 1 line
1.7.11.4