Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm

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

 



On Thu, 11 Dec 2008, Geert Uytterhoeven wrote:
> On Tue, 9 Dec 2008, Sam Ravnborg wrote:
> > 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.
> 
> Any comments from the m68knommu toolchain people?
> 
> None of my m68k-linux compilers set __uClinux__, as expected.

Can't we unifdef out in scripts/headers_install.pl based on CONFIG_MMU?

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds
--
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