Messages in this thread | | | Date | Wed, 30 Apr 2008 10:13:45 +0200 | From | Ingo Molnar <> | Subject | Re: [patch, -git] drivers/media build fix for modular builds |
| |
* David Miller <davem@davemloft.net> wrote:
> From: Ingo Molnar <mingo@elte.hu> > Date: Wed, 30 Apr 2008 09:48:07 +0200 > > > > > fix allmodconfig build bug introduced in latest -git by commit > > 7c91f0624a9 ("V4L/DVB(7767): Move tuners to common/tuners"): > > > > LD kernel/built-in.o > > LD drivers/built-in.o > > ld: drivers/media/built-in.o: No such file: No such file or directory > > > > which happens if all media drivers are modular: > > I was seeing this too, as I think was Stephen Rothwell.
i think any build which has the media drivers only as modules will trigger it, so it's rather widespread. My fix has held up fine for 10 randconfigs so far so it should do the trick.
i'm wondering though why similar problems are not more common. A quick look at drivers/Makefile suggests that there are many obj-y rules there for driver sub-trees that can be all-modular, not just video:
obj-y += video/ obj-y += char/ obj-y += serial/ obj-y += base/ block/ misc/ mfd/ net/ media/ obj-y += macintosh/ obj-y += ieee1394/ obj-y += cdrom/ obj-y += auxdisplay/ obj-y += i2c/ obj-y += lguest/ obj-y += firmware/
drivers/net/ obj-y is kept alive by the "obj-y wireless/" rule i think, but what makes other sub-trees link, like drivers/macintosh/ ?
so kbuild apparently has smarts to handle this case - but somehow it still failed for drivers/media/.
Sam Cc:-ed - am i missing some detail in this analysis?
hm, one weird rule is drivers/video/matrox/Makefile's my-obj- rule.
Ingo
| |