0437884e2d
The POSIX functions sched_getscheduler(), sched_setscheduler(), sched_getparam(), sched_setparam() are technically not correctly implemented by the Linux syscalls of the same name, because what the kernel calls a PID and what POSIX calls a PID isn't truly the same, resulting in somewhat different semantics as to what these functions exactly apply to. Details: https://sourceware.org/bugzilla/show_bug.cgi?id=14829 Since the musl developers put a high premium on POSIX compliance, they deliberately implement these functions to return -ENOSYS instead of relaying them to the respective Linux syscalls as glibc/uClibc do. Unfortunally this breaks virtually all Linux programs using these functions under musl. For example running 'chrt -p 1' fails with 'Function not implemented' on a musl-libc based system. In particular, it affects embedded systems using these interfaces for scheduling real-time processes. As it seems unfeasible to fix all affected programs to manually use syscall wrappers instead of the libc functions, make musl behave the Linux way. Signed-off-by: Stefan Nickl <Stefan.Nickl@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitlab-ci.yml.in | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches