zephyr/scripts/build
Daniel Leung 80e78208e6 kernel: syscalls: no need to include all syscalls in binary
The syscall generation phase parses all header files to look
for potential syscalls, and emits all the relevant files to
enable syscalls. However, this results in all the syscall
marshalling functions being included in the final binary.
This is due to these functions being referred to inside
the dispatch list, resulting in ineffective garbage
collection during linking. Previous commits allows each
drivers and subsystems to specify which header files
containing syscalls are relevant. So this commit changes
the syscall generation to only include the syscalls needed
for the build in the syscall dispatch list and removing
various bits related to that. This allows the linker to
garbage collect unused syscall related function, and thus
reducing final binary size.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-06-17 07:57:45 -04:00
..
check_init_priorities.py scripts: check_init_priorities: add extra verbose output 2023-06-02 04:47:24 -04:00
check_init_priorities_test.py scripts: check_init_priorities: add extra verbose output 2023-06-02 04:47:24 -04: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: fix relocatable data offsets 2023-06-02 18:53:06 -04:00
file2hex.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_app_partitions.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_cfb_font_header.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_handles.py device: dynamic device handles were declared as const 2023-06-14 13:48:02 -04:00
gen_image_info.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_isr_tables.py scripts: gen_isr_tables: fix pylint issues 2023-04-26 12:58:13 +02:00
gen_kobject_list.py sensor_shell: Update to new sensor_read API 2023-05-26 11:04:54 -05: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 gen_relocate_app: avoid hard-coding section name fragments 2023-04-07 13:12:13 +02:00
gen_strerror_table.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_syscalls.py kernel: syscalls: no need to include all syscalls in binary 2023-06-17 07:57:45 -04:00
mergehex.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
parse_syscalls.py kernel: syscalls: no need to include all syscalls in binary 2023-06-17 07:57:45 -04:00
process_gperf.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
subfolder_list.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
uf2conv.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
user_wordsize.py scripts: move user_wordsize.py to scripts/build/user_wordsize.py 2022-07-12 10:03:45 +02:00