[LTP] [PATCH] configure: Check for KVM linker script support

Cyril Hrubis chrubis@suse.cz
Fri Jun 10 15:33:21 CEST 2022


Hi!
> Some toolchains don't fully support the KVM linker scripts. Disable KVM tests
> if linker check fails in configure script.
> 
> Signed-off-by: Martin Doucha <mdoucha@suse.cz>
> ---
>  configure.ac              | 14 ++++++++++++++
>  include/mk/features.mk.in |  3 +++
>  testcases/kernel/Makefile |  5 ++++-
>  3 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 816ebf820..88ecbafda 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -397,6 +397,20 @@ LTP_CHECK_TASKSTATS
>  test "x$with_tirpc" = xyes && LTP_CHECK_TIRPC
>  LTP_DETECT_HOST_CPU
>  
> +AC_MSG_CHECKING([whether linker can handle KVM payloads])
> +ltp_backup_ldflags=$LDFLAGS
> +LDFLAGS="$LDFLAGS -T ${srcdir}/testcases/kernel/kvm/linker/${HOST_CPU}.lds"
> +AC_LINK_IFELSE([AC_LANG_PROGRAM()],
> +  [
> +    AC_MSG_RESULT([yes])
> +    AC_SUBST([WITH_KVM_TESTSUITE],["yes"])
> +  ],
> +  [
> +    AC_MSG_RESULT([no])
> +    AC_SUBST([WITH_KVM_TESTSUITE],["no"])
> +  ])
> +LDFLAGS="$ltp_backup_ldflags"
> +
>  AC_OUTPUT
>  
>  cat << EOF
> diff --git a/include/mk/features.mk.in b/include/mk/features.mk.in
> index ecb15a0f7..802ee0ba8 100644
> --- a/include/mk/features.mk.in
> +++ b/include/mk/features.mk.in
> @@ -52,3 +52,6 @@ WITH_REALTIME_TESTSUITE		:= no
>  else
>  WITH_REALTIME_TESTSUITE		:= @WITH_REALTIME_TESTSUITE@
>  endif
> +
> +# Enable testcases/kernel/kvm compile and install?
> +WITH_KVM_TESTSUITE		:= @WITH_KVM_TESTSUITE@
> diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
> index c0fa24147..bf890e175 100644
> --- a/testcases/kernel/Makefile
> +++ b/testcases/kernel/Makefile
> @@ -29,7 +29,6 @@ SUBDIRS			+= connectors \
>  			   io \
>  			   ipc \
>  			   irq \
> -			   kvm \
>  			   logging \
>  			   mem \
>  			   numa \
> @@ -45,6 +44,10 @@ ifeq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes)
>  SUBDIRS			+= power_management
>  endif
>  
> +ifeq ($(WITH_KVM_TESTSUITE),yes)
> +SUBDIRS			+= kvm
> +endif

Skipping the whole directory will actually cause problems too, since the
runltp files does include the kvm_pagefault01 now which will obvious
fail because the binary would be missing.

I'm not sure what the best solution would be, maybe install dummy
libraries that just print TCONF in a case that linker does now work?

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list