1. 14 Jul, 2023 2 commits
    • John Hubbard's avatar
      selftests/arm64: fix build failure during the "emit_tests" step · 569f8b50
      John Hubbard authored
      The build failure reported in [1] occurred because commit <9fc96c7c>
      ("selftests: error out if kernel header files are not yet built") added
      a new "kernel_header_files" dependency to "all", and that triggered
      another, pre-existing problem. Specifically, the arm64 selftests
      override the emit_tests target, and that override improperly declares
      itself to depend upon the "all" target.
      
      This is a problem because the "emit_tests" target in lib.mk was not
      intended to be overridden. emit_tests is a very simple, sequential build
      target that was originally invoked from the "install" target, which in
      turn, depends upon "all".
      
      That approach worked for years. But with 9fc96c7c in place,
      emit_tests failed, because it does not set up all of the elaborate
      things that "install" does. And that caused the new
      "kernel_header_files" target (which depends upon $(KBUILD_OUTPUT) being
      correct) to fail.
      
      Some detail: The "all" target is .PHONY. Therefore, each target that
      depends on "all" will cause it to be invoked again, and because
      dependencies are managed quite loosely in the selftests Makefiles, many
      things will run, even "all" is invoked several times in immediate
      succession. So this is not a "real" failure, as far as build steps go:
      everything gets built, but "all" reports a problem when invoked a second
      time from a bad environment.
      
      To fix this, simply remove the unnecessary "all" dependency from the
      overridden emit_tests target. The dependency is still effectively
      honored, because again, invocation is via "install", which also depends
      upon "all".
      
      An alternative approach would be to harden the emit_tests target so that
      it can depend upon "all", but that's a lot more complicated and hard to
      get right, and doesn't seem worth it, especially given that emit_tests
      should probably not be overridden at all.
      
      [1] https://lore.kernel.org/20230710-kselftest-fix-arm64-v1-1-48e872844f25@kernel.org
      
      Fixes: 9fc96c7c ("selftests: error out if kernel header files are not yet built")
      Reported-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarJohn Hubbard <jhubbard@nvidia.com>
      Tested-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      569f8b50
    • John Hubbard's avatar
      selftests/riscv: fix potential build failure during the "emit_tests" step · c77896b1
      John Hubbard authored
      The riscv selftests (which were modeled after the arm64 selftests) are
      improperly declaring the "emit_tests" target to depend upon the "all"
      target. This approach, when combined with commit 9fc96c7c
      ("selftests: error out if kernel header files are not yet built"), has
      caused build failures [1] on arm64, and is likely to cause similar
      failures for riscv.
      
      To fix this, simply remove the unnecessary "all" dependency from the
      emit_tests target. The dependency is still effectively honored, because
      again, invocation is via "install", which also depends upon "all".
      
      An alternative approach would be to harden the emit_tests target so that
      it can depend upon "all", but that's a lot more complicated and hard to
      get right, and doesn't seem worth it, especially given that emit_tests
      should probably not be overridden at all.
      
      [1] https://lore.kernel.org/20230710-kselftest-fix-arm64-v1-1-48e872844f25@kernel.org
      
      Fixes: 9fc96c7c ("selftests: error out if kernel header files are not yet built")
      Signed-off-by: default avatarJohn Hubbard <jhubbard@nvidia.com>
      Tested-by: default avatarAlexandre Ghiti <alexghiti@rivosinc.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      c77896b1
  2. 13 Jul, 2023 2 commits
  3. 09 Jul, 2023 10 commits
  4. 08 Jul, 2023 26 commits