kbuild: replace BASH-specific ${@:2} with shift and ${@}
authorAndrii Nakryiko <andriin@fb.com>
Thu, 5 Sep 2019 17:59:38 +0000 (10:59 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 6 Sep 2019 16:51:55 +0000 (09:51 -0700)
${@: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@canb.auug.org.au>
Fixes: 341dfcf8d78e ("btf: expose BTF info through sysfs")
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Yonghong Song <yhs@fb.com>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
scripts/link-vmlinux.sh

index 0d8f41db8cd6e04a3fce6c6cfe9fcb300e6a4500..8c59970a09dce2bd272c99b2a157c81be75795e3 100755 (executable)
@@ -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