Date: Tue, 11 Sep 2007 22:48:57 +1000 From: Andrew Milton <akm@theinternet.com.au> To: Luigi Rizzo <rizzo@icir.org> Cc: current@freebsd.org Subject: Re: how to tell 64 vs 32 bit architecture ? Message-ID: <20070911124857.GW4840@camelot.theinternet.com.au> In-Reply-To: <20070911123556.GF53667@deviant.kiev.zoral.com.ua> References: <20070906111028.A83649@xorpc.icir.org> <20070906222647.GB2737@kobe.laptop> <20070907000950.A91211@xorpc.icir.org> <20070907115021.GA2718@kobe.laptop> <20070907050310.A94579@xorpc.icir.org> <54b90fdf0709070654h103316f3sa3d423f4ff75fee3@mail.gmail.com> <20070911051653.A62022@xorpc.icir.org> <20070911123556.GF53667@deviant.kiev.zoral.com.ua>
index | next in thread | previous in thread | raw e-mail
On Tue, Sep 11, 2007 at 05:16:53AM -0700, Luigi Rizzo wrote:
>
> gcc 3.4 on a 32bit machine complains because the second constant
> is too large.
Can I ask why the 64 bit constant isn't 0xd00de123deadbeef , which would make
bits 0-31 the same for both architectures, which might simplify the problem.
#define MY_MAGIC 0xd00de123deadbeefLL
int main(int argc, char **argv)
{
printf("0x%08x\n", MY_MAGIC);
}
outputs 0xdeadbeef on 32 bit architectures, so it IS truncating the top 32
bits.
I know this doesn't solve the broader problem of detecting word length, but,
it might solve your immediate problem.
--
Andrew Milton
akm@theinternet.com.au
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070911124857.GW4840>
