From: Segher Boessenkool > Sent: 24 October 2019 18:29 > On Thu, Oct 24, 2019 at 11:47:30AM +1100, Michael Ellerman wrote: > > Some of our scripts are passed $objdump and then call it as > > "$objdump". This doesn't work if it contains spaces because we're > > using ccache, for example you get errors such as: > > > > ./arch/powerpc/tools/relocs_check.sh: line 48: ccache ppc64le-objdump: No > > such file or directory > > ./arch/powerpc/tools/unrel_branch_check.sh: line 26: ccache > > ppc64le-objdump: No such file or directory > > > > Fix it by not quoting the string when we expand it, allowing the shell > > to do the right thing for us. > > This breaks things for people with spaces in their paths. Why doesn't your > user use something like alias objdump="ccache ppc64le-objdump" , instead?
Given that make doesn't handle spaces in filenames it is likely that a build will have terrible issues is there are spaces in any directory names. (It is a right PITA running make on a certain OS.) For command paths, spaces can be replaced by ? relying on shell globbing to restore the space. OTOH rather than alias, put the name of a script containing: #! /bin/sh exec ccache ppc64le-objdump "$@" into $objdump. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)