summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools.inc4
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/kexec-tools-Refine-kdump-device_tree-sort.patch48
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb (renamed from meta/recipes-kernel/kexec/kexec-tools_2.0.11.bb)6
3 files changed, 7 insertions, 51 deletions
diff --git a/meta/recipes-kernel/kexec/kexec-tools.inc b/meta/recipes-kernel/kexec/kexec-tools.inc
index 758a3a78b8..bdfe024a79 100644
--- a/meta/recipes-kernel/kexec/kexec-tools.inc
+++ b/meta/recipes-kernel/kexec/kexec-tools.inc
@@ -22,6 +22,10 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|fre
22INSANE_SKIP_${PN} = "arch" 22INSANE_SKIP_${PN} = "arch"
23 23
24do_compile_prepend() { 24do_compile_prepend() {
25 # Remove the prepackaged config.h from the source tree as it overrides
26 # the same file generated by configure and placed in the build tree
27 rm -f ${S}/include/config.h
28
25 # Remove the '*.d' file to make sure the recompile is OK 29 # Remove the '*.d' file to make sure the recompile is OK
26 for dep in `find ${B} -type f -name '*.d'`; do 30 for dep in `find ${B} -type f -name '*.d'`; do
27 dep_no_d="`echo $dep | sed 's#.d$##'`" 31 dep_no_d="`echo $dep | sed 's#.d$##'`"
diff --git a/meta/recipes-kernel/kexec/kexec-tools/kexec-tools-Refine-kdump-device_tree-sort.patch b/meta/recipes-kernel/kexec/kexec-tools/kexec-tools-Refine-kdump-device_tree-sort.patch
deleted file mode 100644
index e198eb6e9a..0000000000
--- a/meta/recipes-kernel/kexec/kexec-tools/kexec-tools-Refine-kdump-device_tree-sort.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1kexec-tools: Refine kdump device_tree sort
2
3The commit b02d735bf was to rearrange the device-tree entries, and
4assumed that these entries are sorted in the ascending order. but
5acctually when I was validating kexec and kdump, the order of
6serial node still is changed. So the patch is to sort these entries
7by the directory name in ascending order.
8
9Upstream-Status: Pending
10
11Signed-off-by: Yang Wei <Wei.Yang@windriver.com>
12Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
13---
14 kexec/arch/ppc/fs2dt.c | 13 ++++++++++---
15 kexec/fs2dt.c | 13 ++++++++++---
16 2 files changed, 20 insertions(+), 6 deletions(-)
17
18Index: kexec-tools-2.0.10/kexec/arch/ppc/fs2dt.c
19===================================================================
20--- kexec-tools-2.0.10.orig/kexec/arch/ppc/fs2dt.c
21+++ kexec-tools-2.0.10/kexec/arch/ppc/fs2dt.c
22@@ -296,6 +296,9 @@ static int comparefunc(const void *dentr
23 {
24 char *str1 = (*(struct dirent **)dentry1)->d_name;
25 char *str2 = (*(struct dirent **)dentry2)->d_name;
26+ char* ptr1 = strchr(str1, '@');
27+ char* ptr2 = strchr(str2, '@');
28+ int len1, len2;
29
30 /*
31 * strcmp scans from left to right and fails to idetify for some
32@@ -303,9 +306,13 @@ static int comparefunc(const void *dentr
33 * Therefore, we get the wrong sorted order like memory@10000000 and
34 * memory@f000000.
35 */
36- if (strchr(str1, '@') && strchr(str2, '@') &&
37- (strlen(str1) > strlen(str2)))
38- return 1;
39+ if (ptr1 && ptr2) {
40+ len1 = ptr1 - str1;
41+ len2 = ptr2 - str2;
42+ if (!strncmp(str1, str2, len1 >len2 ? len1: len2) &&
43+ (strlen(str1) > strlen(str2)))
44+ return 1;
45+ }
46
47 return strcmp(str1, str2);
48 }
diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.11.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb
index c1c97af9e8..59376c804a 100644
--- a/meta/recipes-kernel/kexec/kexec-tools_2.0.11.bb
+++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb
@@ -2,7 +2,7 @@ require kexec-tools.inc
2export LDFLAGS = "-L${STAGING_LIBDIR}" 2export LDFLAGS = "-L${STAGING_LIBDIR}"
3EXTRA_OECONF = " --with-zlib=yes" 3EXTRA_OECONF = " --with-zlib=yes"
4 4
5SRC_URI += "file://kexec-tools-Refine-kdump-device_tree-sort.patch \ 5SRC_URI += " \
6 file://kexec-aarch64.patch \ 6 file://kexec-aarch64.patch \
7 file://kexec-x32.patch \ 7 file://kexec-x32.patch \
8 file://0002-powerpc-change-the-memory-size-limit.patch \ 8 file://0002-powerpc-change-the-memory-size-limit.patch \
@@ -10,8 +10,8 @@ SRC_URI += "file://kexec-tools-Refine-kdump-device_tree-sort.patch \
10 file://0001-vmcore-dmesg-Define-_GNU_SOURCE.patch \ 10 file://0001-vmcore-dmesg-Define-_GNU_SOURCE.patch \
11 " 11 "
12 12
13SRC_URI[md5sum] = "86de066859f289048f1b286af6f03f78" 13SRC_URI[md5sum] = "10ddaae0e86af54407b164a1f5a39cc3"
14SRC_URI[sha256sum] = "84f652ebf1de3f7b9de757a50cdbf6d5639d88c1d5b5ef9f525edde5ef9590c2" 14SRC_URI[sha256sum] = "cc7b60dad0da202004048a6179d8a53606943062dd627a2edba45a8ea3a85135"
15 15
16PACKAGES =+ "kexec kdump vmcore-dmesg" 16PACKAGES =+ "kexec kdump vmcore-dmesg"
17 17