| # - 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 ">;" ) |