From: Greg Ungerer <gerg@snapgear.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Sam Ravnborg <sam@ravnborg.org>, Arnd Bergmann <arnd@arndb.de>,
Roman Zippel <zippel@linux-m68k.org>,
linux-m68k <linux-m68k@vger.kernel.org>,
Greg Ungerer <gerg@uclinux.org>,
uclinux-dev <uclinux-dev@uclinux.org>,
linux-kbuild <linux-kbuild@vger.kernel.org>
Subject: Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
Date: Fri, 12 Dec 2008 15:40:10 +1000 [thread overview]
Message-ID: <4941F93A.7090604@snapgear.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0812110932510.7310@anakin>
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.
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.
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com
SnapGear, a McAfee Company PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
next prev parent reply other threads:[~2008-12-12 5:45 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-08 20:58 Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm Sam Ravnborg
2008-12-08 22:53 ` Sam Ravnborg
2008-12-08 22:53 ` Sam Ravnborg
2008-12-08 23:01 ` Geert Uytterhoeven
2008-12-08 23:01 ` Geert Uytterhoeven
2008-12-08 23:26 ` Arnd Bergmann
2008-12-09 5:45 ` Sam Ravnborg
2008-12-09 8:24 ` Geert Uytterhoeven
2008-12-09 9:45 ` Andreas Schwab
2008-12-09 9:45 ` Andreas Schwab
2008-12-09 11:02 ` Arnd Bergmann
2008-12-09 18:04 ` Sam Ravnborg
2008-12-11 8:33 ` Geert Uytterhoeven
2008-12-11 9:38 ` Andreas Schwab
2008-12-11 9:38 ` Andreas Schwab
2008-12-11 16:48 ` Arnd Bergmann
2008-12-11 20:16 ` Geert Uytterhoeven
2008-12-13 16:16 ` Arnd Bergmann
2008-12-12 5:40 ` Greg Ungerer [this message]
2008-12-13 20:46 ` Sam Ravnborg
2008-12-13 20:43 ` Sam Ravnborg
2008-12-09 16:54 ` [uClinux-dev] " Allon Stern
2008-12-09 16:54 ` Allon Stern
2008-12-09 17:39 ` [uClinux-dev] " Geert Uytterhoeven
2008-12-11 15:44 ` Allon Stern
2008-12-12 5:22 ` Greg Ungerer
2008-12-12 5:22 ` Greg Ungerer
2008-12-13 20:52 ` Sam Ravnborg
[not found] ` <20081213205828.GD27748@uranus.ravnborg.org>
2008-12-14 16:13 ` [PATCH] m68k,m68knommu: merge header files Geert Uytterhoeven
[not found] ` <49707AE0.1040803@opengear.com>
2009-01-16 12:57 ` Geert Uytterhoeven
2009-01-16 12:57 ` Geert Uytterhoeven
2009-01-16 14:21 ` Greg Ungerer
2009-01-16 14:21 ` Greg Ungerer
2009-01-16 14:34 ` Sam Ravnborg
2009-01-16 21:53 ` Geert Uytterhoeven
2009-01-16 22:19 ` Greg Ungerer
2009-01-16 22:19 ` Greg Ungerer
2008-12-13 20:52 ` Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm Sam Ravnborg
-- strict thread matches above, loose matches on Subject: below --
2008-12-08 20:58 Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4941F93A.7090604@snapgear.com \
--to=gerg@snapgear.com \
--cc=arnd@arndb.de \
--cc=geert@linux-m68k.org \
--cc=gerg@uclinux.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=uclinux-dev@uclinux.org \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.