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 <s...@canb.auug.org.au>
> Fixes: 341dfcf8d78e ("btf: expose BTF info through sysfs")
> Cc: Stephen Rothwell <s...@canb.auug.org.au>
> Cc: Masahiro Yamada <yamada.masah...@socionext.com>
> Signed-off-by: Andrii Nakryiko <andr...@fb.com>

Tested with bash/sh/csh, all works.
Acked-by: Yonghong Song <y...@fb.com>

> ---
>   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
> 

Reply via email to