Date: Fri, 06 Jul 2001 15:08:04 +1000 From: Peter Jeremy <peter.jeremy@alcatel.com.au> To: Matthew Jacob <mjacob@feral.com> Cc: freebsd-current@FreeBSD.ORG Subject: Re: chgrp broken on alpha systems Message-ID: <20010706150804.B506@gsmx07.alcatel.com.au> In-Reply-To: <Pine.BSF.4.21.0107052012000.37078-100000@beppo>; from mjacob@feral.com on Thu, Jul 05, 2001 at 08:31:43PM -0700 References: <20010705173831.A15043@dragon.nuxi.com> <Pine.BSF.4.21.0107052012000.37078-100000@beppo>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2001-Jul-05 20:31:43 -0700, Matthew Jacob <mjacob@feral.com> wrote:
>Perhaps what we really need- and this is really a toolchain issues- is a
>compiler that is just as stringent on i386 as on alpha?
IMHO, the compiler _is_ just as stringent on i386 as Alpha (it's the
same compiler). IMHO, the problem splits into two categories:
Firstly, sizeof(long) (and sizeof(void *)) differ between the Alpha
and the i386. Secondly, there are cases where different architectures
map foo_t onto different primitive types. Both these problems are
very difficult to solve using a lint-like tool running on only one
architecture.
As examples of the latter, a quick diff of
/sys/{i386,alpha}/include/{ansi,types}.h reveals the following:
i386 type Alpha type
clock_t unsigned long int
ptrdiff_t int long
size_t unsigned int unsigned long
ssize_t int long
off_t __int64_t long
*physaddr { int r[1]; } { long r[1]; }
label_t { int [6]; } { long [10]; }
vm_offset_t unsigned int unsigned long
vm_ooffset_t __int64_t long
vm_pindex_t unsigned int unsigned long
vm_size_t unsigned int unsigned long
register_t __int32_t __int64_t
u_register_t __uint32_t __uint64_t
intfptr_t int long
uintfptr_t unsigned int unsigned long
Peter
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010706150804.B506>
