aboutsummaryrefslogtreecommitdiffstats
path: root/meta-initramfs
diff options
context:
space:
mode:
Diffstat (limited to 'meta-initramfs')
-rw-r--r--meta-initramfs/README.md (renamed from meta-initramfs/README)5
-rw-r--r--meta-initramfs/classes/klibc.bbclass8
-rw-r--r--meta-initramfs/conf/layer.conf4
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/files/0001-make-Add-compiler-includes-in-cflags.patch33
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb4
-rw-r--r--meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb20
-rw-r--r--meta-initramfs/recipes-core/images/initramfs-debug-image.bb7
-rw-r--r--meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb8
-rw-r--r--meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb2
-rw-r--r--meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb4
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch35
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch39
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut/0001-install-Do-not-undef-_FILE_OFFSET_BITS.patch32
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch69
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch16
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut_056.bb (renamed from meta-initramfs/recipes-devtools/dracut/dracut_git.bb)30
-rw-r--r--meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch24
-rw-r--r--meta-initramfs/recipes-devtools/grubby/grubby/0001-rename-grub2-editenv-to-grub-editenv.patch (renamed from meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch)10
-rw-r--r--meta-initramfs/recipes-devtools/grubby/grubby/0002-Add-another-variable-LIBS-to-provides-libraries-from.patch38
-rw-r--r--meta-initramfs/recipes-devtools/grubby/grubby/0003-include-paths.h-for-_PATH_MOUNTED.patch (renamed from meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch)10
-rw-r--r--meta-initramfs/recipes-devtools/grubby/grubby/0004-rpm-sort-include-string.h-for-strverscmp.patch33
-rw-r--r--meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb41
-rw-r--r--meta-initramfs/recipes-devtools/grubby/grubby_git.bb31
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch8
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch49
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch28
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch28
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch4
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch29
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch8
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch6
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch9
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch9
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch47
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch6
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch26
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch20
-rw-r--r--meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch4
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.13.bb (renamed from meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.7.bb)0
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.13.bb (renamed from meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.7.bb)2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-utils.inc2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.13.bb (renamed from meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.7.bb)2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc.inc45
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc_2.0.13.bb (renamed from meta-initramfs/recipes-devtools/klibc/klibc_2.0.7.bb)6
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch32
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb36
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch10
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch2
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch2
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch55
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/Fix-building-on-x86_64-with-binutils-2.41.patch95
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch2
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch2
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/include_next.patch24
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch2
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb54
59 files changed, 644 insertions, 519 deletions
diff --git a/meta-initramfs/README b/meta-initramfs/README.md
index 79244d43f0..119293a741 100644
--- a/meta-initramfs/README
+++ b/meta-initramfs/README.md
@@ -11,9 +11,8 @@ Dependencies
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/meta-openembedded
branch: master
-revision: HEAD
Maintenance
@@ -23,7 +22,7 @@ Send patches / pull requests to openembedded-devel@lists.openembedded.org
with '[meta-initramfs]' in the subject.
When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][PATCH'
+git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-initramfs][PATCH'
Interm layer maintainer: Khem Raj <raj.khem@gmail.com>
diff --git a/meta-initramfs/classes/klibc.bbclass b/meta-initramfs/classes/klibc.bbclass
index bba10f1b61..202d132d94 100644
--- a/meta-initramfs/classes/klibc.bbclass
+++ b/meta-initramfs/classes/klibc.bbclass
@@ -3,10 +3,10 @@ DEPENDS =+ "klcc-cross"
# Default for klcc is to build static binaries.
# Set CC = "${TARGET_PREFIX}klcc -shared" to build the dynamic version.
-CC_forcevariable = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS}"
-CC_forcevariable_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS} -march=armv4 -mthumb-interwork"
-CC_append_armv7ve = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
-CC_append_armv7a = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
+CC:forcevariable = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS}"
+CC:forcevariable:armv4:linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS} -march=armv4 -mthumb-interwork"
+CC:append:armv7ve = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
+CC:append:armv7a = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
# klcc uses own optimizations by default. See klcc(1) man file.
export CFLAGS="${TUNE_CCARGS}"
diff --git a/meta-initramfs/conf/layer.conf b/meta-initramfs/conf/layer.conf
index 634e0883c6..25023cfc64 100644
--- a/meta-initramfs/conf/layer.conf
+++ b/meta-initramfs/conf/layer.conf
@@ -13,10 +13,10 @@ BBFILE_PATTERN_meta-initramfs := "^${LAYERDIR}/"
# choosing carefully how this layer interacts with all of the
# other layers.
-BBFILE_PRIORITY_meta-initramfs = "8"
+BBFILE_PRIORITY_meta-initramfs = "5"
LAYERDEPENDS_meta-initramfs = "core"
-LAYERSERIES_COMPAT_meta-initramfs = "thud warrior zeus dunfell"
+LAYERSERIES_COMPAT_meta-initramfs = "scarthgap"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
dracut->virtual/kernel \
diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0001-make-Add-compiler-includes-in-cflags.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0001-make-Add-compiler-includes-in-cflags.patch
new file mode 100644
index 0000000000..abfd8b77ee
--- /dev/null
+++ b/meta-initramfs/recipes-bsp/kexecboot/files/0001-make-Add-compiler-includes-in-cflags.patch
@@ -0,0 +1,33 @@
+From 528a64d17488295299dad9fbfe3d7140bc1cfdfa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Feb 2021 11:06:48 -0800
+Subject: [PATCH] make: Add compiler includes in cflags
+
+Fixes
+| In file included from /mnt/b/yoe/master/build/tmp/work/raspberrypi4_64-yoe-linux/kexecboot-klibc/0.6+gitAUTOINC+5a5e04be20-r0/recipe-sysroot/usr/lib/klibc/include/stdio.h:11:
+| /mnt/b/yoe/master/build/tmp/work/raspberrypi4_64-yoe-linux/kexecboot-klibc/0.6+gitAUTOINC+5a5e04be20-r0/recipe-sysroot/usr/lib/klibc/include/stdarg.h:9:15: fatal error: 'stdarg.h' file not found
+| #include_next <stdarg.h>
+| ^~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c75df23..d2adf38 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,6 +1,6 @@
+ bin_PROGRAMS=kexecboot
+
+-kexecboot_CFLAGS = -I$(top_srcdir) $(AM_CFLAGS)
++kexecboot_CFLAGS = -I$(top_srcdir) $(AM_CFLAGS) -I$(shell $(CC) -print-file-name=include)
+
+ kexecboot_SOURCES = \
+ util.c \
+--
+2.30.0
+
diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb b/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
index f90e2344bb..2dce19c6be 100644
--- a/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
+++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
@@ -8,7 +8,7 @@ SRC_URI = "file://icon.xpm"
S = "${WORKDIR}"
-do_install_prepend () {
+do_install:prepend () {
echo '# /boot/boot.cfg - KEXECBOOT configuration file.
#
# First kernel stanza.
@@ -55,7 +55,7 @@ do_install () {
PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} += "/boot/*"
+FILES:${PN} += "/boot/*"
CMDLINE ?= ""
CMDLINE_DEBUG ?= "quiet"
diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
index ed3dece3f6..a92c0e8966 100644
--- a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
+++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
@@ -1,18 +1,22 @@
SUMMARY = "kexecboot linux-as-bootloader"
DESCRIPTION = "kexecboot is a graphical linux-as-bootloader implementation based on kexec."
-HOMEPAGE = "http://kexecboot.org"
-LICENSE = "GPLv2"
+HOMEPAGE = "https://github.com/kexecboot/kexecboot/wiki"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PV = "0.6+git${SRCPV}"
+PV = "0.6+git"
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 "
-
+SRC_URI = "git://github.com/kexecboot/kexecboot.git;branch=master;protocol=https"
+SRC_URI:append:libc-klibc = "\
+ file://0001-kexecboot-Use-new-reboot-API-with-klibc.patch \
+ file://0001-make-Add-compiler-includes-in-cflags.patch \
+"
SRCREV = "5a5e04be206140059f42ac786d424da1afaa04b6"
inherit autotools
EXTRA_OECONF = "--enable-textui --enable-delay=2 --enable-evdev-rate=1000,250"
+CFLAGS += "-fcommon"
+
do_install () {
install -D -m 0755 ${B}/src/kexecboot ${D}${bindir}/kexecboot
install -d ${D}/proc
@@ -23,9 +27,9 @@ do_install () {
PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} += " ${bindir}/kexecboot /init /proc /mnt /dev /sys"
+FILES:${PN} += " ${bindir}/kexecboot /init /proc /mnt /dev /sys"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
ln -sf ${bindir}/kexecboot $D/init
}
diff --git a/meta-initramfs/recipes-core/images/initramfs-debug-image.bb b/meta-initramfs/recipes-core/images/initramfs-debug-image.bb
index c3dcd2b821..fc9e81e5de 100644
--- a/meta-initramfs/recipes-core/images/initramfs-debug-image.bb
+++ b/meta-initramfs/recipes-core/images/initramfs-debug-image.bb
@@ -11,7 +11,12 @@ IMAGE_FEATURES = ""
export IMAGE_BASENAME = "initramfs-debug-image"
IMAGE_LINGUAS = ""
-IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+# Some BSPs use IMAGE_FSTYPES:<machine override> which would override
+# an assignment to IMAGE_FSTYPES so we need anon python
+python () {
+ d.setVar("IMAGE_FSTYPES", d.getVar("INITRAMFS_FSTYPES"))
+}
+
inherit core-image
IMAGE_ROOTFS_SIZE = "8192"
diff --git a/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb b/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb
index 9a686f366f..7e6e03d8e7 100644
--- a/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb
+++ b/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb
@@ -1,9 +1,13 @@
SUMMARY = "Initramfs image for kexecboot kernel"
DESCRIPTION = "This image provides kexecboot (linux as bootloader) and helpers."
-inherit image
+# Some BSPs use IMAGE_FSTYPES:<machine override> which would override
+# an assignment to IMAGE_FSTYPES so we need anon python
+python () {
+ d.setVar("IMAGE_FSTYPES", d.getVar("INITRAMFS_FSTYPES"))
+}
-IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+inherit image
# avoid circular dependencies
EXTRA_IMAGEDEPENDS = ""
diff --git a/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb b/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb
index 667690f888..4c06346570 100644
--- a/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb
+++ b/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb
@@ -11,4 +11,4 @@ do_install() {
inherit allarch
-FILES_${PN} += " /init "
+FILES:${PN} += " /init "
diff --git a/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb b/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb
index 2955baea2b..4b76246a03 100644
--- a/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb
+++ b/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb
@@ -8,11 +8,11 @@ PACKAGES = ' \
packagegroup-meta-initramfs-devtools \
'
-RDEPENDS_packagegroup-meta-initramfs = "\
+RDEPENDS:packagegroup-meta-initramfs = "\
packagegroup-meta-initramfs-devtools \
"
-RDEPENDS_packagegroup-meta-initramfs-devtools = "\
+RDEPENDS:packagegroup-meta-initramfs-devtools = "\
dracut \
${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "grubby", "", d)} \
"
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch
new file mode 100644
index 0000000000..bd768d00d2
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/dracut/dracut/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch
@@ -0,0 +1,35 @@
+From ff5e1a662ba93ba79e2aeaaaec48a2a8ec4b4701 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 31 Mar 2022 22:22:44 +0800
+Subject: [PATCH] Guard against __GLIBC_PREREQ for musl libc
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/install/util.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/install/util.c b/src/install/util.c
+index 5721de89..784aec48 100644
+--- a/src/install/util.c
++++ b/src/install/util.c
+@@ -27,6 +27,7 @@
+
+ #include "util.h"
+
++#if defined(__GLIBC__)
+ #if __GLIBC_PREREQ(2, 30) == 0
+ #include <sys/syscall.h>
+ #ifndef SYS_gettid
+@@ -35,6 +36,7 @@
+
+ #define gettid() ((pid_t) syscall(SYS_gettid))
+ #endif /*__GLIBC_PREREQ */
++#endif /*__GLIBC__*/
+
+ size_t page_size(void)
+ {
+--
+2.25.1
+
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch
deleted file mode 100644
index 06e0a094f9..0000000000
--- a/meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 974f728410052bc8fa18d93dc0c1a991bcdb96e6 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 3 Apr 2019 15:24:47 +0800
-Subject: [PATCH] dracut.sh: improve udevdir
-
-In commit [9d1b81c dracut.sh: improve udevdir and systemdutildir
-fallback logic], it checked a common binary `collect' to localte
-udevdir.
-
-But upstream systemd drop binary `collect'.
-[https://github.com/systemd/systemd/commit/a168792c2d95695fd30c0371d4b3890a9df1eafb]
-
-So check binary `ata_id' to instead.
-
-Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/558]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- dracut.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 3dc2adc..cc8b01a 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1311,8 +1311,8 @@ done
- [[ -d $udevdir ]] \
- || udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)"
- if ! [[ -d "$udevdir" ]]; then
-- [[ -e /lib/udev/collect ]] && udevdir=/lib/udev
-- [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev
-+ [[ -e /lib/udev/ata_id ]] && udevdir=/lib/udev
-+ [[ -e /usr/lib/udev/ata_id ]] && udevdir=/usr/lib/udev
- fi
-
- [[ -d $systemdutildir ]] \
---
-2.7.4
-
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-install-Do-not-undef-_FILE_OFFSET_BITS.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-install-Do-not-undef-_FILE_OFFSET_BITS.patch
new file mode 100644
index 0000000000..170df7119f
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/dracut/dracut/0001-install-Do-not-undef-_FILE_OFFSET_BITS.patch
@@ -0,0 +1,32 @@
+From 7f8ef553b7c433af153d48c6a16b2943780abf67 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 31 Dec 2022 14:41:52 -0800
+Subject: [PATCH] install: Do not undef _FILE_OFFSET_BITS
+
+_FILE_OFFSET_BITS is a feature test macro to determine largefile
+support. Usually its set to 64 on systems supporting LFS. Its also
+needed to be set to 64 for supporting 64bit time_t on glibc on 32bit
+systems. If its undefined explicitly, then 64bit time_t can not be
+enabled.
+
+Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/2157]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/install/dracut-install.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c
+index dda0caca..05a67a03 100644
+--- a/src/install/dracut-install.c
++++ b/src/install/dracut-install.c
+@@ -22,7 +22,6 @@
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE
+ #endif
+-#undef _FILE_OFFSET_BITS
+ #include <ctype.h>
+ #include <errno.h>
+ #include <fcntl.h>
+--
+2.39.0
+
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch
deleted file mode 100644
index 13d2cfa877..0000000000
--- a/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 6e0da103effe64832eea52fad5c44a328f7141b7 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 20 Jun 2019 17:31:11 +0800
-Subject: [PATCH] set viriable _drv not local
-
-If shebang is set to /bin/sh and /bin/sh is a symlink to /bin/bash,
-bash turn on posix mode.
-
-Since bash is upgraded to 5.0, it follows 'IEEE 1003.2 POSIX Shell
-Standard', to implement 'functions do not have local traps or options,
-and it is not possible to define local variables'
-
-For more detail, see variables.c:push_posix_temp_var in the following commit
-http://git.savannah.gnu.org/cgit/bash.git/commit/?id=d233b485e83c3a784b803fb894280773f16f2deb
-
-The IEEE 1003.2 POSIX Shell Standard:
-https://www.cs.ait.ac.th/~on/O/oreilly/unix/ksh/appa_02.htm
-
-While /bin/sh points to bash 5.0, it caused the following issue:
-
-$ cat <<ENDOF>case.sh
-fsck_drv_com(){
- echo "issuing \$_drv"
-}
-
-fsck_able() {
- _drv="_drv=e2fsck fsck_drv_com"
-}
-
-fsck_single() {
- local _drv
- fsck_able
- eval "\$_drv"
-}
-fsck_single
-ENDOF
-$ chmod a+x case.sh
-
-Unexpected:
-$ ./cash.sh
-issuing _drv=e2fsck fsck_drv_com
-
-Set viriable _drv not local, get expected result:
-$ ./case.sh
-issuing e2fsck
-
-Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/587]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- modules.d/99fs-lib/fs-lib.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
-index d39ca1b..60877ee 100755
---- a/modules.d/99fs-lib/fs-lib.sh
-+++ b/modules.d/99fs-lib/fs-lib.sh
-@@ -142,7 +142,7 @@ fsck_single() {
- local _fs="${2:-auto}"
- local _fsopts="$3"
- local _fop="$4"
-- local _drv
-+ _drv=""
-
- [ $# -lt 2 ] && return 255
- # if UUID= marks more than one device, take only the first one
---
-2.7.4
-
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch
index 32714038b9..68ec2b8fdb 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch
+++ b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch
@@ -1,4 +1,4 @@
-From 06011ce55b1e892e863568a73d64eebc6389544f Mon Sep 17 00:00:00 2001
+From 9f7740c4c2fda64029c23674e9858ce8bd4367df Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Jul 2017 17:14:05 -0700
Subject: [PATCH] util.h: include <sys/reg.h> when libc != glibc
@@ -11,13 +11,15 @@ https://github.com/voidlinux/void-packages/blob/master/srcpkgs/dracut/patches/mu
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- install/util.h | 3 +++
+Upstream-Status: Pending
+
+ src/install/util.h | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/install/util.h b/install/util.h
-index 2ad3254d..062626ec 100644
---- a/install/util.h
-+++ b/install/util.h
+diff --git a/src/install/util.h b/src/install/util.h
+index a6f9a184..82732913 100644
+--- a/src/install/util.h
++++ b/src/install/util.h
@@ -36,6 +36,9 @@
#include <sys/stat.h>
#include <dirent.h>
@@ -29,5 +31,5 @@ index 2ad3254d..062626ec 100644
#include "macro.h"
--
-2.13.2
+2.17.1
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_056.bb
index 13cf5f6ded..db08fffe9a 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/meta-initramfs/recipes-devtools/dracut/dracut_056.bb
@@ -2,22 +2,20 @@ SUMMARY = "Initramfs generator using udev"
HOMEPAGE = "https://dracut.wiki.kernel.org/index.php/Main_Page"
DESCRIPTION = "Dracut is an event driven initramfs infrastructure. dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PE = "1"
-PV = "049"
-# v048 tag
-SRCREV = "225e4b94cbdb702cf512490dcd2ad9ca5f5b22c1"
-SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
+SRCREV = "631d5f72a223288aa1f48bb8e8d0313e75947400"
+SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http;branch=master \
file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
- file://0001-dracut.sh-improve-udevdir.patch \
- file://0001-set-viriable-_drv-not-local.patch \
+ file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \
+ file://0001-install-Do-not-undef-_FILE_OFFSET_BITS.patch \
"
DEPENDS += "kmod"
-DEPENDS_append_libc-musl = " fts"
+DEPENDS:append:libc-musl = " fts"
inherit bash-completion pkgconfig
@@ -40,7 +38,8 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/
EXTRA_OEMAKE += 'libdir=${prefix}/lib LDLIBS="${LDLIBS}"'
-LDLIBS_append_libc-musl = " -lfts"
+CFLAGS:append = " -fPIC"
+LDLIBS:append:libc-musl = " -lfts"
do_configure() {
./configure ${EXTRA_OECONF}
@@ -53,19 +52,20 @@ do_install() {
chown -R root:root ${D}/${prefix}/lib/dracut/modules.d
}
-FILES_${PN} += "${prefix}/lib/kernel \
+FILES:${PN} += "${prefix}/lib/kernel \
${prefix}/lib/dracut \
${systemd_unitdir} \
"
-FILES_${PN}-dbg += "${prefix}/lib/dracut/.debug"
+FILES:${PN}-dbg += "${prefix}/lib/dracut/.debug"
-CONFFILES_${PN} += "${sysconfdir}/dracut.conf"
+CONFFILES:${PN} += "${sysconfdir}/dracut.conf"
-RDEPENDS_${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash ldd"
+RDEPENDS:${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash ldd"
# This could be optimized a bit, but let's avoid non-booting systems :)
-RRECOMMENDS_${PN} = " \
+RRECOMMENDS:${PN} = " \
kernel-modules \
- busybox \
coreutils \
"
+
+CVE_STATUS[CVE-2010-4176] = "not-applicable-platform: Applies only to Fedora"
diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch
deleted file mode 100644
index dfbe7ba6b4..0000000000
--- a/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b7b3caa9b5c8abcd3c371d0683001cd681e104b3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 10:19:22 -0700
-Subject: [PATCH 1/2] Add another variable LIBS to provides libraries from env
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index cc7e823..ae30a07 100644
---- a/Makefile
-+++ b/Makefile
-@@ -31,7 +31,7 @@ ifneq ($(VERBOSE_TEST),)
- VERBOSE_TEST="--verbose"
- endif
-
--grubby_LIBS = -lblkid -lpopt
-+grubby_LIBS = -lblkid -lpopt ${LIBS}
-
- all: grubby
-
diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0001-rename-grub2-editenv-to-grub-editenv.patch
index e693916e1d..7e1615c5b5 100644
--- a/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch
+++ b/meta-initramfs/recipes-devtools/grubby/grubby/0001-rename-grub2-editenv-to-grub-editenv.patch
@@ -1,21 +1,20 @@
-From 15f0572f2f456c2c1b700bc790d9ce7a5c13cc74 Mon Sep 17 00:00:00 2001
+From 7a72139d2e3cc80f64090a823afe7bcea76e4792 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Tue, 4 Aug 2015 23:54:41 -0700
Subject: [PATCH] rename grub2-editenv to grub-editenv
We don't use the name grub2-editenv for grub2.
-Upstream-Status: Inappropriate
+Upstream-Status: Inactive-Upstream [lastcommit: 2022 lastrelease: 2016]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
---
grubby.c | 4 ++--
test.sh | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/grubby.c b/grubby.c
-index 396041a..3ceae69 100644
+index 98c1516..be832f6 100644
--- a/grubby.c
+++ b/grubby.c
@@ -301,7 +301,7 @@ static char *grub2GetEnv(struct configFileInfo *info, char *name)
@@ -74,3 +73,6 @@ index 33d24cf..009479c 100755
"saved_entry=title"
testing="GRUB2 --default-index with default=saved_entry"
+--
+2.25.1
+
diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0002-Add-another-variable-LIBS-to-provides-libraries-from.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0002-Add-another-variable-LIBS-to-provides-libraries-from.patch
new file mode 100644
index 0000000000..967a4c94fb
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/grubby/grubby/0002-Add-another-variable-LIBS-to-provides-libraries-from.patch
@@ -0,0 +1,38 @@
+From c02d1bf46174656cdb6f7c08fa3e8fa520edcd8e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 10:19:22 -0700
+Subject: [PATCH] Add another variable LIBS to provides libraries from env
+
+Upstream-Status: Inactive-Upstream [lastcommit: 2022 lastrelease: 2016]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 968c276..75abe44 100644
+--- a/Makefile
++++ b/Makefile
+@@ -31,7 +31,8 @@ ifneq ($(VERBOSE_TEST),)
+ VERBOSE_TEST="--verbose"
+ endif
+
+-grubby_LIBS = -lblkid -lpopt
++grubby_LIBS = -lblkid -lpopt ${LIBS}
++rpm-sort_LIBS = ${LIBS}
+
+ all: grubby rpm-sort
+
+@@ -63,7 +64,7 @@ grubby:: $(OBJECTS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(grubby_LIBS)
+
+ rpm-sort::rpm-sort.o
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -lrpmio
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -lrpmio $(rpm-sort_LIBS)
+
+ clean:
+ rm -f *.o grubby rpm-sort *~
+--
+2.25.1
+
diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0003-include-paths.h-for-_PATH_MOUNTED.patch
index de8133a3a4..86ae01021f 100644
--- a/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch
+++ b/meta-initramfs/recipes-devtools/grubby/grubby/0003-include-paths.h-for-_PATH_MOUNTED.patch
@@ -1,7 +1,9 @@
-From 8f844ac7f44b8dc428d06cd6958c5f32d383d01c Mon Sep 17 00:00:00 2001
+From 7e68976eb6edd766471c11382f5bf57940ba9315 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 15 Jul 2017 10:19:50 -0700
-Subject: [PATCH 2/2] include paths.h for _PATH_MOUNTED
+Subject: [PATCH] include paths.h for _PATH_MOUNTED
+
+Upstream-Status: Inactive-Upstream [lastcommit: 2022 lastrelease: 2016]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
@@ -9,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/grubby.c b/grubby.c
-index 47a1a15..59f74a9 100644
+index be832f6..4825797 100644
--- a/grubby.c
+++ b/grubby.c
@@ -34,6 +34,7 @@
@@ -21,5 +23,5 @@ index 47a1a15..59f74a9 100644
#include "log.h"
--
-2.13.3
+2.25.1
diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0004-rpm-sort-include-string.h-for-strverscmp.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0004-rpm-sort-include-string.h-for-strverscmp.patch
new file mode 100644
index 0000000000..c68b492ebe
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/grubby/grubby/0004-rpm-sort-include-string.h-for-strverscmp.patch
@@ -0,0 +1,33 @@
+From 45bc228090b3adfc0a5058b9cd019d91831e110a Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 3 Jan 2023 13:59:48 +0800
+Subject: [PATCH] rpm-sort: include string.h for strverscmp
+
+Include string.h to fix build error:
+rpm-sort.c: In function 'package_version_compare':
+rpm-sort.c:156:13: error: 'strverscmp' undeclared (first use in this function)
+ 156 | cmp = strverscmp;
+ | ^~~~~~~~~~
+
+Upstream-Status: Inactive-Upstream [lastcommit: 2022 lastrelease: 2016]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ rpm-sort.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/rpm-sort.c b/rpm-sort.c
+index f196356..2eb91ce 100644
+--- a/rpm-sort.c
++++ b/rpm-sort.c
+@@ -8,6 +8,7 @@
+ #include <argp.h>
+ #include <rpm/rpmlib.h>
+ #include <err.h>
++#include <string.h>
+
+ typedef enum {
+ RPMNVRCMP,
+--
+2.25.1
+
diff --git a/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb b/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
deleted file mode 100644
index 7403cf64f7..0000000000
--- a/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "A command line tool for updating and displaying info about boot loaders"
-DESCRIPTION = "grubby is a command line tool for updating and displaying information \
-about the configuration files for the grub, lilo, elilo (ia64), yaboot (powerpc) and \
-zipl (s390) boot loaders. It is primarily designed to be used from scripts which install \
-new kernels and need to find information about the current boot environment. \
-"
-HOMEPAGE = "https://github.com/rhboot/grubby"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
-
-DEPENDS = "popt util-linux"
-DEPENDS_append_libc-musl = " libexecinfo"
-
-S = "${WORKDIR}/git"
-SRCREV = "79c5cfa02c567efdc5bb18cdd584789e2e35aa23"
-SRC_URI = "git://github.com/rhboot/grubby.git;protocol=https; \
- file://grubby-rename-grub2-editenv-to-grub-editenv.patch \
- file://run-ptest \
- file://0001-Add-another-variable-LIBS-to-provides-libraries-from.patch \
- file://0002-include-paths.h-for-_PATH_MOUNTED.patch \
- "
-
-RDEPENDS_${PN} += "dracut"
-
-inherit autotools-brokensep ptest
-
-EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}'"
-
-LIBS_libc-musl = "-lexecinfo"
-LIBS ?= ""
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -r ${S}/test ${S}/test.sh ${D}${PTEST_PATH}
- sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
-}
-
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/meta-initramfs/recipes-devtools/grubby/grubby_git.bb b/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
index 7248147a5c..ff673e21bb 100644
--- a/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
+++ b/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
@@ -5,29 +5,30 @@ zipl (s390) boot loaders. It is primarily designed to be used from scripts which
new kernels and need to find information about the current boot environment. \
"
HOMEPAGE = "https://github.com/rhboot/grubby"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
-DEPENDS = "popt util-linux"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS = "popt util-linux rpm"
+DEPENDS:append:libc-musl = " libexecinfo argp-standalone"
S = "${WORKDIR}/git"
-SRCREV = "a1d2ae93408c3408e672d7eba4550fdf27fb0201"
-SRC_URI = "git://github.com/rhboot/grubby.git;protocol=https; \
- file://grubby-rename-grub2-editenv-to-grub-editenv.patch \
+SRCREV = "c01b0d5bb182bde35b464d14996acf354a3ada2e"
+SRC_URI = "git://github.com/rhboot/grubby.git;protocol=https;;branch=main \
+ file://0001-rename-grub2-editenv-to-grub-editenv.patch \
+ file://0002-Add-another-variable-LIBS-to-provides-libraries-from.patch \
+ file://0003-include-paths.h-for-_PATH_MOUNTED.patch \
+ file://0004-rpm-sort-include-string.h-for-strverscmp.patch \
file://run-ptest \
- file://0001-Add-another-variable-LIBS-to-provides-libraries-from.patch \
- file://0002-include-paths.h-for-_PATH_MOUNTED.patch \
"
-RDEPENDS_${PN} += "dracut"
+RDEPENDS:${PN} += "dracut"
inherit autotools-brokensep ptest
-EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}' 'PREFIX'=${@bb.utils.contains('DISTRO_FEATURES','usrmerge','/usr','',d)}"
+EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' 'LIBS=${LIBS}'"
-LIBS_libc-musl = "-lexecinfo"
+LIBS:libc-musl = "-lexecinfo -largp"
LIBS ?= ""
do_install_ptest() {
install -d ${D}${PTEST_PATH}
@@ -35,7 +36,11 @@ do_install_ptest() {
sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
}
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN}-ptest = "util-linux-getopt bash"
+
+inherit update-alternatives
+ALTERNATIVE:${PN} = "installkernel"
+ALTERNATIVE_LINK_NAME[installkernel] = "${sbindir}/installkernel"
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
index e7a0cce837..c782cf03c8 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
@@ -12,12 +12,12 @@ to infer that these structs should be defined in linux/in.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
usr/include/net/if.h | 11 +++++++++++
usr/include/netinet/in.h | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+)
-diff --git a/usr/include/net/if.h b/usr/include/net/if.h
-index 116a176..6246b12 100644
--- a/usr/include/net/if.h
+++ b/usr/include/net/if.h
@@ -1,6 +1,17 @@
@@ -38,8 +38,6 @@ index 116a176..6246b12 100644
#include <sys/socket.h>
#include <sys/types.h>
#include <linux/if.h>
-diff --git a/usr/include/netinet/in.h b/usr/include/netinet/in.h
-index 2952bb2..0c95bc9 100644
--- a/usr/include/netinet/in.h
+++ b/usr/include/netinet/in.h
@@ -5,6 +5,42 @@
@@ -82,6 +80,6 @@ index 2952bb2..0c95bc9 100644
+#define __UAPI_DEF_IF_IFREQ 1
+#endif
+
+ #include <sys/types.h>
#include <klibc/extern.h>
#include <stdint.h>
- #include <endian.h> /* Must be included *before* <linux/in.h> */
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
deleted file mode 100644
index eee144dc4a..0000000000
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 241f423a015279cb29b7ad1a34386ef1c32007fc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 Dec 2018 16:47:16 -0800
-Subject: [PATCH] Define ulocked_{fgets|fread|fwrite} aliases
-
-latest clang converts the normal calls to the unlocked variant
-equivalents
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Andrea Adami <andrea.adami@gmail.com>
----
- usr/klibc/fgets.c | 2 ++
- usr/klibc/fread2.c | 2 ++
- usr/klibc/fwrite2.c | 2 ++
- 3 files changed, 6 insertions(+)
-
-diff --git a/usr/klibc/fgets.c b/usr/klibc/fgets.c
-index dbf742c6..2e9fcb65 100644
---- a/usr/klibc/fgets.c
-+++ b/usr/klibc/fgets.c
-@@ -25,3 +25,5 @@ char *fgets(char *s, int n, FILE *f)
-
- return s;
- }
-+char *fgets_unlocked(char *s, int n, FILE *f)
-+ __alias("fgets");
-diff --git a/usr/klibc/fread2.c b/usr/klibc/fread2.c
-index 7dca56b1..5c234766 100644
---- a/usr/klibc/fread2.c
-+++ b/usr/klibc/fread2.c
-@@ -11,3 +11,5 @@ size_t fread(void *ptr, size_t size, size_t nmemb, FILE * f)
- {
- return _fread(ptr, size * nmemb, f) / size;
- }
-+size_t fread_unlocked(void *ptr, size_t size, size_t nmemb, FILE *f)
-+ __alias("fread");
-diff --git a/usr/klibc/fwrite2.c b/usr/klibc/fwrite2.c
-index cebc017c..3e0bb57d 100644
---- a/usr/klibc/fwrite2.c
-+++ b/usr/klibc/fwrite2.c
-@@ -11,3 +11,5 @@ size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE * f)
- {
- return _fwrite(ptr, size * nmemb, f) / size;
- }
-+size_t fwrite_unlocked(void *ptr, size_t size, size_t nmemb, FILE *f)
-+ __alias("fwrite");
---
-2.19.2
-
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
deleted file mode 100644
index 181dcfb6de..0000000000
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4b4147b76518d31a88fb2c58cdbf2236e159a25c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Sep 2017 23:10:54 -0700
-Subject: [PATCH] Kbuild.klibc: Add path to compiler headers via -isystem
-
-We need to include this path so it can find compiler headers e.g.
-stdarg.h which is called from wrapper stdarg.h using include_next
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- scripts/Kbuild.klibc | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc
-index 101f86f..1d5cdc4 100644
---- a/scripts/Kbuild.klibc
-+++ b/scripts/Kbuild.klibc
-@@ -105,7 +105,8 @@ KLIBCOBJCOPY := $(OBJCOPY)
- KLIBCOBJDUMP := $(OBJDUMP)
-
- # klibc include paths
--KLIBCCPPFLAGS := -nostdinc -iwithprefix include \
-+KLIBCCPPFLAGS := -nostdinc -iwithprefix include \
-+ -isystem $(shell $(CC) -print-file-name=include) \
- -I$(KLIBCINC)/arch/$(KLIBCARCHDIR) \
- -I$(KLIBCINC)/bits$(KLIBCBITSIZE) \
- -I$(KLIBCOBJ)/../include \
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
deleted file mode 100644
index 1ba05a811e..0000000000
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b6185401fc3daa7fa8ba2b84db3e4da3b94a9867 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 26 Jul 2017 16:13:16 -0700
-Subject: [PATCH] Kbuild.klibc: Use -print-libgcc-file-name instead of
- --print-libgcc
-
--print-libgcc-file-name works with clang and gcc unlike --print-libgcc
-which is gcc specific
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- scripts/Kbuild.klibc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc
-index f500d53..101f86f 100644
---- a/scripts/Kbuild.klibc
-+++ b/scripts/Kbuild.klibc
-@@ -128,7 +128,7 @@ KLIBCCFLAGS += $(KLIBCCPPFLAGS) $(KLIBCREQFLAGS) $(KLIBCARCHREQFLAGS) \
- KLIBCAFLAGS += -D__ASSEMBLY__ $(KLIBCCFLAGS)
- KLIBCSTRIPFLAGS += --strip-all -R .comment -R .note
-
--KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-libgcc)
-+KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) -print-libgcc-file-name)
- KLIBCLIBGCC ?= $(KLIBCLIBGCC_DEF)
- KLIBCCRT0 := $(KLIBCOBJ)/arch/$(KLIBCARCHDIR)/crt0.o
- KLIBCLIBC := $(KLIBCOBJ)/libc.a
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch
index de04d691fe..895254889c 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch
@@ -10,6 +10,8 @@ linking issues on such distros
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
index fcf4f891a4..5ac0d4596a 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
@@ -11,11 +11,11 @@ which is a bit harder in OE
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
usr/klibc/arch/arm/MCONFIG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG
-index 303c6ac..48d2685 100644
--- a/usr/klibc/arch/arm/MCONFIG
+++ b/usr/klibc/arch/arm/MCONFIG
@@ -10,7 +10,7 @@
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
deleted file mode 100644
index 46a23987f5..0000000000
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8beffe501c1ac5b35d62004735c4157c74183901 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 Jul 2017 13:51:25 -0700
-Subject: [PATCH] dash: Specify format string in fmtstr()
-
-Fixes build with hardening flags
-
-usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security]
- col = fmtstr(s, 32, strsignal(st));
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- usr/dash/jobs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c
-index 009bbfe..299bcac 100644
---- a/usr/dash/jobs.c
-+++ b/usr/dash/jobs.c
-@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly)
- goto out;
- #endif
- }
-- col = fmtstr(s, 32, strsignal(st));
-+ col = fmtstr(s, 32, "%s", strsignal(st));
- #ifdef WCOREDUMP
- if (WCOREDUMP(status)) {
- col += fmtstr(s + col, 16, " (core dumped)");
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
index 04c97fc5ee..d49dfc1924 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
@@ -12,17 +12,17 @@ override to avoid this assumption
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
usr/include/sys/sysinfo.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h
-index dba68dc..d145c0b 100644
--- a/usr/include/sys/sysinfo.h
+++ b/usr/include/sys/sysinfo.h
-@@ -5,7 +5,7 @@
- #ifndef _SYS_SYSINFO_H
+@@ -6,7 +6,7 @@
#define _SYS_SYSINFO_H
+ #include <sys/types.h>
-#include <linux/kernel.h>
+#include <linux/sysinfo.h>
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
index 94818e3669..e4ae3728a4 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
@@ -12,12 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
usr/klibc/Kbuild | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
-index 98caf2e9..b34521e0 100644
--- a/usr/klibc/Kbuild
+++ b/usr/klibc/Kbuild
-@@ -168,7 +168,8 @@ $(SOHASH): $(SOLIB) $(SOLIB).hash
- targets += interp.o
+@@ -190,7 +190,8 @@ $(SOHASH): $(SOLIB) $(SOLIB).hash
+ targets += shared-stub.o
quiet_cmd_interp = BUILD $@
- cmd_interp = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch
index 0768f6d514..80e6c6b11c 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch
@@ -7,14 +7,14 @@ needed by latest kexec-tools for qemuarm64 (kashan)
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
usr/klibc/SYSCALLS.def | 1 +
1 file changed, 1 insertion(+)
-diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def
-index 6b3bf4c..d4184ba 100644
--- a/usr/klibc/SYSCALLS.def
+++ b/usr/klibc/SYSCALLS.def
-@@ -274,6 +274,7 @@ int syslog::klogctl(int, char *, int);
+@@ -275,6 +275,7 @@ int syslog::klogctl(int, char *, int);
int sysinfo(struct sysinfo *);
long kexec_load(void *, unsigned long, struct kexec_segment *, unsigned long);
<x86_64,ppc64,s390x> long kexec_file_load(int, int, unsigned long, const char *, unsigned long);
@@ -22,6 +22,3 @@ index 6b3bf4c..d4184ba 100644
/*
* Low-level I/O (generally architecture-specific);
---
-2.7.4
-
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
index 3d8d987c43..16885488e4 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
@@ -7,14 +7,14 @@ for supported archs only (matched in kexec-tools)
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
usr/klibc/SYSCALLS.def | 1 +
1 file changed, 1 insertion(+)
-diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def
-index c56e8f9..6b3bf4c 100644
--- a/usr/klibc/SYSCALLS.def
+++ b/usr/klibc/SYSCALLS.def
-@@ -273,6 +273,7 @@ int reboot::__reboot(int, int, int, void *);
+@@ -274,6 +274,7 @@ int reboot::__reboot(int, int, int, void
int syslog::klogctl(int, char *, int);
int sysinfo(struct sysinfo *);
long kexec_load(void *, unsigned long, struct kexec_segment *, unsigned long);
@@ -22,6 +22,3 @@ index c56e8f9..6b3bf4c 100644
/*
* Low-level I/O (generally architecture-specific);
---
-2.7.4
-
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch
index 3bc081d4e9..4378ca5610 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] mkfifo: Implement mkfifo
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
usr/utils/mkfifo.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch b/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch
new file mode 100644
index 0000000000..2f203ef0a4
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch
@@ -0,0 +1,47 @@
+From 911130ce429cbf6a92d0fbd17f0ff638ec941df2 Mon Sep 17 00:00:00 2001
+From: Petr Ovtchenkov <ptr@void-ptr.info>
+Date: Sun, 7 Feb 2021 00:04:36 -0800
+Subject: [PATCH] workaround for overlapping sections in binary
+
+Problem: binary (typesize.bin) created from object file (typesize.o)
+with 'objcopy -O binary ... '. But typesize.o has relocatable objects that all
+copied with offset 0. This will lead to overlapping sections in binary.
+By fortunate syscalls.pl check magic bytes and ring the bell.
+
+This is naive workaround: skip .note.gnu.property section that overlap
+.rodata section.
+
+This not a bug of objcopy, https://sourceware.org/bugzilla/show_bug.cgi?id=27314
+
+Related commit:
+
+ commit de6f630e6be90d6d32d8bf2fed3f856b0c32f7ba
+ Author: H. Peter Anvin <hpa at zytor.com>
+ Date: Sat Jun 10 11:15:19 2006 -0700
+
+ [klibc] Detect the sizes of various types, and make available to sysstub.ph.
+
+ This additional code effectively queries the C compiler for the sizes of
+ various types, and makes an associative array %typesize available to
+ sysstub.ph. This is currently not used, but it's expected that some
+ architectures, e.g. s390, will need this to determine which registers
+ go where, and how many registers are needed.
+
+Upstream-Status: Submitted [https://lists.zytor.com/archives/klibc/2021-February/004583.html]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/klibc/syscalls/Kbuild | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/usr/klibc/syscalls/Kbuild
++++ b/usr/klibc/syscalls/Kbuild
+@@ -71,7 +71,7 @@ $(obj)/typesize.c: $(srctree)/$(KLIBCSRC
+
+ # Convert typesize.o to typesize.bin
+ quiet_cmd_mkbin = OBJCOPY $@
+- cmd_mkbin = $(KLIBCOBJCOPY) -O binary --only-section .rodata $< $@
++ cmd_mkbin = $(KLIBCOBJCOPY) -O binary --remove-section .note.gnu.property $< $@
+
+ $(obj)/typesize.bin: $(obj)/typesize.o FORCE
+ $(call if_changed,mkbin)
diff --git a/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch b/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
index 4a334fa252..7b29eaf200 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
@@ -9,13 +9,15 @@ which is "" in case of armv5 or thumbs.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
usr/klibc/arch/arm/MCONFIG | 1 +
1 file changed, 1 insertion(+)
--- a/usr/klibc/arch/arm/MCONFIG
+++ b/usr/klibc/arch/arm/MCONFIG
-@@ -29,6 +29,7 @@ else
- KLIBCSHAREDFLAGS = -Ttext-segment 0x01800000
+@@ -23,6 +23,7 @@ else
+ # Extra linkflags when building the shared version of the library
ifeq ($(CONFIG_AEABI),y)
KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
+KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX)
diff --git a/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch b/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch
new file mode 100644
index 0000000000..f39701a65e
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+--- a/scripts/Kbuild.klibc
++++ b/scripts/Kbuild.klibc
+@@ -113,10 +113,8 @@ KLIBCCPPFLAGS := -nostdinc -iwithpref
+ -I$(KLIBCINC)/arch/$(KLIBCARCHDIR) \
+ -I$(KLIBCINC)/bits$(KLIBCBITSIZE) \
+ -I$(KLIBCOBJ)/../include \
+- -I$(KLIBCINC)
+-ifeq ($(cc-name),clang)
+-KLIBCCPPFLAGS += -isystem $(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-file-name=include)
+-endif
++ -I$(KLIBCINC) \
++ -I$(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-file-name=include)
+
+ # kernel include paths
+ KLIBCKERNELSRC ?= $(srctree)
+@@ -137,7 +135,7 @@ KLIBCCFLAGS += $(KLIBCCPPFLAGS) $(K
+ KLIBCAFLAGS += -D__ASSEMBLY__ $(KLIBCCFLAGS)
+ KLIBCSTRIPFLAGS += --strip-all -R .comment -R .note
+
+-KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) $(if $(filter gcc,$(cc-name)),--print-libgcc,--print-libgcc-file-name))
++KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-libgcc-file-name)
+ KLIBCLIBGCC ?= $(KLIBCLIBGCC_DEF)
+ KLIBCCRT0 := $(KLIBCOBJ)/arch/$(KLIBCARCHDIR)/crt0.o
+ KLIBCLIBC := $(KLIBCOBJ)/libc.a
diff --git a/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch b/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch
index 5f47d3f20a..af76564901 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch
@@ -3,6 +3,8 @@ From: Andrea Adami <andrea.adami@gmail.com>
Date: Fri, 19 Sep 2014 23:09:29 +0200
---
+Upstream-Status: Pending
+
klcc/klcc.in | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch b/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
index 3b7031e981..a3a0695637 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
@@ -5,16 +5,34 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/klcc/klcc.in
+++ b/klcc/klcc.in
-@@ -207,6 +207,12 @@ while ( defined($a = shift(@ARGV)) ) {
+@@ -207,6 +207,30 @@ while ( defined($a = shift(@ARGV)) ) {
} elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
# Override gcc encoded sysroot
push(@ccopt, $a);
++ } elsif ( $a eq '-nostartfiles' ) {
++ # Allow clang options
++ push(@ccopt, $a);
++ } elsif ( $a eq '-nostdlib' ) {
++ # Allow clang options
++ push(@ccopt, $a);
++ } elsif ( $a eq '-nodefaultlibs' ) {
++ # Allow clang options
++ push(@ccopt, $a);
++ } elsif ( $a eq '-no-pie' ) {
++ # Allow clang options
++ push(@ccopt, $a);
+ } elsif ( $a eq '-no-integrated-as' ) {
+ # Allow clang options
+ push(@ccopt, $a);
+ } elsif ( $a =~ '--unwindlib=.*' ) {
+ # Allow clang options
+ push(@ccopt, $a);
++ } elsif ( $a =~ '-rtlib=.*' ) {
++ # Allow clang options
++ push(@ccopt, $a);
++ } elsif ( $a =~ '--dyld-prefix=.*' ) {
++ # Allow clang options
++ push(@ccopt, $a);
} else {
die "$0: unknown option: $a\n";
}
diff --git a/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch b/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch
index eac128cc09..d2a19909f0 100644
--- a/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch
+++ b/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Patch was imported from the OpenEmbedded git server
(git://git.openembedded.org/openembedded)
as of commit id 676cbb54d42c89a4832871064cfcb7ee2ad372ee
@@ -10,8 +12,6 @@ that /usr/bin/env perl will always return ours (if it has been built).
Signed-off-by: Tom Rini <tom_rini@mentor.com>
-Index: klibc-1.5.20/klcc/makeklcc.pl
-===================================================================
--- a/klcc/makeklcc.pl
+++ b/klcc/makeklcc.pl
@@ -26,7 +26,7 @@ sub pathsearch($) {
diff --git a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.7.bb b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.13.bb
index 4011aa231e..4011aa231e 100644
--- a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.7.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.13.bb
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.7.bb b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.13.bb
index c835fd647a..0de580781b 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.7.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.13.bb
@@ -3,7 +3,7 @@ SUMMARY = "klibc utils for initramfs statically compiled"
FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
PACKAGES = "${PN}"
-FILES_${PN} = ""
+FILES:${PN} = ""
KLIBC_UTILS_VARIANT = "static"
KLIBC_UTILS_PKGNAME = "klibc-static-utils"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc b/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
index 00cb86d3e6..4e9fea88d1 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
@@ -50,7 +50,7 @@ EXTRA_KLIBC_DEPS = "${@oe.utils.conditional('KLIBC_UTILS_VARIANT', 'shared', '${
PACKAGES_DYNAMIC += "^${KLIBC_UTILS_PKGNAME}-.*"
-python populate_packages_prepend () {
+python populate_packages:prepend () {
base_bin_dir = d.expand('${base_bindir}')
do_split_packages(d, base_bin_dir, '(.*)', '${KLIBC_UTILS_PKGNAME}-%s', 'Klibc util for %s', extra_depends='${EXTRA_KLIBC_DEPS}', allow_links=True, allow_dirs=True)
base_sbin_dir = d.expand('${base_sbindir}')
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.7.bb b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.13.bb
index 06e71cb7b8..2f26093cbe 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.7.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.13.bb
@@ -3,7 +3,7 @@ SUMMARY = "klibc utils for initramfs"
FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
PACKAGES = "${PN}"
-FILES_${PN} = ""
+FILES:${PN} = ""
KLIBC_UTILS_VARIANT = "shared"
KLIBC_UTILS_PKGNAME = "klibc-utils"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc
index 54cd3c24bc..6093e19b7c 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "klibc is intended to be a minimalistic libc subset for \
use with initramfs. It is deliberately written for small size, \
minimal entaglement, and portability, not speed."
SECTION = "libs"
-LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib"
+LICENSE = "BSD-3-Clause & GPL-2.0-only & MIT & Zlib"
LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b"
DEPENDS = "linux-libc-headers perl-native"
@@ -10,34 +10,31 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/klibc/2.0/klibc-${PV}.tar.xz \
${ARMPATCHES} \
file://klcc-consider-sysroot.patch \
file://klcc-cross-accept-clang-options.patch \
- file://0001-dash-Specify-format-string-in-fmtstr.patch \
file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \
file://0001-include-linux-sysinfo.h-directly.patch \
file://0001-mkfifo-Implement-mkfifo.patch \
file://0001-always-use-bfd-linker.patch \
- file://0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch \
- file://0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch \
file://0001-arm-Do-not-set-a-fallback-march-and-mtune.patch \
file://0001-klibc_2.0.4-add-kexec_file_load-syscall.patch \
file://0001-klibc-add-getrandom-syscall.patch \
file://0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch \
- file://0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch \
+ file://cross-clang.patch \
+ file://0001-workaround-for-overlapping-sections-in-binary.patch \
"
ARMPATCHES ?= ""
-ARMPATCHES_arm = " \
+ARMPATCHES:arm = " \
file://armv4-fix-v4bx.patch \
"
-
-SRC_URI[md5sum] = "712f8bc1a069e03d92584b7f5380c521"
-SRC_URI[sha256sum] = "abef2637ca823485d9c90ce9512e2b08a65047ec4da204635eeaef95a41a9122"
+SRC_URI[sha256sum] = "d673a294f742d59368222ff5c38462d81098c55063799de6fb8a7ba3d4af0436"
S = "${WORKDIR}/klibc-${PV}"
-OPTFLAGS = "${TUNE_CCARGS} -Os"
-OPTFLAGS_append_toolchain-clang = " -fno-builtin-bcmp"
-OPTFLAGS_append_toolchain-clang_mipsarch = " -no-integrated-as"
+OPTFLAGS = "${TUNE_CCARGS} -Os -fcommon"
+OPTFLAGS:append = " ${DEBUG_PREFIX_MAP}"
+OPTFLAGS:append:toolchain-clang = " -fno-builtin-bcmp"
+OPTFLAGS:append:toolchain-clang:mipsarch = " -no-integrated-as"
PARALLEL_MAKE = ""
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
@@ -60,22 +57,22 @@ do_configure () {
ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux
}
-do_compile_prepend_toolchain-clang() {
+do_compile:prepend:toolchain-clang() {
sed -i -e 's#$(KLIBCROSS)gcc#$(KLIBCROSS)clang#g' ${S}/Makefile
}
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INSANE_SKIP_${PN} = "already-stripped"
-INSANE_SKIP_libklibc-dev = "dev-elf"
+INSANE_SKIP:${PN} = "already-stripped"
+INSANE_SKIP:libklibc-dev = "dev-elf"
KLIBC_ARCH = "${TARGET_ARCH}"
-KLIBC_ARCH_aarch64 = "arm64"
-KLIBC_ARCH_armeb = "arm"
-KLIBC_ARCH_mipsel = "mips"
-KLIBC_ARCH_mips64el = "mips64"
-KLIBC_ARCH_x86 = "i386"
-KLIBC_ARCH_x86-64 = "x86_64"
-KLIBC_ARCH_powerpc = "ppc"
-KLIBC_ARCH_powerpc64 = "ppc64"
-KLIBC_ARCH_powerpc64le = "ppc64"
+KLIBC_ARCH:aarch64 = "arm64"
+KLIBC_ARCH:armeb = "arm"
+KLIBC_ARCH:mipsel = "mips"
+KLIBC_ARCH:mips64el = "mips64"
+KLIBC_ARCH:x86 = "i386"
+KLIBC_ARCH:x86-64 = "x86_64"
+KLIBC_ARCH:powerpc = "ppc"
+KLIBC_ARCH:powerpc64 = "ppc64"
+KLIBC_ARCH:powerpc64le = "ppc64"
THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc_2.0.7.bb b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.13.bb
index 7df0b0a3d5..8dda9a8cdc 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc_2.0.7.bb
+++ b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.13.bb
@@ -16,9 +16,9 @@ do_install() {
PACKAGES = "libklibc libklibc-staticdev libklibc-dev"
-FILES_libklibc = "${libdir}/klibc-*.so"
-FILES_libklibc-staticdev = "${libdir}/klibc/lib/libc.a"
-FILES_libklibc-dev = "${libdir}/klibc.so \
+FILES:libklibc = "${libdir}/klibc-*.so"
+FILES:libklibc-staticdev = "${libdir}/klibc/lib/libc.a"
+FILES:libklibc-dev = "${libdir}/klibc.so \
${libdir}/klibc/lib/* \
${libdir}/klibc/include/* \
"
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch
new file mode 100644
index 0000000000..778d830128
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch
@@ -0,0 +1,32 @@
+From 884ec4c654f1d07a387fdc1dae5640606369f254 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Feb 2021 10:56:36 -0800
+Subject: [PATCH] make: Add compiler includes in cflags
+
+Fixes
+ In file included from ../git/ubi-utils/ubiformat.c:47:
+| ../git/include/common.h:22:10: fatal error: 'stdbool.h' file not found
+| #include <stdbool.h>
+| ^~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 5a6e77c..f0003d5 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9,6 +9,7 @@ endif
+ if WITHOUT_LZO
+ AM_CPPFLAGS += -DWITHOUT_LZO
+ endif
++AM_CPPFLAGS += -I$(shell $(CC) -print-file-name=include)
+
+ sbin_PROGRAMS =
+ sbin_SCRIPTS =
+--
+2.30.0
+
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
index 0475cbeaee..43ddb82a00 100644
--- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
@@ -1,29 +1,31 @@
SUMMARY = "UBI utils statically compiled against klibc"
DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs."
SECTION = "base"
-DEPENDS = "zlib lzo e2fsprogs util-linux"
+DEPENDS = "zlib e2fsprogs util-linux"
HOMEPAGE = "http://www.linux-mtd.infradead.org/"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
inherit autotools pkgconfig klibc
SRCREV = "64f61a9dc71b158c7084006cbce4ea23886f0b47"
-SRC_URI = "git://git.infradead.org/mtd-utils.git \
+SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \
file://0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch \
file://0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch \
file://0003-Makefile.am-only-build-ubi-utils.patch \
file://0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch \
file://0005-common.h-replace-getline-with-fgets.patch \
+ file://0001-make-Add-compiler-includes-in-cflags.patch \
"
-S = "${WORKDIR}/git/"
+S = "${WORKDIR}/git"
EXTRA_OECONF += "--disable-tests --without-jffs --without-ubifs"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}"
PACKAGECONFIG[xattr] = ",,acl,"
+PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'"
@@ -37,16 +39,16 @@ PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubideta
ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \
ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc"
-FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
-FILES_ubiattach-klibc = "${sbindir}/ubiattach"
-FILES_ubiblock-klibc = "${sbindir}/ubiblock"
-FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"
-FILES_ubidetach-klibc = "${sbindir}/ubidetach"
-FILES_ubiformat-klibc = "${sbindir}/ubiformat"
-FILES_ubimkvol-klibc = "${sbindir}/ubimkvol"
-FILES_ubinfo-klibc = "${sbindir}/ubinfo"
-FILES_ubinize-klibc = "${sbindir}/ubinize"
-FILES_ubirename-klibc = "${sbindir}/ubirename"
-FILES_ubirmvol-klibc = "${sbindir}/ubirmvol"
-FILES_ubirsvol-klibc = "${sbindir}/ubirsvol"
-FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
+FILES:mtdinfo-klibc = "${sbindir}/mtdinfo"
+FILES:ubiattach-klibc = "${sbindir}/ubiattach"
+FILES:ubiblock-klibc = "${sbindir}/ubiblock"
+FILES:ubicrc32-klibc = "${sbindir}/ubicrc32"
+FILES:ubidetach-klibc = "${sbindir}/ubidetach"
+FILES:ubiformat-klibc = "${sbindir}/ubiformat"
+FILES:ubimkvol-klibc = "${sbindir}/ubimkvol"
+FILES:ubinfo-klibc = "${sbindir}/ubinfo"
+FILES:ubinize-klibc = "${sbindir}/ubinize"
+FILES:ubirename-klibc = "${sbindir}/ubirename"
+FILES:ubirmvol-klibc = "${sbindir}/ubirmvol"
+FILES:ubirsvol-klibc = "${sbindir}/ubirsvol"
+FILES:ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
index 5bbb178bc6..07fa841ccc 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
@@ -10,11 +10,9 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
purgatory/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 49ce80a..1542b3a 100644
--- a/purgatory/Makefile
+++ b/purgatory/Makefile
-@@ -47,7 +47,7 @@ purgatory/sha256.o: $(srcdir)/util_lib/sha256.c
+@@ -47,7 +47,7 @@ purgatory/sha256.o: $(srcdir)/util_lib/s
$(PURGATORY): CC=$(TARGET_CC)
$(PURGATORY): CFLAGS+=$(PURGATORY_EXTRA_CFLAGS) \
$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
@@ -23,14 +21,14 @@ index 49ce80a..1542b3a 100644
-fno-zero-initialized-in-bss \
-fno-PIC -fno-PIE -fno-stack-protector
-@@ -59,8 +59,8 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+@@ -59,8 +59,8 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATO
-Iinclude \
-I$(shell $(CC) -print-file-name=include)
$(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
- -Wl,--no-undefined -nostartfiles -nostdlib \
- -nodefaultlibs -e purgatory_start -r \
-+ -Wl,--no-undefined -Wl,-no-pie -Wl,-nostartfiles -Wl,-nostdlib \
-+ -Wl,-nodefaultlibs -Wl,--entry=purgatory_start -Wl,-r \
++ -Wl,--no-undefined -no-pie -nostartfiles -nostdlib \
++ -nodefaultlibs -Wl,--entry=purgatory_start -Wl,-r \
-Wl,-Map=$(PURGATORY_MAP)
$(PURGATORY): $(PURGATORY_OBJS)
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
index f4d0d5d942..eca01b956c 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
@@ -22,6 +22,8 @@ to fix :
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
kexec/Makefile | 2 +-
kexec/if_nameindex.c | 64 ++++++++++++++++++++++++++++++++++++++++++++
kexec/if_nameindex.h | 15 +++++++++++
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
index 9b8107aedc..044a70d93b 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
@@ -8,6 +8,8 @@ Subject: [PATCH] vmcore-dmesg: fix warning
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
vmcore-dmesg/vmcore-dmesg.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
index bd728ccb49..031efb6275 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
@@ -16,14 +16,14 @@ Signed-off-by: Konstantin Kuzov <master.nosferatu@gmail.com>
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
kexec/arch/mips/include/arch/options.h | 4 +-
kexec/arch/mips/kexec-elf-mips.c | 58 ++++++++++++++------------
kexec/arch/mips/kexec-mips.c | 4 ++
kexec/arch/mips/kexec-mips.h | 1 +
4 files changed, 39 insertions(+), 28 deletions(-)
-diff --git a/kexec/arch/mips/include/arch/options.h b/kexec/arch/mips/include/arch/options.h
-index 416e224..18d2811 100644
--- a/kexec/arch/mips/include/arch/options.h
+++ b/kexec/arch/mips/include/arch/options.h
@@ -5,6 +5,7 @@
@@ -44,11 +44,9 @@ index 416e224..18d2811 100644
#define KEXEC_ARCH_OPT_STR KEXEC_OPT_STR ""
-diff --git a/kexec/arch/mips/kexec-elf-mips.c b/kexec/arch/mips/kexec-elf-mips.c
-index 849a7ba..5c0e535 100644
--- a/kexec/arch/mips/kexec-elf-mips.c
+++ b/kexec/arch/mips/kexec-elf-mips.c
-@@ -141,35 +141,37 @@ int elf_mips_load(int argc, char **argv, const char *buf, off_t len,
+@@ -141,45 +141,49 @@ int elf_mips_load(int argc, char **argv,
else
cmdline_addr = 0;
@@ -63,9 +61,22 @@ index 849a7ba..5c0e535 100644
- } else {
- create_flatten_tree(&dtb_buf, &dtb_length, cmdline_buf + strlen(CMDLINE_PREFIX));
- }
-
+-
- if (arch_options.initrd_file) {
- initrd_buf = slurp_file(arch_options.initrd_file, &initrd_size);
+
+- /* Create initrd entries in dtb - although at this time
+- * they would not point to the correct location */
+- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size);
+-
+- initrd_base = add_buffer(info, initrd_buf, initrd_size,
+- initrd_size, sizeof(void *),
+- _ALIGN_UP(kernel_addr + kernel_size + dtb_length,
+- pagesize), 0x0fffffff, 1);
+-
+- /* Now that the buffer for initrd is prepared, update the dtb
+- * with an appropriate location */
+- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size);
+ if (!arch_options.no_dtb) {
+ /* MIPS systems that have been converted to use device tree
+ * passed through UHI will use commandline in the DTB and
@@ -78,39 +89,29 @@ index 849a7ba..5c0e535 100644
+ } else {
+ create_flatten_tree(&dtb_buf, &dtb_length, cmdline_buf + strlen(CMDLINE_PREFIX));
+ }
-
-- /* Create initrd entries in dtb - although at this time
-- * they would not point to the correct location */
-- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size);
++
+ if (arch_options.initrd_file) {
+ initrd_buf = slurp_file(arch_options.initrd_file, &initrd_size);
-
-- initrd_base = add_buffer(info, initrd_buf, initrd_size,
-- initrd_size, sizeof(void *),
-- _ALIGN_UP(kernel_addr + kernel_size + dtb_length,
-- pagesize), 0x0fffffff, 1);
++
+ /* Create initrd entries in dtb - although at this time
+ * they would not point to the correct location */
-+ dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size);
-
-- /* Now that the buffer for initrd is prepared, update the dtb
-- * with an appropriate location */
-- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size);
-- }
++ dtb_set_initrd(&dtb_buf, &dtb_length, (off_t)initrd_buf, (off_t)initrd_buf + initrd_size);
++
+ initrd_base = add_buffer(info, initrd_buf, initrd_size,
+ initrd_size, sizeof(void *),
+ _ALIGN_UP(kernel_addr + kernel_size + dtb_length,
+ pagesize), 0x0fffffff, 1);
-
++
+ /* Now that the buffer for initrd is prepared, update the dtb
+ * with an appropriate location */
+ dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size);
+ }
-+ }
+ }
+-
/* This is a legacy method for commandline passing used
* currently by Octeon CPUs only */
-@@ -177,9 +179,11 @@ int elf_mips_load(int argc, char **argv, const char *buf, off_t len,
+ add_buffer(info, cmdline_buf, sizeof(cmdline_buf),
sizeof(cmdline_buf), sizeof(void *),
cmdline_addr, 0x0fffffff, 1);
@@ -125,8 +126,6 @@ index 849a7ba..5c0e535 100644
return 0;
}
-diff --git a/kexec/arch/mips/kexec-mips.c b/kexec/arch/mips/kexec-mips.c
-index 415c2ed..e557f8b 100644
--- a/kexec/arch/mips/kexec-mips.c
+++ b/kexec/arch/mips/kexec-mips.c
@@ -89,6 +89,7 @@ void arch_usage(void)
@@ -137,7 +136,7 @@ index 415c2ed..e557f8b 100644
);
}
-@@ -121,6 +122,9 @@ int arch_process_options(int argc, char **argv)
+@@ -121,6 +122,9 @@ int arch_process_options(int argc, char
case OPT_RAMDISK:
arch_options.initrd_file = optarg;
break;
@@ -147,8 +146,6 @@ index 415c2ed..e557f8b 100644
default:
break;
}
-diff --git a/kexec/arch/mips/kexec-mips.h b/kexec/arch/mips/kexec-mips.h
-index 222c815..90b21c3 100644
--- a/kexec/arch/mips/kexec-mips.h
+++ b/kexec/arch/mips/kexec-mips.h
@@ -22,6 +22,7 @@ struct arch_options_t {
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/Fix-building-on-x86_64-with-binutils-2.41.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/Fix-building-on-x86_64-with-binutils-2.41.patch
new file mode 100644
index 0000000000..4894f044fc
--- /dev/null
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/Fix-building-on-x86_64-with-binutils-2.41.patch
@@ -0,0 +1,95 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Michel Lind <salimma@fedoraproject.org>
+Date: Tue, 30 Jan 2024 04:14:31 -0600
+Subject: [PATCH] Fix building on x86_64 with binutils 2.41
+
+Newer versions of the GNU assembler (observed with binutils 2.41) will
+complain about the ".arch i386" in files assembled with "as --64",
+with the message "Error: 64bit mode not supported on 'i386'".
+
+Fix by moving ".arch i386" below the relevant ".code32" directive, so
+that the assembler is no longer expecting 64-bit instructions to be used
+by the time that the ".arch i386" directive is encountered.
+
+Based on similar iPXE fix:
+https://github.com/ipxe/ipxe/commit/6ca597eee
+
+Signed-off-by: Michel Lind <michel@michel-slm.name>
+Signed-off-by: Simon Horman <horms@kernel.org>
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?h=main&id=328de8e00e298f00d7ba6b25dc3950147e9642e6]
+Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
+---
+ purgatory/arch/i386/entry32-16-debug.S | 2 +-
+ purgatory/arch/i386/entry32-16.S | 2 +-
+ purgatory/arch/i386/entry32.S | 2 +-
+ purgatory/arch/i386/setup-x86.S | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/purgatory/arch/i386/entry32-16-debug.S b/purgatory/arch/i386/entry32-16-debug.S
+index 5167944..12e1164 100644
+--- a/purgatory/arch/i386/entry32-16-debug.S
++++ b/purgatory/arch/i386/entry32-16-debug.S
+@@ -25,10 +25,10 @@
+ .globl entry16_debug_pre32
+ .globl entry16_debug_first32
+ .globl entry16_debug_old_first32
+- .arch i386
+ .balign 16
+ entry16_debug:
+ .code32
++ .arch i386
+ /* Compute where I am running at (assumes esp valid) */
+ call 1f
+ 1: popl %ebx
+diff --git a/purgatory/arch/i386/entry32-16.S b/purgatory/arch/i386/entry32-16.S
+index c051aab..eace095 100644
+--- a/purgatory/arch/i386/entry32-16.S
++++ b/purgatory/arch/i386/entry32-16.S
+@@ -20,10 +20,10 @@
+ #undef i386
+ .text
+ .globl entry16, entry16_regs
+- .arch i386
+ .balign 16
+ entry16:
+ .code32
++ .arch i386
+ /* Compute where I am running at (assumes esp valid) */
+ call 1f
+ 1: popl %ebx
+diff --git a/purgatory/arch/i386/entry32.S b/purgatory/arch/i386/entry32.S
+index f7a494f..8ce9e31 100644
+--- a/purgatory/arch/i386/entry32.S
++++ b/purgatory/arch/i386/entry32.S
+@@ -20,10 +20,10 @@
+ #undef i386
+
+ .text
+- .arch i386
+ .globl entry32, entry32_regs
+ entry32:
+ .code32
++ .arch i386
+
+ /* Setup a gdt that should that is generally usefully */
+ lgdt %cs:gdt
+diff --git a/purgatory/arch/i386/setup-x86.S b/purgatory/arch/i386/setup-x86.S
+index 201bb2c..a212eed 100644
+--- a/purgatory/arch/i386/setup-x86.S
++++ b/purgatory/arch/i386/setup-x86.S
+@@ -21,10 +21,10 @@
+ #undef i386
+
+ .text
+- .arch i386
+ .globl purgatory_start
+ purgatory_start:
+ .code32
++ .arch i386
+
+ /* Load a gdt so I know what the segment registers are */
+ lgdt %cs:gdt
+--
+2.39.2
+
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
index c2418d8fa0..a3b7789eba 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
@@ -13,6 +13,8 @@ ng: "__bitwise" redefined
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
kexec/arch/arm64/crashdump-arm64.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
index 5323a81e6b..89a5d34c83 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] arm- backport from oe-core
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
+Upstream-Status: Pending
+
kexec/arch/arm/crashdump-arm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/include_next.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/include_next.patch
new file mode 100644
index 0000000000..29ea1d9f18
--- /dev/null
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/include_next.patch
@@ -0,0 +1,24 @@
+Upstream-Status: Pending
+
+--- a/kexec/Makefile
++++ b/kexec/Makefile
+@@ -110,7 +110,7 @@ $(KEXEC): $(KEXEC_OBJS) $(UTIL_LIB)
+ @$(MKDIR) -p $(@D)
+ $(LINK.o) -o $@ $^ $(CFLAGS) $(LIBS)
+
+-$(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include
++$(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include -I$(shell $(CC) -print-file-name=include)
+
+ kexec/fs2dt.o: CPPFLAGS+=$($(ARCH)_FS2DT_INCLUDE)
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -46,7 +46,7 @@ TARGET_CFLAGS = @TARGET_CFLAGS@
+ # Base compiler flags. These are extended by the subcomponent-Makefiles
+ # where necessary.
+ CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \
+- -Iinclude/ $($(ARCH)_CPPFLAGS)
++ -Iinclude/ $($(ARCH)_CPPFLAGS) -I$(shell $(CC) -print-file-name=include)
+ CFLAGS = @CFLAGS@ -static -fno-strict-aliasing -Wall -Wstrict-prototypes
+ PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@
+ ASFLAGS = @ASFLAGS@ $($(ARCH)_ASFLAGS)
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
index 6497fb4160..1c58e92b35 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
@@ -3,6 +3,8 @@ From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 Mar 2019 00:22:40 -0700
---
+Upstream-Status: Pending
+
kexec/kexec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 7ad55d8b8c..363cdb9adf 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
@@ -1,22 +1,23 @@
# the binaries are statically linked against klibc
SUMMARY = "Kexec tools, statically compiled against klibc"
-AUTHOR = "Eric Biederman"
HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
SECTION = "kernel/userland"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
-PV = "2.0.18+git${SRCPV}"
+PV = "2.0.18+git"
DEPENDS = "zlib xz"
-inherit klibc autotools
+inherit klibc autotools siteinfo
-SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git"
+SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git;branch=master"
SRCREV = "5750980cdbbc33ef75bfba6660295b932376ce15"
BUILD_PATCHES = "file://0001-force-static-build.patch \
- file://0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch"
+ file://0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch \
+ file://Fix-building-on-x86_64-with-binutils-2.41.patch \
+ "
KLIBC_PATCHES += " \
file://0003-kexec-elf-rel-use-our-elf.h.patch \
@@ -32,7 +33,9 @@ KLIBC_PATCHES += " \
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://klibc-reboot.patch"
+ file://klibc-reboot.patch \
+ file://include_next.patch \
+ "
WARNING_FIXES = ""
FROM_OE_CORE = "file://arm_crashdump-fix-buffer-align.patch \
@@ -41,22 +44,22 @@ FROM_OE_CORE = "file://arm_crashdump-fix-buffer-align.patch \
SRC_URI += "${BUILD_PATCHES} ${KLIBC_PATCHES} ${WARNING_FIXES} ${FROM_OE_CORE}"
-SRC_URI_append_arm = " file://arm_crashdump.patch"
+SRC_URI:append:arm = " file://arm_crashdump.patch"
-SRC_URI_append_mips = " file://140-mips_disable_devicetree_support.patch"
-SRC_URI_append_mipsel = " file://140-mips_disable_devicetree_support.patch"
+SRC_URI:append:mips = " file://140-mips_disable_devicetree_support.patch"
+SRC_URI:append:mipsel = " file://140-mips_disable_devicetree_support.patch"
-SRC_URI_append_x86 = " file://x86_sys_io.patch file://x86_basename.patch \
+SRC_URI:append:x86 = " file://x86_sys_io.patch file://x86_basename.patch \
file://x86_vfscanf.patch file://x86_kexec_test.patch"
-SRC_URI_append_x86-64 = " file://x86_sys_io.patch file://x86_basename.patch \
+SRC_URI:append:x86-64 = " file://x86_sys_io.patch file://x86_basename.patch \
file://x86_vfscanf.patch file://x86_kexec_test.patch"
-SRC_URI_append_aarch64 = " file://arm64_kexec-image-header.h-add-missing-le64toh.patch \
+SRC_URI:append:aarch64 = " file://arm64_kexec-image-header.h-add-missing-le64toh.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"
+SRC_URI:append:powerpc = " file://powerpc-purgatory-Makefile-remove-unknown-flags.patch"
S = "${WORKDIR}/git"
@@ -64,19 +67,10 @@ EXTRA_OECONF += "--without-zlib --without-lzma --without-xen"
# fix purgatory/printf.c:2:10: fatal error: limits.h: No such file or directory
# fix include/limits.h:42:10: fatal error: bitsize/limits.h: No such file or directory
-COMMON_CFLAGS += "-O2 -I${STAGING_DIR_HOST}${libdir}/klibc/include -I${S}/purgatory/include"
-CFLAGS_x86_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
-CFLAGS_x86-64_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
-CFLAGS_arm_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
-CFLAGS_aarch64_append = "${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
-CFLAGS_mips_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
-CFLAGS_mipsel_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
-CFLAGS_mips64_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
-CFLAGS_mips64el_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
-CFLAGS_powerpc_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
-
-
-do_compile_prepend() {
+CFLAGS += "-O2 -I${STAGING_DIR_HOST}${libdir}/klibc/include -I${S}/purgatory/include \
+ -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits${SITEINFO_BITS}"
+
+do_compile:prepend() {
# Remove the prepackaged config.h from the source tree as it overrides
# the same file generated by configure and placed in the build tree
rm -f ${S}/include/config.h
@@ -93,9 +87,9 @@ do_compile_prepend() {
PACKAGES =+ "kexec-klibc vmcore-dmesg-klibc"
-FILES_kexec-klibc = "${sbindir}/kexec"
-FILES_vmcore-dmesg-klibc = "${sbindir}/vmcore-dmesg"
+FILES:kexec-klibc = "${sbindir}/kexec"
+FILES:vmcore-dmesg-klibc = "${sbindir}/vmcore-dmesg"
-INSANE_SKIP_${PN} = "arch"
+INSANE_SKIP:${PN} = "arch"
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'