Discussion:
[PATCH v0] Fix broken Xen support in configure.ac
Eric DeVolder
2017-04-07 14:13:06 UTC
Permalink
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 <***@oracle.com>
Signed-off-by: Eric DeVolder <***@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
Daniel Kiper
2017-04-07 19:57:44 UTC
Permalink
Post by Eric DeVolder
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.
In general Reviewed-by: Daniel Kiper <***@oracle.com>
but two nitpicks.

You do not need v0 in subject if you post first patch. Plain
"[PATCH]" (of course without quotes) is sufficient.
Post by Eric DeVolder
---
...
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
/* The kexec_status call is available */
#define HAVE_KEXEC_CMD_STATUS 1
...
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
/* 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, Signed-off-by et consortes should be just
before first "---". Otherwise "git am" will drop all of them.

Daniel
Simon Horman
2017-04-08 13:02:59 UTC
Permalink
Post by Daniel Kiper
Post by Eric DeVolder
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.
but two nitpicks.
You do not need v0 in subject if you post first patch. Plain
"[PATCH]" (of course without quotes) is sufficient.
Post by Eric DeVolder
---
...
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
/* The kexec_status call is available */
#define HAVE_KEXEC_CMD_STATUS 1
...
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
/* 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, Signed-off-by et consortes should be just
before first "---". Otherwise "git am" will drop all of them.
Thanks, I have applied this with the tags above.

Eric, please consider following Daniels advice for future postings.
Loading...