zephyr/scripts/build
Mathieu Choplain 8aa6ae43ce llext: add support for SLID-based linking
This commit introduces support for an alternate linking method in the
LLEXT subsystem, called "SLID" (short for Symbol Link Identifier),
enabled by the CONFIG_LLEXT_EXPORT_BUILTINS_BY_SLID Kconfig option.

SLID-based linking uses a unique identifier (integer) to identify
exported symbols, instead of using the symbol name as done currently.
This approach provides several benefits:
 * linking is faster because the comparison operation to determine
   whether we found the correct symbol in the export table is now an
   integer compare, instead of a string compare
 * binary size is reduced as symbol names can be dropped from the binary
 * confidentiality is improved as a side-effect, as symbol names are no
   longer present in the binary

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-06-03 15:29:34 -04:00
..
check_init_priorities.py scripts: build: check_init_priorities.py: Add missing raise for error 2024-04-30 16:20:12 +02:00
check_init_priorities_test.py scripts: check_init_priorities: rework the error messages 2023-11-03 11:45:23 +01:00
dir_is_writeable.py scripts: move dir_is_writeable.py to scripts/build 2022-07-12 10:03:45 +02:00
elf_parser.py scripts/build/elf_parser.py: make dependency graph output deterministic 2023-12-04 14:24:32 +01:00
file2hex.py scripts: build: file2hex: Add optional offset and length parameters 2023-09-15 13:23:30 +02:00
gen_app_partitions.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_cfb_font_header.py scripts: Update CFB font generator 2023-09-13 14:40:00 -07:00
gen_device_deps.py scripts: build: gen_device_deps: s/--dynamic-handles/--dynamic-deps 2023-06-21 09:32:05 +02:00
gen_image_info.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_isr_tables.py script: gen_isr_tables: remove unnecessary warning log 2024-02-26 11:55:59 +00:00
gen_isr_tables_parser_carrays.py scripts: build: gen_isr_tables: Implement local ISR generation 2024-02-02 19:49:36 +01:00
gen_isr_tables_parser_local.py scripts: build: gen_isr_tables: Implement local ISR generation 2024-02-02 19:49:36 +01:00
gen_kobject_list.py scripts: build: gen_kobject_list.py check _driver_api suffix 2024-05-03 14:44:41 +01:00
gen_kobject_placeholders.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_offset_header.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_relocate_app.py code_relocation: Add NOKEEP option 2024-01-15 13:20:17 +01:00
gen_strerror_table.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_strsignal_table.py posix: signal: implement strsignal 2023-07-18 15:35:42 -04:00
gen_symtab.py debug: symtab: fix linking issue due to variable redefinition 2024-05-30 16:52:01 -05:00
gen_syscalls.py build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
llext_inject_slids.py llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
llext_prepare_exptab.py llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
llext_slidlib.py llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
mergehex.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
parse_syscalls.py scripts/build: make struct_tags.json deterministic 2023-12-11 09:51:22 +01:00
process_gperf.py syscall: rename z_object_find -> k_object_find 2023-11-03 11:46:52 +01:00
subfolder_list.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
uf2conv.py scripts: Update uf2conv.py from upstream git. 2024-05-08 09:31:07 -04:00
uf2families.json scripts: Update uf2conv.py from upstream git. 2024-05-08 09:31:07 -04:00
user_wordsize.py scripts: move user_wordsize.py to scripts/build/user_wordsize.py 2022-07-12 10:03:45 +02:00