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

Sam Ravnborg
2008-12-13T20:46:01Z

> >>
> >>>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.
>
> A m68k-uclinux- gcc will. From a gcc-4.2.4
>
> m68k-uclinux-gcc -E -dM /tmp/foo.h | grep -i linux
>
> #define __linux 1
> #define __linux__ 1
> #define __uClinux__ 1
> #define __gnu_linux__ 1
> #define linux 1
>
> (I think that is one of the very few differences of m68k-linux
> over m68k-uclinux...)
>
> I would rather just have a m68k-linux myself, and not have a
> separate m68k-uclinux toolchain.

A precondition for this is I expect a unified ABI for m68k and m68knommu.
With the merged headers it is now much more obvious where the ABI differs,
so fixing the ABI differences now got one step easier.

Sam