[PATCH v0] Fix broken Xen support in configure.ac

Eric DeVolder eric.devolder at oracle.com
Fri Apr 7 07:13:06 PDT 2017


Commit 2cf7cb9a "kexec: implemented XEN KEXEC STATUS to determine
if an image is loaded" added configure-time detection of the
kexec_status() call, but in doing so had the unintended side
effect of disabling support for Xen altogether due to the
missing HAVE_LIBXENCTRL=1. This corrects the broken behavior
while still maintaining the original intention of detecting
support for kexec_status() call.

---
Broken behavior (HAVE_LIBXENCTRL is missing altogether):
  ...
  checking xenctrl.h usability... yes
  checking xenctrl.h presence... yes
  checking for xenctrl.h... yes
  checking for xc_kexec_load in -lxenctrl... yes
  checking for xc_kexec_status in -lxenctrl... yes

  in include/config.h:
  /* The kexec_status call is available */
  #define HAVE_KEXEC_CMD_STATUS 1

Fixed behaviour (restores HAVE_LIBXENCTRL):
  ...
  checking xenctrl.h usability... yes
  checking xenctrl.h presence... yes
  checking for xenctrl.h... yes
  checking for xc_kexec_load in -lxenctrl... yes
  checking for xc_kexec_status in -lxenctrl... yes

  in include/config.h:
  /* The kexec_status call is available */
  #define HAVE_KEXEC_CMD_STATUS 1
  /* Define to 1 if you have the `xenctrl' library (-lxenctrl). */
  #define HAVE_LIBXENCTRL 1

Reported-and-Tested-by: Konrad Rzeszutek Wilk <konrad.wilk at oracle.com>
Signed-off-by: Eric DeVolder <eric.devolder at oracle.com>
---
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 53fffc3..87a9ac8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -165,9 +165,9 @@ fi
 dnl find Xen control stack libraries
 if test "$with_xen" = yes ; then
 	AC_CHECK_HEADER(xenctrl.h,
-		[AC_CHECK_LIB(xenctrl, xc_kexec_load, [ have_xenctrl_h=yes ],
+		[AC_CHECK_LIB(xenctrl, xc_kexec_load, ,
 		AC_MSG_NOTICE([Xen support disabled]))])
-		if test "$have_xenctrl_h" = yes ; then
+		if test "$ac_cv_lib_xenctrl_xc_kexec_load" = yes ; then
 			AC_CHECK_LIB(xenctrl, xc_kexec_status,
 				AC_DEFINE(HAVE_KEXEC_CMD_STATUS, 1,
 					[The kexec_status call is available]),
-- 
2.7.4




More information about the kexec mailing list