-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
scripts/*syscalls.py: sort os.walk() for a more deterministic build #13446
scripts/*syscalls.py: sort os.walk() for a more deterministic build #13446
Conversation
Found by "disordered --shuffle-dirents=yes". Sorting os.walk() in scripts/subfolder_list.py removes the randomness in the following files: build/zephyr/misc/generated/syscalls_subdirs.txt build/zephyr/CMakeFiles/syscall_list_h_target.dir/ or build.ninja Sorting os.walk() in scripts/parse_syscalls.py removes the randomness in: build/zephyr/misc/generated/syscalls.json build/zephyr/include/generated/syscall_dispatch.c build/zephyr/include/generated/syscall_list.h Note my (limited so far) testing did *not* observe any randomness in any object file that this would address; the main purpose here is to remove a very large amount of noise in diffoscope. Signed-off-by: Marc Herbert <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #13446 +/- ##
=======================================
Coverage 52.5% 52.5%
=======================================
Files 318 318
Lines 46526 46526
Branches 10754 10754
=======================================
Hits 24429 24429
Misses 17198 17198
Partials 4899 4899 Continue to review full report at Codecov.
|
Previously the syscall list was generated only from the include folder. This is a limitation when the application tries to create system calls. This patch create a simple way to include these new syscalls without the application touching the kernel. This can be enabled by a Kconfig CONFIG_APPLICATION_DEFINED_SYSCALL. Once enabled the application source directory will be scanned to find all application defined syscalls. Signed-off-by: Adithya Baglody <[email protected]>
Seems like a good change. |
Very nice. |
BTW it's possible right now to entirely nullify the output of
It's unrelated to |
Another determinism fix if you liked this one: PR #13608 git describe --abbrev=12 |
Found by "disordered --shuffle-dirents=yes".
Sorting os.walk() in scripts/subfolder_list.py removes the randomness in
the following files:
build/zephyr/misc/generated/syscalls_subdirs.txt
build/zephyr/CMakeFiles/syscall_list_h_target.dir/ or build.ninja
Sorting os.walk() in scripts/parse_syscalls.py removes the randomness
in:
build/zephyr/misc/generated/syscalls.json
build/zephyr/include/generated/syscall_dispatch.c
build/zephyr/include/generated/syscall_list.h
Note my (limited so far) testing did not observe any randomness in any
object file that this would address; the main purpose here is to remove
a very large amount of noise in diffoscope.
Signed-off-by: Marc Herbert [email protected]