* [PATCH] powerpc/tools: Don't quote $objdump in scripts
@ 2019-10-24 0:47 Michael Ellerman
2019-10-24 17:28 ` Segher Boessenkool
2019-11-07 3:45 ` Michael Ellerman
0 siblings, 2 replies; 6+ messages in thread
From: Michael Ellerman @ 2019-10-24 0:47 UTC (permalink / raw)
To: linuxppc-dev
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 <mpe@ellerman.id.au>
---
arch/powerpc/tools/relocs_check.sh | 2 +-
arch/powerpc/tools/unrel_branch_check.sh | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/tools/relocs_check.sh b/arch/powerpc/tools/relocs_check.sh
index 2b4e959caa36..7b9fe0a567cf 100755
--- a/arch/powerpc/tools/relocs_check.sh
+++ b/arch/powerpc/tools/relocs_check.sh
@@ -20,7 +20,7 @@ objdump="$1"
vmlinux="$2"
bad_relocs=$(
-"$objdump" -R "$vmlinux" |
+$objdump -R "$vmlinux" |
# Only look at relocation lines.
grep -E '\<R_' |
# These relocations are okay
diff --git a/arch/powerpc/tools/unrel_branch_check.sh b/arch/powerpc/tools/unrel_branch_check.sh
index 1e972df3107e..77114755dc6f 100755
--- a/arch/powerpc/tools/unrel_branch_check.sh
+++ b/arch/powerpc/tools/unrel_branch_check.sh
@@ -18,14 +18,14 @@ vmlinux="$2"
#__end_interrupts should be located within the first 64K
end_intr=0x$(
-"$objdump" -R "$vmlinux" -d --start-address=0xc000000000000000 \
+$objdump -R "$vmlinux" -d --start-address=0xc000000000000000 \
--stop-address=0xc000000000010000 |
grep '\<__end_interrupts>:' |
awk '{print $1}'
)
BRANCHES=$(
-"$objdump" -R "$vmlinux" -D --start-address=0xc000000000000000 \
+$objdump -R "$vmlinux" -D --start-address=0xc000000000000000 \
--stop-address=${end_intr} |
grep -e "^c[0-9a-f]*:[[:space:]]*\([0-9a-f][0-9a-f][[:space:]]\)\{4\}[[:space:]]*b" |
grep -v '\<__start_initialization_multiplatform>' |
--
2.21.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
2019-10-24 0:47 [PATCH] powerpc/tools: Don't quote $objdump in scripts Michael Ellerman
@ 2019-10-24 17:28 ` Segher Boessenkool
2019-10-25 8:53 ` David Laight
2019-10-30 11:55 ` Michael Ellerman
2019-11-07 3:45 ` Michael Ellerman
1 sibling, 2 replies; 6+ messages in thread
From: Segher Boessenkool @ 2019-10-24 17:28 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH] powerpc/tools: Don't quote $objdump in scripts
2019-10-24 17:28 ` Segher Boessenkool
@ 2019-10-25 8:53 ` David Laight
2019-10-30 11:55 ` Michael Ellerman
1 sibling, 0 replies; 6+ messages in thread
From: David Laight @ 2019-10-25 8:53 UTC (permalink / raw)
To: 'Segher Boessenkool', Michael Ellerman; +Cc: linuxppc-dev
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)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
2019-10-24 17:28 ` Segher Boessenkool
2019-10-25 8:53 ` David Laight
@ 2019-10-30 11:55 ` Michael Ellerman
2019-10-30 23:27 ` Segher Boessenkool
1 sibling, 1 reply; 6+ messages in thread
From: Michael Ellerman @ 2019-10-30 11:55 UTC (permalink / raw)
To: Segher Boessenkool; +Cc: linuxppc-dev
Segher Boessenkool <segher@kernel.crashing.org> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
2019-10-30 11:55 ` Michael Ellerman
@ 2019-10-30 23:27 ` Segher Boessenkool
0 siblings, 0 replies; 6+ messages in thread
From: Segher Boessenkool @ 2019-10-30 23:27 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
On Wed, Oct 30, 2019 at 10:55:03PM +1100, Michael Ellerman wrote:
> Segher Boessenkool <segher@kernel.crashing.org> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] powerpc/tools: Don't quote $objdump in scripts
2019-10-24 0:47 [PATCH] powerpc/tools: Don't quote $objdump in scripts Michael Ellerman
2019-10-24 17:28 ` Segher Boessenkool
@ 2019-11-07 3:45 ` Michael Ellerman
1 sibling, 0 replies; 6+ messages in thread
From: Michael Ellerman @ 2019-11-07 3:45 UTC (permalink / raw)
To: Michael Ellerman, linuxppc-dev
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 <mpe@ellerman.id.au>
Applied to powerpc next.
https://git.kernel.org/powerpc/c/e44ff9ea8f4c8a90c82f7b85bd4f5e497c841960
cheers
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-11-07 8:23 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-24 0:47 [PATCH] powerpc/tools: Don't quote $objdump in scripts Michael Ellerman
2019-10-24 17:28 ` Segher Boessenkool
2019-10-25 8:53 ` David Laight
2019-10-30 11:55 ` Michael Ellerman
2019-10-30 23:27 ` Segher Boessenkool
2019-11-07 3:45 ` Michael Ellerman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).