diff mbox

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

Message ID 20101025141956.d8f0888f.sfr@canb.auug.org.au
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Stephen Rothwell Oct. 25, 2010, 3:19 a.m. UTC
Hi all,

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

net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict
net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict
net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict
net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict
net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict
net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict

Caused by commit fc130840d75d42c5a360fd1d8b72489eec09cad3 ("l2tp: make
local function static") since these functions are now static (and should
not be exported).  I wish doing that caused a build failure on other
architectures ...

I applied the following patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 25 Oct 2010 14:16:53 +1100
Subject: [PATCH] l2tp: static functions should not be exported

Causes these build failures on PowerPC:

net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict
net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict
net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict
net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict
net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict
net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 net/l2tp/l2tp_core.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

Comments

David Miller Oct. 25, 2010, 5:26 a.m. UTC | #1
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 25 Oct 2010 14:19:56 +1100

> I wish doing that caused a build failure on other architectures ...

Me too :-/

> Subject: [PATCH] l2tp: static functions should not be exported

I'll add this thanks Stephen.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
stephen hemminger Oct. 25, 2010, 5:36 p.m. UTC | #2
On Sun, 24 Oct 2010 22:26:02 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 25 Oct 2010 14:19:56 +1100
> 
> > I wish doing that caused a build failure on other architectures ...
> 
> Me too :-/
> 
> > Subject: [PATCH] l2tp: static functions should not be exported
> 
> I'll add this thanks Stephen.

The section mismatch warning on x86 is not shown by default
because there are still so many problems.
Stephen Rothwell Oct. 25, 2010, 11:04 p.m. UTC | #3
Hi Stephen,

On Mon, 25 Oct 2010 10:36:36 -0700 Stephen Hemminger <shemminger@vyatta.com> wrote:
>
> The section mismatch warning on x86 is not shown by default
> because there are still so many problems.

This is actually different - it is generated by the compiler.  I am not
sure why we only get them on PowerPC.  Rusty suggested that we could
dynamically create a file that just referenced all the EXPORTed symbols
(we know what they are) and try to link that.  Then we would find all the
static ones.  PowerPC would still find them earlier, of course, but since
a lot of poeple only compile for x86(_64), they may not get as far as the
PowerPC builds.

The other section mismatch warnings (generated by an external program)
are certainly suppressed by default on all architectures.  I enable them
for some of my builds, and it is not too bad at the moment (apart from a
couple of particular subsystems - and Sparc :-)).  I suspect that if we
reenabled them by default, they would be fixed fairly quickly.
David Miller Oct. 25, 2010, 11:27 p.m. UTC | #4
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 26 Oct 2010 10:04:27 +1100

> This is actually different - it is generated by the compiler.  I am not
> sure why we only get them on PowerPC.

I think it has to do with how function descriptors work on powerpc.

Code references to static (local) things work different from how
global scope references work.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c
index 5fb4803..c64ce0a 100644
--- a/net/l2tp/l2tp_core.c
+++ b/net/l2tp/l2tp_core.c
@@ -844,7 +844,6 @@  error:
 
 	return 1;
 }
-EXPORT_SYMBOL_GPL(l2tp_udp_recv_core);
 
 /* UDP encapsulation receive handler. See net/ipv4/udp.c.
  * Return codes:
@@ -1003,7 +1002,6 @@  static int l2tp_xmit_core(struct l2tp_session *session, struct sk_buff *skb,
 
 	return 0;
 }
-EXPORT_SYMBOL_GPL(l2tp_xmit_core);
 
 /* Automatically called when the skb is freed.
  */
@@ -1225,7 +1223,6 @@  again:
 	}
 	write_unlock_bh(&tunnel->hlist_lock);
 }
-EXPORT_SYMBOL_GPL(l2tp_tunnel_closeall);
 
 /* Really kill the tunnel.
  * Come here only when all sessions have been cleared from the tunnel.