Re: [PATCH] lib/atomic64_test: do not build on non-atomic64 systems

From: Andrew Morton
Date: Thu Oct 21 2010 - 18:55:34 EST


On Thu, 21 Oct 2010 18:23:37 -0400
Mike Frysinger <vapier@xxxxxxxxxx> wrote:

> On Thursday, October 21, 2010 18:02:50 Andrew Morton wrote:
> > On Sat, 16 Oct 2010 13:27:15 -0400 Mike Frysinger wrote:
> > > If the arch doesn't provide atomic64 functionality (there are quite a
> > > few), then don't bother trying to build this test.
> >
> > I don't get it. If the arch doesn't implement atomic64 then this file
> > will get zillions of build errors, won't it?
>
> ... which is why i added the ifdef protection

So the changelog was poor. Please write complete changelogs so I need
to have this sort of conversation less often?

Why doesn't this cause lots of you-broke-my-build complaints? Nobody's
running allmodonfig?

> > > diff --git a/lib/atomic64_test.c b/lib/atomic64_test.c
> > > index 250ed11..0ac1a66 100644
> > > --- a/lib/atomic64_test.c
> > > +++ b/lib/atomic64_test.c
> > > @@ -12,6 +12,8 @@
> > >
> > > #include <linux/kernel.h>
> > > #include <asm/atomic.h>
> > >
> > > +#ifdef ATOMIC64_INIT
> >
> > hm, that's a bit lazy. It should really use a CONFIG_HAVE_ thing. What
> > a pita.
>
> ATOMIC64_INIT is required for atomic64 headers to provide, and having a
> Kconfig knob doesnt gain anything else

I know that. But the standard way for an architecture to indicate to
the core that it impements a feature is for it to define CONFIG_HAVE_*.
Picking some related #define which architectures happen to implement
is atypical and unexpected.

Will it cause problems? Probably not, unless the arch goes and defines
ATOMIC64_INIT without actually implementing atomic64. But it's
atypical and unexpected and, yes, lazy!
--
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/