diff options
Diffstat (limited to 'poky/meta/recipes-kernel/kexec/kexec-tools/0001-x86-linux-setup.c-Use-POSIX-basename-API.patch')
-rw-r--r-- | poky/meta/recipes-kernel/kexec/kexec-tools/0001-x86-linux-setup.c-Use-POSIX-basename-API.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-x86-linux-setup.c-Use-POSIX-basename-API.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-x86-linux-setup.c-Use-POSIX-basename-API.patch deleted file mode 100644 index e223f45998..0000000000 --- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-x86-linux-setup.c-Use-POSIX-basename-API.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 32c8ffa7ace6f1b7e63f9ddffab00b00c36a7b57 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 15 May 2024 21:18:08 -0700 -Subject: [PATCH] x86-linux-setup.c: Use POSIX basename API - -Musl C library only supports POSIX basename function. while glibc has -both GNU extention as well as POSIX basename implemented. Switch to -using posix version, so it can work across musl and glibc - -basename prototype has been removed from string.h from latest musl [1] -compilers e.g. clang-18/GCC-14 flags the absense of prototype as error. -therefore include libgen.h for providing it. - -[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 - -Upstream-Status: Submitted [https://lists.infradead.org/pipermail/kexec/2024-May/030034.html] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - kexec/arch/i386/x86-linux-setup.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c -index 9a281dc..73251b9 100644 ---- a/kexec/arch/i386/x86-linux-setup.c -+++ b/kexec/arch/i386/x86-linux-setup.c -@@ -14,6 +14,7 @@ - * - */ - #define _GNU_SOURCE -+#include <libgen.h> - #include <stdint.h> - #include <stdio.h> - #include <string.h> -@@ -329,12 +330,14 @@ static int add_edd_entry(struct x86_linux_param_header *real_mode, - memset(edd_info, 0, sizeof(struct edd_info)); - - /* extract the device number */ -- if (sscanf(basename(sysfs_name), "int13_dev%hhx", &devnum) != 1) { -+ char* sysfs_name_copy = strdup(sysfs_name); -+ if (sscanf(basename(sysfs_name_copy), "int13_dev%hhx", &devnum) != 1) { - fprintf(stderr, "Invalid format of int13_dev dir " -- "entry: %s\n", basename(sysfs_name)); -+ "entry: %s\n", basename(sysfs_name_copy)); -+ free(sysfs_name_copy); - return -1; - } -- -+ free(sysfs_name_copy); - /* if there's a MBR signature, then add it */ - if (file_scanf(sysfs_name, "mbr_signature", "0x%x", &mbr_sig) == 1) { - real_mode->edd_mbr_sig_buffer[*current_mbr] = mbr_sig; --- -2.45.1 - |