kexec-tools,kexec: Fix build with latest klibc

klibc has changed its signature of reboot() API
adapt the use here

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj
2019-03-15 00:22:40 -07:00
parent 3189c0dc8f
commit 60f872278d
4 changed files with 57 additions and 1 deletions

View File

@@ -0,0 +1,42 @@
From a6d1678379df6142a68cc9bb76dae540a31b8fdb Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 14 Mar 2019 23:47:50 -0700
Subject: [PATCH] kexecboot: Use new reboot() API with klibc
Klibc has changed this API in
https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=6b621b8705ce5901dcf49607c8a3523c9e521901
therefore adopt the code
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/kexecboot.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/kexecboot.c b/src/kexecboot.c
index cf49b40..c785fce 100644
--- a/src/kexecboot.c
+++ b/src/kexecboot.c
@@ -857,7 +857,7 @@ int process_ctx_menu(struct params_t *params, int action) {
#else
sync();
/* if ( -1 == reboot(LINUX_REBOOT_CMD_RESTART) ) { */
- if ( -1 == reboot(RB_AUTOBOOT) ) {
+ if ( -1 == reboot(RB_AUTOBOOT, NULL) ) {
log_msg(lg, "Can't initiate reboot: %s", ERRMSG);
}
#endif
@@ -874,7 +874,7 @@ int process_ctx_menu(struct params_t *params, int action) {
#else
sync();
/* if ( -1 == reboot(LINUX_REBOOT_CMD_POWER_OFF) ) { */
- if ( -1 == reboot(RB_POWER_OFF) ) {
+ if ( -1 == reboot(RB_POWER_OFF, NULL) ) {
log_msg(lg, "Can't initiate shutdown: %s", ERRMSG);
}
#endif
--
2.21.0

View File

@@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
PV = "0.6+git${SRCPV}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/kexecboot/kexecboot.git"
SRC_URI_append_libc-klibc = " file://0001-kexecboot-Use-new-reboot-API-with-klibc.patch "
SRCREV = "7409a1e0aaea61af87c4eca0149cec18a9f58ab6"
inherit autotools

View File

@@ -0,0 +1,11 @@
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
@@ -901,7 +901,7 @@ static int my_exec(void)
if (xen_present())
xen_kexec_exec();
else
- reboot(LINUX_REBOOT_CMD_KEXEC);
+ reboot(LINUX_REBOOT_CMD_KEXEC, NULL);
/* I have failed if I make it here */
fprintf(stderr, "kexec failed: %s\n",
strerror(errno));

View File

@@ -31,7 +31,8 @@ KLIBC_PATCHES += " \
file://0012-purgatory-string.c-avoid-inclusion-of-string.h.patch \
file://0013-sha256.h-avoid-inclusion-of-sys-types.h.patch \
file://0014-add-if_nameindex-from-musl.patch \
file://0015-vmcore-dmesg-fix-warning.patch"
file://0015-vmcore-dmesg-fix-warning.patch \
file://klibc-reboot.patch"
WARNING_FIXES = ""
FROM_OE_CORE = "file://arm_crashdump-fix-buffer-align.patch \