Re: include/asm-generic/int-ll64.h kernel 2.6.31.4

From: Sam Ravnborg
Date: Thu Oct 22 2009 - 14:38:19 EST


> > On Tuesday 20 October 2009, Stephan von Krawczynski wrote:
> > > I lately compiled some app that stumbled across this, and someone smarter than
> > > me should judge if this is right or wrong:
> > >
> > >
> > > * asm-generic/int-ll64.h
> > > *
> > > * Integer declarations for architectures which use "long long"
> > > * for 64-bit types.
> > > */
> > >
> > > #ifndef _ASM_GENERIC_INT_LL64_H
> > > #define _ASM_GENERIC_INT_LL64_H
> > >
> > > #include <asm/bitsperlong.h>
> > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > >
> > >
> > > Is it correct to include from linked "asm" instead of asm-generic ?
> > >
> > > My link goes to "asm-x86" but for some reason asm-generic/types.h is included
> > > which ends at int-ll64.h trying to include a not existing bitsperlong.h from
> > > directory asm-x86.
> >
> > Hi Stephan,
> >
> > Most likely you are using the kernel headers in an unsupported way, like
> > trying to point to $(HOME)/linux-2.6/include for include files when building
> > an application.
> >
> > Please see http://kernelnewbies.org/KernelHeaders for how to fix that.
> >
> > Arnd <><
>
> I am the wrong person to tell that, the story belongs to keepalived.
keepalived - thats the application you try to build?
Check your settings of CFLAGS and do so for keepalivd too.
As Arnd tells you yhe wong kernel headers are used.
We cannot fix that for you - but you can patch it yourself or
ask keepalived folks to do so.


> Nevertheless reading other header files in the same dir makes me think that
> pointing to "asm" instead of "asm-generic" looks flakey, or why do others
> point to -generic then?
Look closer...
that file may have some arch specific things so you _must_ do the
asm include.
If you look at x86 you will see that the x86 specific version
of said file specify the value of __BITS_PER_LONG.
and that value is again dependent on your target (32 or 64 bit).

Sam
--
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/