All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <randy.dunlap@oracle.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, Michael Chan <mchan@broadcom.com>,
	"David S. Miller" <davem@davemloft.net>,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: -git tree build failure in drivers/net/cnic.c: undefined reference to `ip6_route_output'
Date: Fri, 12 Jun 2009 11:43:48 -0700	[thread overview]
Message-ID: <4A32A1E4.8080708@oracle.com> (raw)
In-Reply-To: <20090612184343.GA11900@elte.hu>

Ingo Molnar wrote:
> today's -git fails to build with ipv6 disabled (x86):
> 
>   drivers/built-in.o: In function `cnic_get_v6_route':
>   cnic.c:(.text+0x104c42): undefined reference to `ip6_route_output'
> 
> introduced by this new driver:
> 
>   a463696: [SCSI] cnic: Add new Broadcom CNIC driver.

I just posted a patch for this to netdev and it was acked by its maintainer.
Patch is below.

---

From: Randy Dunlap <randy.dunlap@oracle.com>

Fix cnic build for case of CONFIG_INET=n.
Fix cnic build for case of CONFIG_IPV6=m and CONFIG_CNIC=y.

Fixes these build errors:

cnic.c:(.text+0x236a1d): undefined reference to `ip_route_output_key'
cnic.c:(.text+0x15a8e8): undefined reference to `ip6_route_output'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 drivers/net/cnic.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

--- linux-next-20090612.orig/drivers/net/cnic.c
+++ linux-next-20090612/drivers/net/cnic.c
@@ -1454,6 +1454,7 @@ static inline u16 cnic_get_vlan(struct n
 static int cnic_get_v4_route(struct sockaddr_in *dst_addr,
 			     struct dst_entry **dst)
 {
+#if defined(CONFIG_INET)
 	struct flowi fl;
 	int err;
 	struct rtable *rt;
@@ -1465,12 +1466,15 @@ static int cnic_get_v4_route(struct sock
 	if (!err)
 		*dst = &rt->u.dst;
 	return err;
+#else
+	return -ENETUNREACH;
+#endif
 }
 
 static int cnic_get_v6_route(struct sockaddr_in6 *dst_addr,
 			     struct dst_entry **dst)
 {
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6) || (defined(CONFIG_IPV6_MODULE) && defined(MODULE))
 	struct flowi fl;
 
 	memset(&fl, 0, sizeof(fl));
@@ -1550,7 +1554,7 @@ static int cnic_get_route(struct cnic_so
 	clear_bit(SK_F_IPV6, &csk->flags);
 
 	if (is_v6) {
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6) || (defined(CONFIG_IPV6_MODULE) && defined(MODULE))
 		set_bit(SK_F_IPV6, &csk->flags);
 		err = cnic_get_v6_route(&saddr->remote.v6, &dst);
 		if (err)

  reply	other threads:[~2009-06-12 18:47 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-12 18:43 -git tree build failure in drivers/net/cnic.c: undefined reference to `ip6_route_output' Ingo Molnar
2009-06-12 18:43 ` Randy Dunlap [this message]
2009-06-12 23:51   ` David Miller
2009-06-13  0:03     ` James Bottomley
2009-06-13  0:05       ` David Miller
2009-06-13 14:37         ` James Bottomley
2009-06-13  6:42       ` Ingo Molnar
2009-06-13  7:03         ` Michael Chan
2009-06-13  6:29   ` -git tree build failure #2: drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’ Ingo Molnar
2009-06-13 20:11     ` Linus Torvalds
2009-06-13 20:31       ` Ingo Molnar
2009-06-13 20:35         ` Ingo Molnar
2009-06-13 20:46           ` Ingo Molnar
2009-06-13 20:42       ` James Bottomley
2009-06-14  0:43         ` Michael Chan
2009-06-14  1:33           ` James Bottomley
2009-06-14  2:18             ` Michael Chan
2009-06-14 14:15               ` James Bottomley
2009-06-14 14:51                 ` -git tree build failure #2: drivers/net/cnic.c:2520: error: implicit declaration of function '__symbol_get' Michael Chan
2009-06-15  1:27             ` -git tree build failure #2: drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’ Mike Christie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A32A1E4.8080708@oracle.com \
    --to=randy.dunlap@oracle.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchan@broadcom.com \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.