Skip to content

Commit

Permalink
make/disassembly: generate disassembly file
Browse files Browse the repository at this point in the history
Create the nuttx.asm in the disassembly format using the objdump program.

NOTE:
'>', objdump doesn't take arguments for output file,
but result is printed to standard out, and is redirected.

Signed-off-by: fanjiangang <[email protected]>
Signed-off-by: chao an <[email protected]>
  • Loading branch information
atmfjg authored and anchao committed Aug 16, 2024
1 parent b64fb09 commit 92faf95
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,12 @@ config RAW_BINARY
different loaders using the GNU objcopy program. This option
should not be selected if you are not using the GNU toolchain.

config RAW_DISASSEMBLY
bool "Create a disassembly file"
default n
---help---
Create the nuttx.asm in the disassembly format using the objdump program.

menuconfig UBOOT_UIMAGE
bool "U-Boot uImage"
select RAW_BINARY
Expand Down
9 changes: 9 additions & 0 deletions cmake/nuttx_generate_outputs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,13 @@ function(nuttx_generate_outputs target)
add_custom_target(${target}-bin ALL DEPENDS ${target}.bin)
file(APPEND ${CMAKE_BINARY_DIR}/nuttx.manifest "${target}.bin\n")
endif()

if(CONFIG_RAW_DISASSEMBLY)
add_custom_command(
OUTPUT ${target}.asm
COMMAND ${CMAKE_OBJDUMP} -d ${target} > ${target}.asm
DEPENDS ${target})
add_custom_target(${target}-asm ALL DEPENDS ${target}.asm)
file(APPEND ${CMAKE_BINARY_DIR}/nuttx.manifest "${target}.asm\n")
endif()
endfunction(nuttx_generate_outputs)
5 changes: 5 additions & 0 deletions tools/Unix.mk
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,11 @@ ifeq ($(CONFIG_UBOOT_UIMAGE),y)
cp -f uImage /tftpboot/uImage; \
fi
$(Q) echo "uImage" >> nuttx.manifest
endif
ifeq ($(CONFIG_RAW_DISASSEMBLY),y)
@echo "CP: nuttx.asm"
$(Q) $(OBJDUMP) -d $(BIN) > nuttx.asm
$(Q) echo nuttx.bin >> nuttx.asm
endif
$(call POSTBUILD, $(TOPDIR))

Expand Down

0 comments on commit 92faf95

Please sign in to comment.