Signed-off-by: Khem Raj <[email protected]> Cc: Bruce Ashfield <[email protected]> --- ...sed-64-Define-__force_order-only-whe.patch | 42 +++++++++++++++++++ meta/recipes-kernel/linux/linux-yocto_5.2.bb | 2 + 2 files changed, 44 insertions(+) create mode 100644 meta/recipes-kernel/linux/files/0001-x86-boot-compressed-64-Define-__force_order-only-whe.patch
diff --git a/meta/recipes-kernel/linux/files/0001-x86-boot-compressed-64-Define-__force_order-only-whe.patch b/meta/recipes-kernel/linux/files/0001-x86-boot-compressed-64-Define-__force_order-only-whe.patch new file mode 100644 index 0000000000..bd48de6dd9 --- /dev/null +++ b/meta/recipes-kernel/linux/files/0001-x86-boot-compressed-64-Define-__force_order-only-whe.patch @@ -0,0 +1,42 @@ +From 199caf12cdbe24796dc31fbd4fe5729ba2acf659 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Fri, 20 Dec 2019 17:42:02 -0800 +Subject: [PATCH] x86/boot/compressed/64: Define __force_order only when + CONFIG_RANDOMIZE_BASE is unset + +kaslr_64.c also defines the same variable, however when both files are +included into final link, linker complains about multiple definition of +`__force_order' which is coming from kaslr_64.o and pgtable_64.o, its +possible that kaslr_64.o is disabled via CONFIG_RANDOMIZE_BASE config +option, therefore define it conditionally only when +CONFIG_RANDOMIZE_BASE is not set + +Signed-off-by: Khem Raj <[email protected]> +Cc: Kirill A. Shutemov <[email protected]> +Cc: Kees Cook <[email protected]> +Cc: "H. Peter Anvin" <[email protected]> +Cc: Ingo Molnar <[email protected]> +Cc: Thomas Gleixner <[email protected]> +Cc: x86-ml <[email protected]> +Cc: Arnd Bergmann <[email protected]> +--- + arch/x86/boot/compressed/pgtable_64.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/x86/boot/compressed/pgtable_64.c b/arch/x86/boot/compressed/pgtable_64.c +index c8862696a47b..077d19268b0b 100644 +--- a/arch/x86/boot/compressed/pgtable_64.c ++++ b/arch/x86/boot/compressed/pgtable_64.c +@@ -12,7 +12,9 @@ + * It is not referenced from the code, but GCC < 5 with -fPIE would fail + * due to an undefined symbol. Define it to make these ancient GCCs work. + */ ++#ifndef CONFIG_RANDOMIZE_BASE + unsigned long __force_order; ++#endif + + #define BIOS_START_MIN 0x20000U /* 128K, less than this is insane */ + #define BIOS_START_MAX 0x9f000U /* 640K, absolute maximum */ +-- +2.24.1 + diff --git a/meta/recipes-kernel/linux/linux-yocto_5.2.bb b/meta/recipes-kernel/linux/linux-yocto_5.2.bb index ff0f547399..5af0924808 100644 --- a/meta/recipes-kernel/linux/linux-yocto_5.2.bb +++ b/meta/recipes-kernel/linux/linux-yocto_5.2.bb @@ -29,6 +29,8 @@ SRCREV_meta ?= "bd0762cd138f1624b5a5f8669cfa3ac2b71cb87b" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.2;destsuffix=${KMETA}" +SRC_URI += "file://0001-x86-boot-compressed-64-Define-__force_order-only-whe.patch" + LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" LINUX_VERSION ?= "5.2.20" -- 2.24.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
