On Sat, Jan 23, 2010 at 07:56:16PM +0800, Wu Zhangjin wrote:
> From: Wu Zhangjin <email@example.com>
> Date: Sat, 23 Jan 2010 19:56:16 +0800
> To: Ralf Baechle <firstname.lastname@example.org>
> Cc: Alexander Clouter <email@example.com>, firstname.lastname@example.org
> 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!