On Sat, Jan 23, 2010 at 07:56:16PM +0800, Wu Zhangjin wrote: > From: Wu Zhangjin <wuzhangjin@xxxxxxxxx> > Date: Sat, 23 Jan 2010 19:56:16 +0800 > To: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > Cc: Alexander Clouter <alex@xxxxxxxxxxxxx>, linux-mips@xxxxxxxxxxxxxx > Subject: Re: [PATCHv2] MIPS: fix vmlinuz build for 32bit-only math shells > Content-Type: text/plain; charset="UTF-8" > > On Fri, 2010-01-22 at 15:52 +0100, Ralf Baechle wrote: > > On Wed, Jan 20, 2010 at 08:50:07PM +0000, Alexander Clouter wrote: > > > > > Counter to the documentation for the dash shell, it seems that on my > > > x86_64 filth under Debian only does 32bit math. As I have configured my > > > > POSIX apparently specifies at least "long" type arithmetic for shells, so > > if your dash indeed is a 64-bit binary it's in violation of POSIX. What > > does > > > > file $(which $SHELL) > > > > say? > > > > The dash binary on my Fedora 12 i386 seems to perform 64-bit arithmetic. > > > > Hi, Ralf > > on my yeeloong laptop, with dash(0.5.5.1-3) in o32 ABI, it also can only > execute 32-bit numbers, but on my thinkpad SL400(i686, dash version is > 0.5.5.1-2), it works well with 64-bit arithmetic. > > So, it means dash not always works normally, perhaps there is a bug > there, or the bug only exists on MIPS machines? Well, I was wondering if the dash being used by Alexander is simply defect. However in the end that doesn't matter; we try to restrict the build environment to just a standard POSIX environment - or at least as close as possible and that means we can only expect $((<expression)) to perform 32-bit arithmetic. I've applied the patch for now but this is ugly. I was even considering if a small host C program that does the math is the lesser evil. That said, applied. Thanks folks! Ralf