aboutsummaryrefslogtreecommitdiffstats
path: root/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-3.1-x86-fix-efi-binary-generation-issue-in-cross-compila.patch
blob: 315ed354590fa5c41073e0824b9e7691f5acc5b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
From bad26e63d47b638fc1c0b268faf5cee9738efc35 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Thu, 28 Jul 2022 14:15:11 +0800
Subject: [PATCH] x86: fix efi binary generation issue in cross compilation env

Set root directory for headers.

Upstream-Status: Inappropriate [Cross-compilation specific]

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
 arch/x86/zefi/zefi.py                | 5 ++++-
 boards/x86/ehl_crb/CMakeLists.txt    | 1 +
 boards/x86/qemu_x86/CMakeLists.txt   | 1 +
 boards/x86/up_squared/CMakeLists.txt | 1 +
 4 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/x86/zefi/zefi.py b/arch/x86/zefi/zefi.py
index 1e95958bff..b356198aa6 100755
--- a/arch/x86/zefi/zefi.py
+++ b/arch/x86/zefi/zefi.py
@@ -109,8 +109,10 @@ def build_elf(elf_file, include_dirs):
     includes = []
     for include_dir in include_dirs:
         includes.extend(["-I", include_dir])
+    #  Pass --sysroot path for cross compilation
+    sysrootarg = "--sysroot=" + args.sysroot
     cmd = ([args.compiler, "-shared", "-Wall", "-Werror", "-I."] + includes +
-           ["-fno-stack-protector", "-fpic", "-mno-red-zone", "-fshort-wchar",
+           ["-fno-stack-protector", "-fpic", "-mno-red-zone", "-fshort-wchar", sysrootarg,
             "-Wl,-nostdlib", "-T", ldscript, "-o", "zefi.elf", cfile])
     verbose(" ".join(cmd))
     subprocess.run(cmd, check = True)
@@ -150,6 +152,7 @@ def parse_args():
     parser.add_argument("-v", "--verbose", action="store_true", help="Verbose output")
     parser.add_argument("-i", "--includes", required=True, nargs="+",
                         help="Zephyr base include directories")
+    parser.add_argument("-s", "--sysroot", required=True, help="Cross compilation --sysroot=path")
 
     return parser.parse_args()
 
diff --git a/boards/x86/ehl_crb/CMakeLists.txt b/boards/x86/ehl_crb/CMakeLists.txt
index cdf8c9e097..6ea94b54e1 100644
--- a/boards/x86/ehl_crb/CMakeLists.txt
+++ b/boards/x86/ehl_crb/CMakeLists.txt
@@ -7,6 +7,7 @@ set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
   -i ${ZEPHYR_BASE}/include
      $<$<BOOL:${CONFIG_LEGACY_INCLUDE_PATH}>:${ZEPHYR_BASE}/include/zephyr>
   -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf
+  -s ${SYSROOT_DIR}
   $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
   WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
 )
diff --git a/boards/x86/qemu_x86/CMakeLists.txt b/boards/x86/qemu_x86/CMakeLists.txt
index 8d227f8b26..a5d6480bc3 100644
--- a/boards/x86/qemu_x86/CMakeLists.txt
+++ b/boards/x86/qemu_x86/CMakeLists.txt
@@ -6,6 +6,7 @@ set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
      $<$<BOOL:${CONFIG_LEGACY_INCLUDE_PATH}>:${ZEPHYR_BASE}/include/zephyr>
   -o ${CMAKE_OBJCOPY}
   -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf
+  -s ${SYSROOT_DIR}
   $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
   WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
 )
diff --git a/boards/x86/up_squared/CMakeLists.txt b/boards/x86/up_squared/CMakeLists.txt
index b867282d60..43cd081b21 100644
--- a/boards/x86/up_squared/CMakeLists.txt
+++ b/boards/x86/up_squared/CMakeLists.txt
@@ -7,6 +7,7 @@ set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
   -i ${ZEPHYR_BASE}/include
      $<$<BOOL:${CONFIG_LEGACY_INCLUDE_PATH}>:${ZEPHYR_BASE}/include/zephyr>
   -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf
+  -s ${SYSROOT_DIR}
   $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
   WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
 )
-- 
2.25.1