112 lines
4.8 KiB
CMake
112 lines
4.8 KiB
CMake
# - memusage: Name of command for memusage
|
|
# In this implementation `sizeac` is used
|
|
set_property(TARGET bintools PROPERTY memusage_command "${CMAKE_SIZE}")
|
|
set_property(TARGET bintools PROPERTY memusage_flag "-gq")
|
|
set_property(TARGET bintools PROPERTY memusage_infile "")
|
|
|
|
|
|
# List of format the tool supports for converting, for example,
|
|
# GNU tools uses objectcopy, which supports the following: ihex, srec, binary
|
|
set_property(TARGET bintools PROPERTY elfconvert_formats ihex srec binary)
|
|
|
|
# MWDT toolchain does not support all options in a single command
|
|
# Therefore a CMake script is used, so that multiple commands can be executed
|
|
# successively.
|
|
set_property(TARGET bintools PROPERTY elfconvert_command ${CMAKE_COMMAND})
|
|
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag
|
|
-DELF2HEX=${CMAKE_ELF2HEX}
|
|
-DELF2BIN=${CMAKE_ELF2BIN}
|
|
-DSTRIP=${CMAKE_STRIP}
|
|
-DOBJCOPY=${CMAKE_OBJCOPY}
|
|
)
|
|
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_final
|
|
-P ${CMAKE_CURRENT_LIST_DIR}/elfconvert_command.cmake)
|
|
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_strip_all "-DSTRIP_ALL=True")
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_strip_debug "-DSTRIP_DEBUG=True")
|
|
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_intarget "-DINTARGET=")
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_outtarget "-DOUTTARGET=")
|
|
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_section_remove "-DREMOVE_SECTION=")
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_section_only "-DONLY_SECTION=")
|
|
|
|
# mwdt doesn't handle rename, consider adjusting abstraction.
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_section_rename "-DRENAME_SECTION=")
|
|
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_gapfill "-DGAP_FILL=")
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_srec_len "-DSREC_LEN=")
|
|
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_infile "-DINFILE=")
|
|
set_property(TARGET bintools PROPERTY elfconvert_flag_outfile "-DOUTFILE=")
|
|
|
|
# - disassembly : Name of command for disassembly of files
|
|
# In this implementation `elfdumpac` is used
|
|
# disassembly_flag : -T
|
|
# disassembly_flag_final : empty
|
|
# disassembly_flag_inline_source : -S
|
|
# disassembly_flag_all : empty
|
|
# disassembly_flag_infile : empty
|
|
# disassembly_flag_outfile : '>'
|
|
set_property(TARGET bintools PROPERTY disassembly_command ${CMAKE_OBJDUMP})
|
|
set_property(TARGET bintools PROPERTY disassembly_flag -T)
|
|
set_property(TARGET bintools PROPERTY disassembly_flag_final "")
|
|
set_property(TARGET bintools PROPERTY disassembly_flag_inline_source -S)
|
|
set_property(TARGET bintools PROPERTY disassembly_flag_all "") # No support for all ?
|
|
|
|
set_property(TARGET bintools PROPERTY disassembly_flag_infile "")
|
|
set_property(TARGET bintools PROPERTY disassembly_flag_outfile > )
|
|
|
|
#
|
|
# - readelf : Name of command for reading elf files.
|
|
# In this implementation `elfdumpac ` is used
|
|
# readelf_flag : empty
|
|
# readelf_flag_final : empty
|
|
# readelf_flag_headers : -qshp
|
|
# readelf_flag_infile : empty
|
|
# readelf_flag_outfile : '>'
|
|
|
|
# This is using elfdumpac from mwdt.
|
|
set_property(TARGET bintools PROPERTY readelf_command ${CMAKE_READELF})
|
|
|
|
set_property(TARGET bintools PROPERTY readelf_flag "")
|
|
set_property(TARGET bintools PROPERTY readelf_flag_final "")
|
|
set_property(TARGET bintools PROPERTY readelf_flag_headers -qshp)
|
|
|
|
set_property(TARGET bintools PROPERTY readelf_flag_infile "")
|
|
set_property(TARGET bintools PROPERTY readelf_flag_outfile > )
|
|
|
|
#
|
|
# - strip: Name of command for stripping symbols
|
|
# In this implementation `stripac` is used
|
|
# strip_flag : empty
|
|
# strip_flag_final : empty
|
|
# strip_flag_all : -qls
|
|
# strip_flag_debug : -ql
|
|
# strip_flag_dwo : empty
|
|
# strip_flag_infile : empty
|
|
# strip_flag_outfile : -o
|
|
|
|
# This is using strip from bintools.
|
|
set_property(TARGET bintools PROPERTY strip_command ${CMAKE_STRIP})
|
|
|
|
# Any flag the strip command requires for processing
|
|
set_property(TARGET bintools PROPERTY strip_flag "")
|
|
set_property(TARGET bintools PROPERTY strip_flag_final "")
|
|
|
|
set_property(TARGET bintools PROPERTY strip_flag_all -qls)
|
|
set_property(TARGET bintools PROPERTY strip_flag_debug -ql)
|
|
|
|
set_property(TARGET bintools PROPERTY strip_flag_infile "")
|
|
set_property(TARGET bintools PROPERTY strip_flag_outfile -o )
|
|
|
|
# list symbols in a binary
|
|
set_property(TARGET bintools PROPERTY symbols_command ${CMAKE_NM})
|
|
# flags are set to be as close to gnu nm format as possible
|
|
set_property(TARGET bintools PROPERTY symbols_flag "-xhpqgn")
|
|
set_property(TARGET bintools PROPERTY symbols_final "")
|
|
set_property(TARGET bintools PROPERTY symbols_infile "")
|
|
set_property(TARGET bintools PROPERTY symbols_outfile ">;" )
|