kexec-tools: 2.0.8 -> 2.0.9

Adjust the patch since it was partially applied upstream (in
a different form) but not completely since the ppc specific
part was not applied.

(From OE-Core rev: d397ba39e6a5a7d42641d489917033c779816a1a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2015-02-13 14:44:28 +00:00
parent 2e608ecd1c
commit 1aa6b041f7
2 changed files with 2 additions and 36 deletions

View File

@ -46,37 +46,3 @@ index 4121c7d..cc04b04 100644
return strcmp(str1, str2);
}
diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
index 5e6b98d..1c0345b 100644
--- a/kexec/fs2dt.c
+++ b/kexec/fs2dt.c
@@ -475,6 +475,9 @@ static int comparefunc(const struct dirent **dentry1,
{
char *str1 = (*(struct dirent **)dentry1)->d_name;
char *str2 = (*(struct dirent **)dentry2)->d_name;
+ char* ptr1 = strchr(str1, '@');
+ char* ptr2 = strchr(str2, '@');
+ int len1, len2;
/*
* strcmp scans from left to right and fails to idetify for some
@@ -482,9 +485,13 @@ static int comparefunc(const struct dirent **dentry1,
* Therefore, we get the wrong sorted order like memory@10000000 and
* memory@f000000.
*/
- if (strchr(str1, '@') && strchr(str2, '@') &&
- (strlen(str1) > strlen(str2)))
- return 1;
+ if (ptr1 && ptr2) {
+ len1 = ptr1 - str1;
+ len2 = ptr2 - str2;
+ if (!strncmp(str1, str2, len1 >len2 ? len1: len2) &&
+ (strlen(str1) > strlen(str2)))
+ return 1;
+ }
return strcmp(str1, str2);
}
--
1.7.9.5

View File

@ -6,8 +6,8 @@ SRC_URI += "file://kexec-tools-Refine-kdump-device_tree-sort.patch \
file://kexec-aarch64.patch \
"
SRC_URI[md5sum] = "45bd2bc676ae202579e4c185563126af"
SRC_URI[sha256sum] = "95083c707577154a2241c5af0985f1eb3412d1ba208ef91813e9158b0a901179"
SRC_URI[md5sum] = "4ecb7ab7ad9eb6ce413899bdb07a8426"
SRC_URI[sha256sum] = "c2c6d204fe0911ebd304c40100163237feca4c5a854a2cca382ee36916a573d8"
PACKAGES =+ "kexec kdump vmcore-dmesg"