zephyr/cmake
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
..
app cmake: function to update Zephyr_DIR when loading old Zephyr packages 2022-03-07 16:35:54 +01:00
bintools ARC: MWDT: rework GNU helper tools usage 2023-06-17 07:44:31 -04:00
compiler ARC: MWDT: rework GNU helper tools usage 2023-06-17 07:44:31 -04:00
emu Twister: Add integration with renode-test 2023-05-26 09:43:49 -04:00
flash west: runners: uf2: Add new UF2 runner. 2023-02-20 12:50:38 +01:00
ide license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
linker device: use iterable sections 2023-05-12 12:01:10 +02:00
linker_script sensing: initial sensor list and enumerate each sensor 2023-06-17 07:43:25 -04:00
makefile_exports cmake: using zephyr_get_compile_options_for_lang_as_string for export 2020-12-15 08:37:54 -05:00
modules kernel: syscalls: no need to include all syscalls in binary 2023-06-17 07:57:45 -04:00
reports scripts: size_report: Add support for TF-M and BL2 image size reports 2022-03-09 14:03:52 -05:00
sca/sparse cmake: add sparse support to the new SCA infrastructure 2023-01-27 20:28:58 +09:00
toolchain ARC: MWDT: rework GNU helper tools usage 2023-06-17 07:44:31 -04:00
usage cmake: boards and shields cmake files repurposed 2022-02-22 10:02:39 -08:00
util license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
cfb.cmake scripts: move gen_cfb_font_header.py to scripts/build 2022-07-12 10:03:45 +02:00
extra_flags.cmake cmake: fix improper use of separate_arguments 2022-09-05 10:22:05 +02:00
gcc-m-cpu.cmake ARC: Add HS4x support 2023-05-02 16:54:24 +02:00
gcc-m-fpu.cmake cmake: gcc: Fix Cortex-R52 FPU type 2022-10-19 00:28:33 +09:00
gen_version_h.cmake cmake: generalize VERSION infrastructure for better reuse 2023-05-17 13:56:58 +02:00
hex.cmake license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
kobj.cmake scripts: move gen_kobject_list.py to scripts/build/gen_kobject_list.py 2022-07-12 10:03:45 +02:00
mcuboot.cmake cmake: mcuboot: Add warning if missing Kconfig signing options 2023-05-26 09:07:49 -04:00
package_helper.cmake cmake: update package helper description to use EXTRA_CONF_FILE var 2023-05-23 16:40:21 +02:00
pristine.cmake cmake: pristine.cmake requires SOURCE_DIR and BINARY_DIR as arguments 2021-01-23 08:31:13 -05:00
target_toolchain_flags.cmake everywhere: fix typos 2022-03-14 20:22:24 -04:00
verify-toolchain.cmake cmake: rework of host tools and generic toolchain handling 2022-09-01 15:59:43 +02:00
vif.cmake USB-C: genVIF: Cleanup and add support to pick static data from input 2023-05-26 13:54:43 -04:00