On Wed, Apr 18, 2018 at 06:54:42PM +0100, Russell King wrote: > 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 -. Hmm, I guess it's a result of: # echo $(( )) dash: 4: arithmetic expression: expecting primary: " " which points to the sed expression producing no output. If that's the case, then something else went wrong with the build earlier - there should be no case where the built vmlinux does not contain the __bss_start and __bss_stop symbols on ARM, since every kernel contains a .bss section. Olof's autobuilder shows no errors, but that could be because it's using bash - I don't know. kernelci.org also shows no failures. I think more information is needed to debug this, such as: - does nm of the vmlinux contain the __bss_start and __bss_stop symbols, and are they formatted as one would expect (iow, marked as a global BSS symbol?) - does the nm | sed pipeline produce the expected output when run outside of everything else? - does dash evaluate the output correctly outside of the makefile? As I'm not currently aware of a failing environment that I have access to, I'm not able to debug this myself, sorry. -- Russell King ARM architecture Linux Kernel maintainer -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html