ELF-Loader: C++ plugin support, loader overhaul. (#1744)

* fap-loader: load all code and data sections
* fap-loader: relocate all code and data sections
* fap-loader: remove old elf loader
* fap-loader: new jmp call relocation
* openocd: resume on detach
* fap-loader: trampoline for big jumps
* fap-loader: rename cache
* fap-loader: init_array support
* fap-loader: untangled flipper_application into separate entities
* fap-loader: fix debug
* fap-loader: optimize section container
* fap-loader: optimize key for section container
* fap-loader: disable debug log
* documentation
* F7: bump api symbols version
* Lib: cleanup elf_file.c

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Sergey Gavrilov
2022-09-26 00:11:29 +10:00
committed by GitHub
parent 7e2008095e
commit e6d22ed147
14 changed files with 1094 additions and 649 deletions

View File

@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,1.9,,
Version,+,1.10,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/cli/cli.h,,
Header,+,applications/services/cli/cli_vcp.h,,
@@ -779,13 +779,13 @@ Function,-,fiprintf,int,"FILE*, const char*, ..."
Function,-,fiscanf,int,"FILE*, const char*, ..."
Function,+,flipper_application_alloc,FlipperApplication*,"Storage*, const ElfApiInterface*"
Function,+,flipper_application_free,void,FlipperApplication*
Function,-,flipper_application_get_entry_address,const void*,FlipperApplication*
Function,+,flipper_application_get_manifest,const FlipperApplicationManifest*,FlipperApplication*
Function,-,flipper_application_get_state,const FlipperApplicationState*,FlipperApplication*
Function,-,flipper_application_get_thread,FuriThread*,FlipperApplication*
Function,+,flipper_application_load_status_to_string,const char*,FlipperApplicationLoadStatus
Function,+,flipper_application_manifest_is_compatible,_Bool,"const FlipperApplicationManifest*, const ElfApiInterface*"
Function,+,flipper_application_manifest_is_valid,_Bool,const FlipperApplicationManifest*
Function,+,flipper_application_map_to_memory,FlipperApplicationLoadStatus,FlipperApplication*
Function,+,flipper_application_preload,FlipperApplicationPreloadStatus,"FlipperApplication*, const char*"
Function,+,flipper_application_preload_manifest,FlipperApplicationPreloadStatus,"FlipperApplication*, const char*"
Function,-,flipper_application_preload_status_to_string,const char*,FlipperApplicationPreloadStatus
Function,+,flipper_application_spawn,FuriThread*,"FlipperApplication*, void*"
Function,+,flipper_format_buffered_file_alloc,FlipperFormat*,Storage*
1 entry status name type params
2 Version + 1.9 1.10
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/cli/cli.h
5 Header + applications/services/cli/cli_vcp.h
779 Function - fiscanf int FILE*, const char*, ...
780 Function + flipper_application_alloc FlipperApplication* Storage*, const ElfApiInterface*
781 Function + flipper_application_free void FlipperApplication*
Function - flipper_application_get_entry_address const void* FlipperApplication*
782 Function + flipper_application_get_manifest const FlipperApplicationManifest* FlipperApplication*
Function - flipper_application_get_state const FlipperApplicationState* FlipperApplication*
Function - flipper_application_get_thread FuriThread* FlipperApplication*
783 Function + flipper_application_load_status_to_string const char* FlipperApplicationLoadStatus
784 Function + flipper_application_manifest_is_compatible _Bool const FlipperApplicationManifest*, const ElfApiInterface*
785 Function + flipper_application_manifest_is_valid _Bool const FlipperApplicationManifest*
786 Function + flipper_application_map_to_memory FlipperApplicationLoadStatus FlipperApplication*
787 Function + flipper_application_preload FlipperApplicationPreloadStatus FlipperApplication*, const char*
788 Function + flipper_application_preload_manifest FlipperApplicationPreloadStatus FlipperApplication*, const char*
789 Function - flipper_application_preload_status_to_string const char* FlipperApplicationPreloadStatus
790 Function + flipper_application_spawn FuriThread* FlipperApplication*, void*
791 Function + flipper_format_buffered_file_alloc FlipperFormat* Storage*