Re: [announce] new tree: "fix all build warnings, on all configs"

From: Ingo Molnar
Date: Fri Oct 17 2008 - 14:06:20 EST



* Roland Dreier <rdreier@xxxxxxxxx> wrote:

> > diff --git a/drivers/net/mlx4/mcg.c b/drivers/net/mlx4/mcg.c
> > index c83f88c..d1230a8 100644
> > --- a/drivers/net/mlx4/mcg.c
> > +++ b/drivers/net/mlx4/mcg.c
> > @@ -215,7 +215,7 @@ int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
> >
> > if (block_mcast_loopback)
> > mgm->qp[members_count++] = cpu_to_be32((qp->qpn & MGM_QPN_MASK) |
> > - (1 << MGM_BLCK_LB_BIT));
> > + (1U << MGM_BLCK_LB_BIT));
>
> This is fixing a warning caused by a gcc bug
> (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37261) which is fixed
> upstream. The change is rather inoffensive but on the other hand I'm
> not sure what our policy for dealing with version-specific warning
> bugs in gcc should be.

the full commit is below - i researched it when i created it and indeed
it seemed like an incorrect warning.

OTOH, there should be a well-defined work flow to keep this all
manageable: once we know why a warning triggers and it has been
categorized by a human, we should get rid of the warning in some way.

Applying this patch as-is would be one option. Annotating it with a
specific gcc version would be overkill i think. Ignoring it would be
bad, because there's real value in standardizing on a "no warnings"
build output. Many new warnings get introduced because people do not
notice new warnings amongst the very high baseline noise of the kernel
build.

What do you think?

Ingo

--------->