arch/x64:Fix the abnormal backtrace display issue

Need to wait until nuttx and allsymbols linking is completed before generating nuttx.mb1.

Signed-off-by: liwenxiang1 <liwenxiang1@xiaomi.com>
This commit is contained in:
liwenxiang1
2025-08-17 15:22:30 +08:00
committed by Xiang Xiao
parent addc6b165a
commit fceba08e0e
+31
View File
@@ -84,3 +84,34 @@ endif()
nuttx_add_extra_library(${EXTRA_LIB})
set(PREPROCESS ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} -E -P -x c)
if(CONFIG_ARCH_MULTIBOOT1)
message(STATUS "Generating: nuttx.mb1 in ELF32/multiboot1")
if(CONFIG_ALLSYMS)
set(FINAL_NUTTX_ELF "${CMAKE_BINARY_DIR}/final_nuttx")
else()
set(FINAL_NUTTX_ELF "${CMAKE_BINARY_DIR}/nuttx")
endif()
set(NUTTX_ELF "${CMAKE_BINARY_DIR}/nuttx")
set(NUTTX_BIN "${NUTTX_ELF}.bin")
set(NUTTX_REALMODE_BIN "${NUTTX_ELF}_realmode.bin")
set(NUTTX_MB1 "${NUTTX_ELF}.mb1")
add_custom_command(
OUTPUT ${NUTTX_BIN} ${NUTTX_REALMODE_BIN}
COMMAND ${CMAKE_OBJCOPY} -R .realmode -R .note.* -O binary
${FINAL_NUTTX_ELF} ${NUTTX_BIN}
COMMAND ${CMAKE_OBJCOPY} -j .realmode -O binary ${FINAL_NUTTX_ELF}
${NUTTX_REALMODE_BIN}
DEPENDS ${FINAL_NUTTX_ELF}
COMMENT "Generating binary and realmode segments from nuttx ELF")
add_custom_command(
OUTPUT ${NUTTX_MB1}
COMMAND
${CMAKE_C_COMPILER} -m32 -no-pie -nostdlib -DNUTTX_BIN='"${NUTTX_BIN}"'
-DNUTTX_REALMODE_BIN='"${NUTTX_REALMODE_BIN}"'
${CMAKE_SOURCE_DIR}/arch/x86_64/src/common/multiboot1.S -T
${CMAKE_SOURCE_DIR}/arch/x86_64/src/common/multiboot1.ld -o ${NUTTX_MB1}
DEPENDS ${NUTTX_BIN} ${NUTTX_REALMODE_BIN}
COMMENT "Building nuttx.mb1 multiboot1 image")
add_custom_target(multiboot1 ALL DEPENDS ${NUTTX_MB1})
endif()