zephyr/scripts
Luca Burelli 78ae035f89 llext: fix link order for weak syscall symbols
The weak syscall symbols generated by gen_syscalls.py are currently
compiled in the LLEXT subsystem library, which is then linked among all
other Zephyr libraries in an unspecified order. This can cause the weak
symbols to override the actual syscall implementations, leading to
undefined behaviour.

To fix this, the currently generated file is split in two elements:

- syscall_exports_llext.c contains the EXPORT_SYMBOL directives for all
  syscalls. This part can be compiled with the LLEXT library and linked
  among all other Zephyr libraries, and ensures all syscalls symbols
  are preserved by the linker.

- syscall_weakdefs_llext.c contains the weak definitions for all syscalls.
  This file is compiled in a separate library that is linked last, so
  that the weak symbols are only used if no other implementation is
  available.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-12-10 20:38:48 +01:00
..
build llext: fix link order for weak syscall symbols 2024-12-10 20:38:48 +01:00
checkpatch scripts: checkpatch: add NRF_GPIO_Type to typedefs file 2024-11-01 12:10:12 -05:00
ci CODEOWNERS: drop CODEOWNERS file as it's not used anymore 2024-12-03 04:01:27 +01:00
coccinelle scripts: coccinelle: add errno as a reserved name 2024-08-22 14:21:53 -04:00
coredump scripts: coredump: Fix loading coredumps when thread info is enabled. 2024-12-09 22:06:23 +00:00
dts edtlib: Express Node.matching_compat and Node.binding_path as @property 2024-11-25 08:31:18 +01:00
footprint ci: footprint: fix nrf5340dk/nrf5340/cpuapp board name 2024-10-25 14:08:18 +02:00
generate_usb_vif python: Format and sort imports 2024-11-25 10:07:13 +01:00
gitlint gitlint: do not allow treewide as an area in commit messages 2024-04-10 09:22:24 +02:00
kconfig python: Format and sort imports 2024-11-25 10:07:13 +01:00
logging/dictionary python: Format and sort imports 2024-11-25 10:07:13 +01:00
native_simulator native_simulator: Get latest from upstream 2024-10-24 17:01:50 +01:00
net tests|scripts/net: Change native_posix references to native_sim 2024-03-20 15:43:05 +01:00
profiling scripts: profiling: Add stackcollapse script 2024-08-13 18:28:44 -04:00
pylib twister: handler: open files using with statement 2024-12-09 15:10:19 +01:00
pylint/checkers scripts: pylint: Add argument parser abbreviation checker 2023-01-26 20:12:36 +09:00
release scripts: drop list_issues.py 2023-07-25 16:45:15 +02:00
ruff scripts: Add helper scripts for ruff baseline excludes 2024-11-19 18:36:54 -05:00
schemas twister: filters: add ability to filter by vendor 2024-11-27 06:58:23 -05:00
support treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
tests scripts: twister: drop support for space-separated lists 2024-12-04 14:14:53 -05:00
tracing tracing: add named event trace 2024-10-17 10:46:52 -04:00
utils python: Format and sort imports 2024-11-25 10:07:13 +01:00
west_commands scripts/west/sign: Auto-detect rimage ELF files 2024-12-05 22:08:55 +01:00
.gitignore
check_maintainers.py python: Format and sort imports 2024-11-25 10:07:13 +01:00
checkpatch.pl CODEOWNERS: drop CODEOWNERS file as it's not used anymore 2024-12-03 04:01:27 +01:00
checkstack.pl
coccicheck
dump_bugs_pickle.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_gcov_files.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
get_maintainer.py scripts: get_maintainer: check maintenance status 2024-06-28 07:19:49 -04:00
github_helpers.py scripts: add github_helpers.py 2022-05-24 18:48:03 +02:00
list_boards.py scripts: Undo Board.{dir -> directories[0]} renames 2024-10-26 17:14:06 +02:00
list_hardware.py scripts: list_hardware: Do not check qualifiers for run once config 2024-10-26 17:14:06 +02:00
list_shields.py scripts: list_shields: add script for listing the supported shields 2024-05-21 16:47:24 -04:00
make_bugs_pickle.py ci: scripts: do not count PRs labeled as bug in snapshot 2024-07-12 16:10:13 -04:00
requirements-base.txt commands: add the 'sdk' command to manage SDK. 2024-08-21 16:54:56 -04:00
requirements-build-test.txt scripts: coverage: gcovr to ignore negative counters 2023-11-03 07:57:10 -04:00
requirements-compliance.txt scripts: Update and lock ruff 2024-12-03 23:30:00 +00:00
requirements-extras.txt Revert "modules: nanopb: Move pip dependencies to optional module" 2024-11-29 21:45:54 +01:00
requirements-run-test.txt scripts: Remove wrong bz package 2024-09-23 09:59:56 +02:00
requirements.txt doc: move requirements to doc/ 2023-07-12 09:13:49 -04:00
series-push-hook.sh
set_assignees.py ci: set_assignee: pick next area when submitter = assignee 2024-07-10 19:14:17 -04:00
snippets.py terminology: adopt CMake, python, and Kconfig code to use qualifiers 2024-03-21 15:32:17 +01:00
spelling.txt scripts: RISCV instruction SEPC 2024-08-27 10:48:58 -04:00
tags.sh
twister scripts: twister: Python Version Guard 2024-11-04 17:24:24 -05:00
valgrind.supp valgrind: Update POSIX soc no cpu cleanup suppression 2023-11-29 15:33:49 +01:00
west-commands.yml scripts: west_commands: Add packages command 2024-11-25 12:16:43 +01:00
zephyr_module.py scripts: west_commands: Add packages command 2024-11-25 12:16:43 +01:00