Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts

2019-10-24 Thread Segher Boessenkool
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

2019-10-25 Thread David Laight
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

2019-10-30 Thread Michael Ellerman
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

2019-10-30 Thread Segher Boessenkool
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

2019-11-07 Thread Michael Ellerman
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