binfmt/elf: support ELF debugging with separation of source code and debugging information.
Summary
Obtain ELF related information when loading and unloading ELF, update the module information in the loadable_module_descriptor type array through loadable_module_create and loadable_module_destroy, and the local PC loads the elf debugging letter through the python gdb script for remote debugging.
Impact
binfmt elf lod and unload process.
Testing
Amazing @LevelCA you created a great documentation! That is something we need most! Kudos!
BTW, in the diagram I suggest you to replace the name Vela with NuttX Board because otherwise people could think it only works on Vela
@LevelCA please fix this error:
Warning, treated as error:
/home/runner/work/nuttx/nuttx/Documentation/components/binfmt.rst:414:Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 70]
bool loadable_module_create(const char *symfile_name, void *text_addr,
----------------------------------------------------------------------^
make: *** [Makefile:47: html] Error 2
Error: Process completed with exit code 2.
@acassis Thank you very much for your suggestions, I will submit the latest changes later.
@acassis This commit depends on another PR. After it is merged, I will update the latest commit.