lkml.org 
[lkml]   [2005]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] m32r: set CHECKFLAGS properly
On Tue, Sep 27, 2005 at 03:13:01PM +0900, Hirokazu Takata wrote:
> Please don't specify __BIG_ENDIAN__. ;-)
> We have supported both big- and little-endian for the m32r kernel.
> I hope it will be kept unconditional.
>
> Now, the endianness is to be determined by a (cross)compiler:
> - For the big-endian, a compiler (m32r-linux-gcc or m32r-linux-gnu-gcc)
> provides a predefined macro __BIG_ENDIAN__.
> - For little-endian, a compiler (m32rle-linux-gcc or m32rle-linux-gnu-gcc)
> provides a predefined macro __LITTLE_ENDIAN__.
>
> Here is a modified patch.
>
> Thank you.

You do realize that this way sparse will get neither? It does not
pick predefined symbols from gcc; thus the -D<your_arch>, etc.

One solution would be to really run cross-gcc on something like

#define HAVE(x) -D##x=x
#ifdef __LITTLE_ENDIAN__
HAVE(__LITTLE_ENDIAN__)
#endif
#ifdef __BIG_ENDIAN__
HAVE(__BIG_ENDIAN__)
#endif

with grep -- -D on the output and have it added to CHECKFLAGS. The only
problem being, for a generic solution we want to make sure that this
sucker is run _after_ we have decided on gcc arguments.

Note that it's potentially more than just m32r - e.g. s390 wants
__s390x__ added only for case of 64bit target. Similar for powerpc
if these get merged, etc.

Sam, any help in that area? Ideally we want to have something equivalent
to
PREDEFINED_WE_MIGHT_WANT = __m32r__ __LITTLE_ENDIAN__ __BIG_ENDIAN__
and CHECKFLAGS done from that - basically, the subset of cross-gcc
predefined symbols reproduced for sparse. Ideally with -m64 added
if we have sizeof(long) == 8 on target, to take care of all that
crap in one go.

Suggestions?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-09-27 09:13    [W:0.189 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site