Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
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? Segher
RE: [PATCH] powerpc/tools: Don't quote $objdump in scripts
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)
Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
Segher Boessenkool writes: > 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. Spaces in their what? Who does that? :) Also we don't support it: $ pwd $ /home/michael/foo bar $ make clean Makefile:147: *** source directory cannot contain spaces or colons. Stop. cheers
Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
On Wed, Oct 30, 2019 at 10:55:03PM +1100, Michael Ellerman wrote: > Segher Boessenkool writes: > > 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. > > Spaces in their what? Who does that? :) I know, right? > Also we don't support it: > > $ pwd > $ /home/michael/foo bar > $ make clean > Makefile:147: *** source directory cannot contain spaces or colons. Stop. Of course. But it's shell scripting 101 that you *do* quote all variable expansions. Do you want to set a bad example? ;-) Segher
Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
On Thu, 2019-10-24 at 00:47:30 UTC, 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. > > Fixes: a71aa05e1416 ("powerpc: Convert relocs_check to a shell script using > grep") > Fixes: 4ea80652dc75 ("powerpc/64s: Tool to flag direct branches from > unrelocated interrupt vectors") > Signed-off-by: Michael Ellerman Applied to powerpc next. https://git.kernel.org/powerpc/c/e44ff9ea8f4c8a90c82f7b85bd4f5e497c841960 cheers