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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070911124857.GW4840>