summaryrefslogtreecommitdiff
path: root/Kernel
diff options
context:
space:
mode:
authorGunnar Beutner <gbeutner@serenityos.org>2021-07-15 18:17:58 +1000
committerGunnar Beutner <gunnar@beutner.name>2021-07-15 11:04:30 +0200
commite4f05a904694dafdd7c62be0df328ee381a975d1 (patch)
tree685cf191210f7b1d527f8ae465f6f3ab8181b26d /Kernel
parent3b5b7c5e6579d31fa3d8ea8debad85e118c78a74 (diff)
downloadserenity-e4f05a904694dafdd7c62be0df328ee381a975d1.zip
Kernel: Make new kernel build process work on macOS
Use objcopy from the toolchain so that the changes introduced in 7236584 will succeed on macOS. Fixes #8768.
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/CMakeLists.txt4
-rw-r--r--Kernel/embedmap.sh3
2 files changed, 4 insertions, 3 deletions
diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt
index d432da9980..8b2ace0027 100644
--- a/Kernel/CMakeLists.txt
+++ b/Kernel/CMakeLists.txt
@@ -413,9 +413,9 @@ add_dependencies(${KERNEL_TARGET} kernel_heap)
add_custom_command(
TARGET ${KERNEL_TARGET} POST_BUILD
- COMMAND ${TOOLCHAIN_PREFIX}objcopy -O elf32-i386 ${CMAKE_CURRENT_BINARY_DIR}/${KERNEL_TARGET} ${CMAKE_CURRENT_BINARY_DIR}/Kernel
+ COMMAND ${CMAKE_OBJCOPY} -O elf32-i386 ${CMAKE_CURRENT_BINARY_DIR}/${KERNEL_TARGET} ${CMAKE_CURRENT_BINARY_DIR}/Kernel
COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/mkmap.sh
- COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/embedmap.sh
+ COMMAND ${CMAKE_COMMAND} -E env OBJCOPY=${CMAKE_OBJCOPY} sh ${CMAKE_CURRENT_SOURCE_DIR}/embedmap.sh
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/Kernel ${CMAKE_CURRENT_BINARY_DIR}/kernel.map
)
diff --git a/Kernel/embedmap.sh b/Kernel/embedmap.sh
index 2f341fd97d..58e33e8a1f 100644
--- a/Kernel/embedmap.sh
+++ b/Kernel/embedmap.sh
@@ -1,5 +1,6 @@
#!/bin/sh
tmp=$(mktemp)
(cat kernel.map; printf '%b' '\0') > "$tmp"
-objcopy --update-section .ksyms="$tmp" Kernel
+OBJCOPY="${OBJCOPY:-objcopy}"
+"$OBJCOPY" --update-section .ksyms="$tmp" Kernel
rm -f "$tmp"