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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux