[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT/MUSL PATCH V2 00/28] Update to a first functional version
This patch series allows to have a first functional version of musl (compiles + links). Note that a subset of functions (related to threads and network) is not fully functional. Furthermore, some functions can have unexpected behaviour since they use musl internal thread support (future work: adapt musl threads implementation to Unikraft). We chose to consider musl network implementation in a first time. Nevertheless, this approach is temporary since a future work will be to add a 'posix-socket' library to Unikraft. This one will provide socket call. Therefore musl could then provide its own primitives and would be glueed to 'posix-socket'. Another future changes concern musl internal headers. In order to avoid conflicts and redefinitions, a future work will be to keep internal headers internal only. Finally, there exists a conflict with the "Unikraft" banner. This last breaks musl buffering on stdout. We are currently working on this issue on Unikraft and musl but a temporory fix is to disable the Unikraft banner in the ukboot library. Changes compared to V1: - Use syscall shim layer (complete review of syscalls management); - Integrate musl threads in musl build; - Use musl namespace in Makefile.uk; - Add stub for mprotect; - Adapt musl time with Unikraft time primitives; - Review musl build redefinitions; Gaulthier Gain (28): Add support for C++ applications Call configure after patching Review formatting for files generations in Makefile.uk Update compilation flags with musl namespace Remove files related to syscalls management Add glue code rules for mem.c in Makefile.uk Add stub for mprotect in mem.c Add patch to remove syscall prototype in unistd.h Add patch to rename __unused field to pad Add patch to update time.h to avoid conflicts with uktime Use syscall_shim layer instead of musl internal syscalls Use uk/bits/syscall_nrs.h instead of musl internal bits/syscall.h Update __syscall_cp.c to use syscalls from the syscall_shim layer Avoid multiple definitions by excluding functions related to dirent Avoid multiple definitions by excluding functions related to fcntl Avoid multiple definitions by excluding functions related to legacy Avoid multiple definitions by excluding functions related to linux Avoid multiple definitions by excluding functions related to misc Avoid multiple definitions by excluding functions related to process Avoid multiple definitions by excluding functions related to signal Avoid multiple definitions by excluding functions related to stat Avoid multiple definitions by excluding functions related to stdio Avoid multiple definitions by excluding functions related to time Avoid multiple definitions by excluding functions related to unistd Update Config.uk with the required micro-libs Update COPYING.md with musl specifications Update MAINTAINERS.md Update README.md with current status COPYING.md | 14 +- Config.uk | 15 +- MAINTAINERS.md | 8 +- Makefile.uk | 79 +++--- Makefile.uk.musl.dirent | 18 +- Makefile.uk.musl.fcntl | 10 +- Makefile.uk.musl.legacy | 8 +- Makefile.uk.musl.linux | 22 +- Makefile.uk.musl.misc | 6 +- Makefile.uk.musl.process | 24 +- Makefile.uk.musl.signal | 4 +- Makefile.uk.musl.stat | 28 +-- Makefile.uk.musl.stdio | 6 +- Makefile.uk.musl.time | 18 +- Makefile.uk.musl.unistd | 86 +++---- README.md | 10 + include/syscall.h | 238 ------------------ mem.c | 6 + ...-prototype-for-syscall-from-unistd.h.patch | 26 ++ patches/0001-prevent-local-syscall.patch | 13 - ...03-Avoid-reserved-__unused-in-stat.h.patch | 26 ++ patches/0003-prevent-local-syscall.patch | 21 -- patches/0004-Fix-time_h-conflicts.patch | 32 +++ patches/0005-Use-syscall-shim-layer.patch | 151 +++++++++++ patches/0006-Use-uk_bits_syscall_nrs.patch | 26 ++ ...-__syscall_cp-use-syscall-shim-layer.patch | 26 ++ syscall.c | 144 ----------- 27 files changed, 476 insertions(+), 589 deletions(-) delete mode 100644 include/syscall.h create mode 100644 patches/0001-Remove-prototype-for-syscall-from-unistd.h.patch delete mode 100644 patches/0001-prevent-local-syscall.patch create mode 100644 patches/0003-Avoid-reserved-__unused-in-stat.h.patch delete mode 100644 patches/0003-prevent-local-syscall.patch create mode 100644 patches/0004-Fix-time_h-conflicts.patch create mode 100644 patches/0005-Use-syscall-shim-layer.patch create mode 100644 patches/0006-Use-uk_bits_syscall_nrs.patch create mode 100644 patches/0007-__syscall_cp-use-syscall-shim-layer.patch delete mode 100644 syscall.c -- 2.20.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |