Re: [PATCH -v5] kbuild: Add extra gcc checks

From: Borislav Petkov
Date: Thu Mar 10 2011 - 04:20:47 EST


On Thu, Mar 10, 2011 at 10:04:44AM +0100, Ingo Molnar wrote:
>
> * Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
>
> > > Another, related, very nice kbuild feature would be to allow for arch maintainers to
> > > mark certain files as "should only build fine without warnings" - i.e. -Werror
> > > should be the default. There would be a Kconfig feature to opt out of this,
> > > CONFIG_CC_IGNORE_WARNINGS=y or so. This would allow for people to still build the
> > > kernel with old (or buggy) versions of GCC.
> >
> > To add -Werror for all files conditionally you can do:
> >
> > ccflags-$(CONFIG_WERROR) += -Werror
> >
> > For individual files we can then drop -Werror like this:
> >
> > CFLAGS_REMOVE_foobar.o := -Werror
> >
> > So it should be doable with the existing infrastructure.
>
> Stupid question: is there an existing kbuild rule that i could use to enable -Werror
> for a single .o file, such as kernel/sched.o - without affecting other files in
> kernel/ that i do not maintain?
>
> Also, adding 3 lines per object file is pretty ugly - would it be possible to create
> a nicer, compact, single-line way to someone condense a CONFIG_ERROR opt-out
> mechanism, the -Werror default and the single-object-file into a single rule?
>
> Something like:
>
> obj-werror-y += sched.o

I believe you can do

CFLAGS_sched.o = -Werror

or similar but you'll have to try it out. I remember doing a more
involved per-object flags fumbling with the popcnt stuff, i.e. you might
want to take a look at d61931d89be506372d01a90d1755f6d0a9fafe2d where
we pass it an arch-specific config option so you can have per-object,
per-arch build flags :).

HTH.

--
Regards/Gruss,
Boris.
--
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/