• Jisheng Zhang's avatar
    riscv: vdso: fix and clean-up Makefile · 772d7891
    Jisheng Zhang authored
    Running "make" on an already compiled kernel tree will rebuild the
    kernel even without any modifications:
    
      CALL    linux/scripts/checksyscalls.sh
      CALL    linux/scripts/atomic/check-atomics.sh
      CHK     include/generated/compile.h
      SO2S    arch/riscv/kernel/vdso/vdso-syms.S
      AS      arch/riscv/kernel/vdso/vdso-syms.o
      AR      arch/riscv/kernel/vdso/built-in.a
      AR      arch/riscv/kernel/built-in.a
      AR      arch/riscv/built-in.a
      GEN     .version
      CHK     include/generated/compile.h
      UPD     include/generated/compile.h
      CC      init/version.o
      AR      init/built-in.a
      LD      vmlinux.o
    
    The reason is "Any target that utilizes if_changed must be listed in
    $(targets), otherwise the command line check will fail, and the target
    will always be built" as explained by Documentation/kbuild/makefiles.rst
    
    Fix this build bug by adding vdso-syms.S to $(targets)
    
    At the same time, there are two trivial clean up modifications:
    
    - the vdso-dummy.o is not needed any more after so remove it.
    
    - vdso.lds is a generated file, so it should be prefixed with
      $(obj)/ instead of $(src)/
    
    Fixes: c2c81bb2 ("RISC-V: Fix the VDSO symbol generaton for binutils-2.35+")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJisheng Zhang <jszhang@kernel.org>
    Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    772d7891
Makefile 2.56 KB