* Josh Poimboeuf <jpoim...@redhat.com> wrote: > On Tue, Nov 07, 2017 at 04:05:54PM +0100, Ingo Molnar wrote: > > > > * Josh Poimboeuf <jpoim...@redhat.com> 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
Yeah: triton:~/tip> ls -l /bin/sh lrwxrwxrwx 1 root root 4 Jul 28 2016 /bin/sh -> dash Mystery solved! :-) Thanks, Ingo