[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20080428093012.GE16379@cs181133002.pp.htv.fi>
Date: Mon, 28 Apr 2008 12:30:13 +0300
From: Adrian Bunk <bunk@...nel.org>
To: Roland Dreier <rdreier@...co.com>
Cc: linux-kernel@...r.kernel.org, tglx@...utronix.de, mingo@...e.hu
Subject: Re: Build failure (with insane config)
On Sun, Apr 27, 2008 at 08:34:12PM -0700, Roland Dreier wrote:
> For x86-64, arch/x86/lib/Makefile has:
>
> lib-y += csum-partial_64.o csum-copy_64.o csum-wrappers_64.o
>
> so in particular ip_compute_csum() (from csum-partial_64.c) gets put in
> libs, so even though it is exported, it gets thrown away at link time if
> there are no non-modular users.
>
> However, if someone has an insane config with CONFIG_NET=n and
> CONFIG_VIDEO_BT848=m, then ip_compute_csum() gets discarded but the
> modular code in drivers/media/video/bt8xx/bttv-cards.c calls it and...
>
> ERROR: "ip_compute_csum" [drivers/media/video/bt8xx/bttv.ko] undefined!
>
> I guess one fix is just to put at least csum-partial_64.c in obj-y
> instead; it does seem broken to have files with EXPORT_SYMBOL() be
> lib-y, since it is really an invitation for this problem. Other ideas
> would be for bttv to depend on or select CONFIG_NET.
>...
This isn't the first time csum-partial_64.c is involved in such a kind
of breakage (and we constantly have this kind of bugs with various
exports from lib-y), and EXPORT_SYMBOL's in lib-y are simply wrong and
always bugs waiting to happen.
Axing lib-y is somewhere low priority on my TODO list.
> - R.
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists