Re: [PATCH v2 2/2] objtool: Move sync check to a script

From: Josh Poimboeuf
Date: Tue Nov 07 2017 - 10:11:33 EST


On Tue, Nov 07, 2017 at 04:05:54PM +0100, Ingo Molnar wrote:
>
> * Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>
> > On Tue, Nov 07, 2017 at 10:46:21AM +0100, Ingo Molnar wrote:
> > > Hm, this doesn't actually warn - it outputs the diff:
> > >
> > > triton:~/tip/tools/objtool> ./sync-check.sh
> > > triton:~/tip/tools/objtool> 99a100,109
> > > > /* Identifiers for segment registers */
> > > > #define INAT_SEG_REG_IGNORE 0
> > > > #define INAT_SEG_REG_DEFAULT 1
> > > > #define INAT_SEG_REG_CS 2
> > > > #define INAT_SEG_REG_SS 3
> > > > #define INAT_SEG_REG_DS 4
> > > > #define INAT_SEG_REG_ES 5
> > > > #define INAT_SEG_REG_FS 6
> > > > #define INAT_SEG_REG_GS 7
> > > >
> > >
> > > I fixed it to do:
> > >
> > > diff $file ../../$file > /dev/null ||
> > >
> > > (note the removal of '&')
> > >
> > > Then it outputs the right thing:
> > >
> > > triton:~/tip/tools/objtool> ./sync-check.sh
> > > Warning: synced file at 'tools/objtool/arch/x86/include/asm/inat.h' differs from latest kernel version at 'arch/x86/include/asm/inat.h'
> >
> > Ah. I guess '&>' is a bash-ism, shorthand for redirecting both stdout
> > and stderr. It worked for me with bash 4.4.12. I guess you used a
> > different default shell?
>
> No, I use bash too, but note that the script uses SH:
>
> #!/bin/sh

I guess your /bin/sh is different than mine :-)

$ ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Aug 8 06:03 /bin/sh -> bash

--
Josh