zephyr/scripts/build
Luca Burelli 7094eae111 llext: support multiple string and symbol tables
The ELF format allows for multiple string and symbol tables with
complex references between them. This is especially evident when
debugging information is included.

This patch fixes the issues that have been identified with multiple
string tables to allow LLEXT to properly parse those files:

* The symbol table used by LLEXT (LLEXT_MEM_SYMTAB) is now chosen
  depending on the loaded file type, and other tables are ignored.
  This change is also applied to the SLID injection script.

* The LLEXT string table (LLEXT_MEM_SYMTAB) is now correctly identified
  by the symbol table reference, instead of picking the first one.

* VMA range checks only make sense for allocated sections.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-01-27 08:54:44 +01:00
..
check_init_priorities_test.py scripts: build: check_init_priorities: remove obsolete code 2024-10-02 09:49:53 +02:00
check_init_priorities.py scripts: build: check_init_priorities: remove obsolete code 2024-10-02 09:49:53 +02:00
dir_is_writeable.py python: Format trivial files where only newlines were missing 2024-11-21 20:10:51 +01:00
elf_parser.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
file2hex.py
gen_app_partitions.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_cfb_font_header.py
gen_device_deps.py
gen_image_info.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_isr_tables_parser_carrays.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_isr_tables_parser_local.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_isr_tables.py
gen_iter_sections.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_kobject_list.py
gen_kobject_placeholders.py
gen_offset_header.py
gen_relocate_app.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_strerror_table.py
gen_strsignal_table.py
gen_symtab.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_syscalls.py Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
llext_inject_slids.py llext: support multiple string and symbol tables 2025-01-27 08:54:44 +01:00
llext_prepare_exptab.py
llext_slidlib.py python: Format trivial files where only newlines were missing 2024-11-21 20:10:51 +01:00
mergehex.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
parse_syscalls.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
process_gperf.py scripts: process_gperf: upgrade the asso_values type to unsigned short 2024-11-27 06:57:23 -05:00
subfolder_list.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
uf2conv.py
uf2families.json UF2: Enable support for Raspberry Pi RP2350 2024-12-23 23:57:57 +01:00
user_wordsize.py python: Format trivial files where only newlines were missing 2024-11-21 20:10:51 +01:00