On Tue, Dec 09, 2008 at 12:26:05AM +0100, Arnd Bergmann wrote:
> On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > > I have used the following include guard:
> > > 
> > > #ifdef __uClinux__
> > > #include "atomic_no.h"
> > > #else
> > > #include "atomic_mm.h"
> > > #endif
> > > 
> > > gcc -E -dM for the two compilers revealed that this was the
> > > only symbol that differed.
> > 
> > I think you can share a toolchain for m68k and m68knommu, at least for the
> > kernel (I used my plain m68k toolchain when experimenting with m68knommu for
> > Amiga).
> > 
> > > With the above construct we do the "right thing" also for
> > > headers exported to userspace.
> > > But actually none of the headers using the above are
> > > subject for export at the moment so we could use a
> > > CONFIG_ symbol for the same.
> > 
> > So I prefer to just check CONFIG_MMU.
> 
> Some of them are, by means of include/asm-generic/Kbuild.asm, e.g.
> unistd.h!
I was fooled by make headers_check showing no errros.
But it turns out that headers_check does not recognize
includes made with "".

So I will update the patch to include revevant *_{no,mm}.h files
in Kbuild.

> 
> I'm not sure if it's entirely correct, but I think you can use
> 
> #ifdef __KERNEL__
> # ifdef CONFIG_MMU
> #  include "atomic_mm.h
> # else
> #  include "atomic_no.h
> # endif
> #else
> # ifndef __uClinux__
> #  include "atomic_mm.h
> # else
> #  include "atomic_no.h
> # endif
> #endif

Can someone with a shared (m68k/m68knommu) please check if
__uClinux__ is only set in the m68knommu case.

Use:

    touch foo.h; gcc -E -dM

to see what is defined by the compiler.
You will also need to specify if this is for m68k or m68knommu.

Thanks,
        Sam
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to