tools/mkimport: Add system map to mkimport script.#1816
tools/mkimport: Add system map to mkimport script.#1816xiaoxiang781216 merged 1 commit intoapache:masterfrom
Conversation
The `make export` target from the Nuttx repository correctly packs the System.map file. This change ensure that ./tools/mkimport.sh extracts this file correctly into the `import`correctly.
|
I am wondering. The export package for a FLAT build contains only libraries, header files, and misc. build files. True? I does not contained the fully linked executable, does it? The System.map provides addresses for some linked binary that is not included in export package. If all of that is true, then when you link your files to create a custom application, that old System.map may not be valid. I feel like I am missing something. |
Greg, your original "make export" used to export the System.map, please take a look at the Makefile from elfprog-nosymtab.tar.gz : https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629542 Maybe the functions map could be loaded using another approach, what do you suggest? |
|
@g2gps this is the error when loading the elf-nosym hello example: If you go back to 7.25 and follow my video you will see that it works |
I suppose this depends on how you are using the export. If you export the libaries, headers, and build files and then build a new FLASH image, the old System.map is useless. In that case, you should run nm against to the new binary to generate the System.map. But you all are right. If you build the FLASH image then just want to build ELF modules later to match the symbols in the FLASH image, then the System.map is still valuable and useful. I concede that. I had the first use case in mind when I commented. |
|
So, let's merge this patch. |
Summary
The
make exporttarget from the Nuttx repository correctly packs the System.map file. This change ensure that ./tools/mkimport.sh extracts this file correctly into theimportcorrectly.Impact
The
System.mapfile is now available in the import directory for applications to build against.Testing
Notice the addition of the
System.mapfile.