Re: Modpost error after changing CONFIG_SOUND from m to y

From: Denys Vlasenko
Date: Mon Jul 12 2010 - 13:40:57 EST


On Mon, Jul 12, 2010 at 7:28 PM, Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> On Mon, Jul 12, 2010 at 07:11:47PM +0200, Denys Vlasenko wrote:
>> On Mon, Jul 12, 2010 at 7:03 PM, Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote:
>> > On Mon, 12 Jul 2010 05:54:16 +0200 Denys Vlasenko wrote:
>> >> I was using the same .config for my home machine for a long time,
>> >> updating it using "make oldconfig" every time I moved to newer kernel.
>> >> It worked fine for many kernels.
>> >>
>> >> In this .config I had CONFIG_SOUND=m.
>> >>
>> >> Starting witn 2.6.34, build fails with
>> >>
>> >> sound/core/sound_oss.c:25:2: error: #error "Enable the OSS soundcore multiplexer (CONFIG_SOUND) in the kernel."
>> >>
>> >> Ok. I changed CONFIG_SOUND to y. Now the build fails at modpost:
>> >
>> > Hi,
>> > I can't get the build to fail (2.6.34 or 2.6.35-rc4-git4).
>> > Please provide a full/complete .config file (and that will include a
>> > kernel version number :).
>>
>> I found out that build only fails if I give empty CFLAGS_KERNEL
>> and CFLAGS_MODULE variables to make, like this:
>>
>> make CFLAGS_KERNEL="" CFLAGS_MODULE=""
>
> Messing around with kernel internal flags is bound to give
> unpredictable bugs.

Documentation/kbuild/makefiles.txt says:

--- 6.1 Set variables to tweak the build to the architecture

...

CFLAGS_KERNEL $(CC) options specific for built-in

$(CFLAGS_KERNEL) contains extra C compiler flags used to compile
resident kernel code.

CFLAGS_MODULE $(CC) options specific for modules

$(CFLAGS_MODULE) contains extra C compiler flags used to compile code
for loadable kernel modules.

My reading of that file is these are *the* variables specifically
reserved for this role. Not CFLAGS, EXTRA_CFLAGS etc.

--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/