On 9/5/19 10:59 AM, Andrii Nakryiko wrote: > ${@:2} is BASH-specific extension, which makes link-vmlinux.sh rely on > BASH. Use shift and ${@} instead to fix this issue. > > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Fixes: 341dfcf8d78e ("btf: expose BTF info through sysfs") > Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> Tested with bash/sh/csh, all works. Acked-by: Yonghong Song <yhs@xxxxxx> > --- > scripts/link-vmlinux.sh | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index 0d8f41db8cd6..8c59970a09dc 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -57,12 +57,16 @@ modpost_link() > > # Link of vmlinux > # ${1} - output file > -# ${@:2} - optional extra .o files > +# ${2}, ${3}, ... - optional extra .o files > vmlinux_link() > { > local lds="${objtree}/${KBUILD_LDS}" > + local output=${1} > local objects > > + # skip output file argument > + shift > + > if [ "${SRCARCH}" != "um" ]; then > objects="--whole-archive \ > ${KBUILD_VMLINUX_OBJS} \ > @@ -70,9 +74,10 @@ vmlinux_link() > --start-group \ > ${KBUILD_VMLINUX_LIBS} \ > --end-group \ > - ${@:2}" > + ${@}" > > - ${LD} ${KBUILD_LDFLAGS} ${LDFLAGS_vmlinux} -o ${1} \ > + ${LD} ${KBUILD_LDFLAGS} ${LDFLAGS_vmlinux} \ > + -o ${output} \ > -T ${lds} ${objects} > else > objects="-Wl,--whole-archive \ > @@ -81,9 +86,10 @@ vmlinux_link() > -Wl,--start-group \ > ${KBUILD_VMLINUX_LIBS} \ > -Wl,--end-group \ > - ${@:2}" > + ${@}" > > - ${CC} ${CFLAGS_vmlinux} -o ${1} \ > + ${CC} ${CFLAGS_vmlinux} \ > + -o ${output} \ > -Wl,-T,${lds} \ > ${objects} \ > -lutil -lrt -lpthread >