[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