Messages in this thread | | | Date | Mon, 28 Apr 2008 12:30:13 +0300 | From | Adrian Bunk <> | 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
| |