Re: linux-next: build failure after merge of the arm-current tree

From: Russell King
Date: Wed Apr 18 2018 - 13:55:02 EST


On Wed, Apr 18, 2018 at 01:31:55PM +1000, Stephen Rothwell wrote:
> Hi Russell,
>
> After merging the arm-current tree, today's linux-next build
> (lots of configs) failed like this:
>
> /bin/sh: 1: arithmetic expression: expecting primary: " "
> (lots of these)
>
> Caused by commit
>
> fe680ca02c1e ("ARM: replace unnecessary perl with sed and the shell $(( )) operator")
>
> (pointed out by Michael Ellerman)
>
> Our /bin/sh is dash not bash ...

I tested this on 32-bit ARM with dash:

foo# dash
# echo $(($(nm /boot/vmlinux-4.16.0+ | sed -n -e 's/^\([^ ]*\) B __bss_start$/-0x\1/p' -e 's/^\([^ ]*\) B __bss_stop$/+0x\1/p') ))
6409680
#

Any clues what '/bin/sh: 1: arithmetic expression: expecting primary: " "'
actually means in reality?

I don't see why you should end up with lots of them either, unless maybe
the sed expression isn't working for you.

The sed expression should end up producing output such as:

-0xc09138c4
+0xc0f30694

and that's it, two values, one preceded by a + and the other by a -.

--
Russell King
ARM architecture Linux Kernel maintainer