[oe-commits] [meta-openembedded] 24/77: kexec-tools-klibc: fix build for qemuarm64

git at git.openembedded.org git at git.openembedded.org
Mon Sep 10 05:08:34 UTC 2018


This is an automated email from the git hooks/post-receive script.

khem pushed a commit to branch master-next
in repository meta-openembedded.

commit d1efc0181d5a2bcee3099a96d9b7f2c890029d87
Author: Andrea Adami <andrea.adami at gmail.com>
AuthorDate: Wed Sep 5 17:45:26 2018 +0200

    kexec-tools-klibc: fix build for qemuarm64
    
    Since c3f043241a86 upstream the getrandom() syscall is used.
    Last recipe bump overlooked that.
    
    The syscall has been added to OE's klibc so we can fix this.
    
    Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
    Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 ...-arm64.c-workaround-for-getrandom-syscall.patch | 61 ++++++++++++++++++++++
 .../recipes-kernel/kexec/kexec-tools-klibc_git.bb  |  3 +-
 2 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
new file mode 100644
index 0000000..b22ac3a
--- /dev/null
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
@@ -0,0 +1,61 @@
+From 10afeecd10499fbd64b2c68d3b076c6906df441f Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami at gmail.com>
+Date: Wed, 5 Sep 2018 17:07:48 +0200
+Subject: [PATCH] kexec-arm64.c: workaround for getrandom() syscall
+
+The syscall was added to OE's klibc.
+Fix
+
+| ../git/kexec/arch/arm64/kexec-arm64.c:19:10: fatal error: syscall.h: No such file or directory
+|  #include <syscall.h>
+
+and
+
+| ../git/kexec/arch/arm64/kexec-arm64.c: In function 'setup_2nd_dtb':
+| ../git/kexec/arch/arm64/kexec-arm64.c:499:12: warning: implicit declaration of function 'getrandom'; did you mean 'srandom'? [-Wimplicit-function-declaration]
+|    result = getrandom(&fdt_val64,
+
+
+Upstream-Status: Inappropriate [klibc specific]
+Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
+---
+ kexec/arch/arm64/kexec-arm64.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
+index 7a12479..8a7f5c5 100644
+--- a/kexec/arch/arm64/kexec-arm64.c
++++ b/kexec/arch/arm64/kexec-arm64.c
+@@ -16,7 +16,11 @@
+ #include <elf.h>
+ 
+ #include <unistd.h>
++
++#ifndef __KLIBC__
+ #include <syscall.h>
++#endif
++
+ #include <errno.h>
+ #include <linux/random.h>
+ 
+@@ -487,10 +491,16 @@ static int setup_2nd_dtb(struct dtb *dtb, char *command_line, int on_crash)
+ 		 * have a valid random seed to pass to the
+ 		 * secondary kernel.
+ 		 */
++#ifndef __KLIBC__
+ 		result = syscall(SYS_getrandom, &fdt_val64,
+ 				sizeof(fdt_val64),
+ 				GRND_NONBLOCK);
+-
++#else
++		extern ssize_t getrandom(void *, size_t, unsigned int);
++		result = getrandom(&fdt_val64,
++				sizeof(fdt_val64),
++				GRND_NONBLOCK);
++#endif
+ 		if(result == -1) {
+ 			dbgprintf("%s: Reading random bytes failed.\n",
+ 					__func__);
+-- 
+2.7.4
+
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
index d6d3dc8..4bbda4c 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
@@ -51,7 +51,8 @@ SRC_URI_append_x86-64 = " file://x86_sys_io.patch file://x86_basename.patch \
 
 SRC_URI_append_aarch64 = " file://arm64_purgatory-Makefile-remove-unknown-flags.patch \
                            file://arm64_kexec-image-header.h-add-missing-le64toh.patch \
-                           file://arm64-crashdump-arm64.c-fix-warning.patch"
+                           file://arm64-crashdump-arm64.c-fix-warning.patch \
+                           file://arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch"
 
 SRC_URI_append_powerpc = " file://powerpc-purgatory-Makefile-remove-unknown-flags.patch"
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list