From: Eduard Vintilă Date: Sun, 11 Dec 2022 11:04:19 +0000 (+0200) Subject: Upgrade musl to latest version (1.2.3) X-Git-Tag: RELEASE-0.12.0^0 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=484fc06ed7d20d80d6f8ba4f9112d1d872e85333;p=unikraft%2Flibs%2Fmusl.git Upgrade musl to latest version (1.2.3) Signed-off-by: Eduard Vintilă Reviewed-by: Stefan Jumarea Approved-by: Razvan Deaconescu Tested-by: Unikraft CI GitHub-Closes: #34 --- diff --git a/Makefile.uk b/Makefile.uk index 3eaf457..5d2f40a 100644 --- a/Makefile.uk +++ b/Makefile.uk @@ -35,10 +35,17 @@ ################################################################################ # This will reserve space within `uk_tls` for the pthread structure in Musl. # Please refer to ./arch/Makefile.rules for more details. -# For this version of Musl the size of "struct pthread" is 280. +# For this version of Musl the size of "struct pthread" is 200. ################################################################################ -$(eval $(call ukarch_tls_tcb_reserve,280)) +$(eval $(call ukarch_tls_tcb_reserve,200)) +################################################################################ +# On aarch64, newer versions of musl no longer expect a 16-byte reserved block +# at the end of the TCB. See: https://www.openwall.com/lists/musl/2018/06/01/14 +################################################################################ +ifeq (arm64,$(CONFIG_UK_ARCH)) +$(eval $(call aarch64_no_reserved_tcb_overlap)) +endif ################################################################################ # Library registration @@ -53,7 +60,7 @@ $(eval $(call addlib_s,libmuslglue,$(CONFIG_LIBMUSL))) ################################################################################ # Sources ################################################################################ -LIBMUSL_VERSION=1.1.19 +LIBMUSL_VERSION=1.2.3 LIBMUSL_URL=https://www.musl-libc.org/releases/musl-$(LIBMUSL_VERSION).tar.gz LIBMUSL_PATCHDIR=$(LIBMUSL_BASE)/patches $(eval $(call fetch,libmusl,$(LIBMUSL_URL))) @@ -77,6 +84,16 @@ LIBMUSL_GLOBAL_INCLUDES-y += -I$(LIBMUSL)/arch/$(MUSL_ARCH) LIBMUSL_GLOBAL_INCLUDES-y += -I$(LIBMUSL)/arch/generic LIBMUSL_GLOBAL_INCLUDES-y += -I$(LIBMUSL_BASE)/include +# Newer versions of Musl define internal wrapper headers for implementing some +# of the standard library headers (unistd.h, string.h etc.). These wrappers have exactly +# the same name as their standard counterparts, and they must be included very early in +# the include search path (i.e. before the CINCLUDES) for Musl source files. Due to how the +# build system is set up (see support/build/Makefile.rules), the only way we can do this +# is through the LIBMUSL_COMPFLAGS variable. +LIBMUSL_COMPFLAGS-y += -I$(LIBMUSL)/arch/$(MUSL_ARCH) +LIBMUSL_COMPFLAGS-y += -I$(LIBMUSL)/src/include +LIBMUSL_COMPFLAGS-y += -I$(LIBMUSL)/src/internal + CINCLUDES-y += $(LIBMUSL_GLOBAL_INCLUDES-y) CXXINCLUDES-y += $(LIBMUSL_GLOBAL_INCLUDES-y) @@ -139,6 +156,8 @@ LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/mem.c LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/__uk_init_tls.c LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/__uk_unmapself.c LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/__set_thread_area.c +LIBMUSLGLUE_COMPFLAGS-y += -I$(LIBMUSL)/src/include +LIBMUSLGLUE_COMPFLAGS-y += -I$(LIBMUSL)/src/internal LIBMUSLGLUE_CINCLUDES += -I$(LIBMUSL)/src/internal ################################################################################ diff --git a/Makefile.uk.musl.complex b/Makefile.uk.musl.complex index 154a000..d420a67 100644 --- a/Makefile.uk.musl.complex +++ b/Makefile.uk.musl.complex @@ -1,80 +1,75 @@ LIBMUSL_COMPLEX_HDRS-y += $(LIBMUSL)/include/complex.h +LIBMUSL_COMPLEX_HDRS-y += $(LIBMUSL)/src/internal/complex_impl.h LIBMUSL_COMPLEX_HDRS-y += $(LIBMUSL)/include/float.h -LIBMUSL_COMPLEX_HDRS-y += $(LIBMUSL)/src/intenal/libm.h ifeq ($(CONFIG_LIBMUSL_MATH),y) LIBMUSL_COMPLEX_HDRS-y += $(LIBMUSL)/include/tgmath.h endif -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinh.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinhl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/creal.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/__cexpf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinl.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cabs.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cexp.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccosl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccoshf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccosh.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csqrt.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccos.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cabsf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cabsl.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacos.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacosl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cexpf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cprojf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/conjf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanhl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/creall.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinl.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacosf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinh.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cimag.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctan.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinf.c -# TO DO: missing __mulxc3 -#LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cpowl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacosh.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacoshf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanhl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinhl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacoshl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacosl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/carg.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cargf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cargl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casin.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinh.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinhf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanl.c -# TO DO: missing __muldc3 -#LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cpow.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinhl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casinl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catan.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanf.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanh.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/__cexp.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/clogl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacosh.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cargl.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanhf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanhl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catanl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccos.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccosf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccosh.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccoshf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccoshl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccosl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/__cexp.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cexp.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/__cexpf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cexpf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cexpl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cimag.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cimagf.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cimagl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cprojl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/clog.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/clogf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/clogl.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/conj.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/conjf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/conjl.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cproj.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cargf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/catan.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cacoshl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/clogf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csqrtf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/clog.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/casin.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanh.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cexpl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cprojf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cprojl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/creal.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/crealf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/creall.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csin.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cabsf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cimagf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanhf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/carg.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinhf.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/crealf.c -# TO DO: missing __mulsc3 -#LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cpowf.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/cabsl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/conjl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccoshl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinh.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinhf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinhl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csinl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csqrt.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csqrtf.c LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/csqrtl.c -LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ccosf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctan.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanh.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanhf.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanhl.c +LIBMUSL_COMPLEX_SRCS-y += $(LIBMUSL)/src/complex/ctanl.c + $(eval $(call _libmusl_import_lib,complex,$(LIBMUSL_COMPLEX_HDRS-y),$(LIBMUSL_COMPLEX_SRCS-y))) diff --git a/Makefile.uk.musl.dirent b/Makefile.uk.musl.dirent index c64b2d7..4f97494 100644 --- a/Makefile.uk.musl.dirent +++ b/Makefile.uk.musl.dirent @@ -12,18 +12,7 @@ LIBMUSL_DIRENT_HDRS-y += $(LIBMUSL)/src/dirent/__dirent.h LIBMUSL_DIRENT_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_DIRENT_HDRS-y += $(LIBMUSL)/src/internal/syscall.h -LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/__getdents.c LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/alphasort.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/closedir.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/dirfd.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/fdopendir.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/opendir.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/readdir.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/readdir_r.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/rewinddir.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/scandir.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/seekdir.c -#LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/telldir.c LIBMUSL_DIRENT_SRCS-y += $(LIBMUSL)/src/dirent/versionsort.c $(eval $(call _libmusl_import_lib,dirent,$(LIBMUSL_DIRENT_HDRS-y),$(LIBMUSL_DIRENT_SRCS-y))) diff --git a/Makefile.uk.musl.env b/Makefile.uk.musl.env index cab319e..e69da8b 100644 --- a/Makefile.uk.musl.env +++ b/Makefile.uk.musl.env @@ -10,19 +10,21 @@ LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/signal.h LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/stddef.h LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/stdint.h LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/stdlib.h -LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/string.h -LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/src/internal/syscall.h +LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/src/include/string.h +LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/syscall.h LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/sys/mman.h +LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/src/include/unistd.h +LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/clearenv.c LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__environ.c +LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/getenv.c LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__init_tls.c LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__libc_start_main.c -LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__reset_tls.c -LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__stack_chk_fail.c -LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/clearenv.c -LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/getenv.c LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/putenv.c +LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__reset_tls.c +LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/secure_getenv.c LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/setenv.c +LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__stack_chk_fail.c LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/unsetenv.c $(eval $(call _libmusl_import_lib,env,$(LIBMUSL_ENV_HDRS-y),$(LIBMUSL_ENV_SRCS-y))) diff --git a/Makefile.uk.musl.exit b/Makefile.uk.musl.exit index 79aa64d..e6a381f 100644 --- a/Makefile.uk.musl.exit +++ b/Makefile.uk.musl.exit @@ -1,19 +1,23 @@ LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/src/internal/atomic.h +LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/src/internal/fork_impl.h +LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/src/internal/ksigaction.h LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/src/internal/libc.h +LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/src/internal/lock.h LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/src/internal/pthread_impl.h LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/include/signal.h LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/include/stdint.h LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/include/stdio.h LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/include/stdlib.h -LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/src/internal/syscall.h +LIBMUSL_EXIT_HDRS-y += $(LIBMUSL)/include/syscall.h + -LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/_Exit.c LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/abort.c -LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/arm/__aeabi_atexit.c +LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/abort_lock.c LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/assert.c -LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/at_quick_exit.c LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/atexit.c +LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/at_quick_exit.c LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/exit.c +LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/_Exit.c LIBMUSL_EXIT_SRCS-y += $(LIBMUSL)/src/exit/quick_exit.c $(eval $(call _libmusl_import_lib,exit,$(LIBMUSL_EXIT_HDRS-y),$(LIBMUSL_EXIT_SRCS-y))) diff --git a/Makefile.uk.musl.fenv b/Makefile.uk.musl.fenv index ec636a2..71b7c91 100644 --- a/Makefile.uk.musl.fenv +++ b/Makefile.uk.musl.fenv @@ -21,18 +21,5 @@ else LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/fenv.c endif -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/mips/fenv-sf.c -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/mips/fenv.S -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/mips64/fenv-sf.c -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/mips64/fenv.S -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/mipsn32/fenv-sf.c -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/mipsn32/fenv.S -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/powerpc/fenv-sf.c -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/powerpc/fenv.S -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/powerpc64/fenv.c -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/s390x/fenv.c -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/sh/fenv-nofpu.c -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/sh/fenv.S -#LIBMUSL_FENV_SRCS-y += $(LIBMUSL)/src/fenv/x32/fenv.s $(eval $(call _libmusl_import_lib,fenv,$(LIBMUSL_FENV_HDRS-y),$(LIBMUSL_FENV_SRCS-y))) diff --git a/Makefile.uk.musl.internal b/Makefile.uk.musl.internal index 6f909ff..515441f 100644 --- a/Makefile.uk.musl.internal +++ b/Makefile.uk.musl.internal @@ -1,6 +1,7 @@ LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/ctype.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/elf.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/errno.h +LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/features.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/float.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/src/internal/floatscan.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/src/internal/libc.h @@ -11,38 +12,24 @@ LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/src/internal/shgetc.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/stdint.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/stdio.h LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/string.h -LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/src/internal/syscall.h -LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/src/internal/version.h +LIBMUSL_INTERNAL_HDRS-y += $(LIBMUSL)/include/syscall.h + +LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/defsysinfo.c LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/floatscan.c LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/intscan.c LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/libc.c LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/procfdname.c LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/shgetc.c -LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/syscall.c|internal LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/syscall_ret.c LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/vdso.c LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/version.c + #ifeq (arm,$(CONFIG_UK_ARCH)) -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/arm/syscall.s|arm #else ifeq (x86_32,$(CONFIG_UK_ARCH)) -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/i386/syscall.s|i386 #else ifeq (x86_64,$(CONFIG_UK_ARCH)) -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/x86_64/syscall.s|x86_64 #endif -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/aarch64/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/microblaze/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/mips/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/mips64/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/mipsn32/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/or1k/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/powerpc/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/powerpc64/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/s390x/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/sh/__shcall.c -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/sh/syscall.s -#LIBMUSL_INTERNAL_SRCS-y += $(LIBMUSL)/src/internal/x32/syscall.s|x32 $(eval $(call _libmusl_import_lib,internal,$(LIBMUSL_INTERNAL_HDRS-y),$(LIBMUSL_INTERNAL_SRCS-y))) diff --git a/Makefile.uk.musl.ldso b/Makefile.uk.musl.ldso index ba1d26e..7390bf2 100644 --- a/Makefile.uk.musl.ldso +++ b/Makefile.uk.musl.ldso @@ -36,15 +36,5 @@ LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/dlsym.c endif endif -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/microblaze/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/mips/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/mips64/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/mipsn32/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/or1k/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/powerpc/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/powerpc64/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/s390x/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/sh/dlsym.s -#LIBMUSL_LDSO_SRCS-y += $(LIBMUSL)/src/ldso/x32/dlsym.s $(eval $(call _libmusl_import_lib,ldso,$(LIBMUSL_LDSO_HDRS-y),$(LIBMUSL_LDSO_SRCS-y))) diff --git a/Makefile.uk.musl.legacy b/Makefile.uk.musl.legacy index b086a1d..08d2697 100644 --- a/Makefile.uk.musl.legacy +++ b/Makefile.uk.musl.legacy @@ -21,11 +21,8 @@ LIBMUSL_LEGACY_HDRS-y += $(LIBMUSL)/include/unistd.h LIBMUSL_LEGACY_HDRS-y += $(LIBMUSL)/include/utmpx.h LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/cuserid.c -#LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/daemon.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/err.c -#LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/euidaccess.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/ftw.c -#LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/futimes.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/getdtablesize.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/getloadavg.c ifneq ($(CONFIG_LIBPOSIX_SYSINFO),y) @@ -34,7 +31,6 @@ endif LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/getpass.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/getusershell.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/isastream.c -#LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/lutimes.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/ulimit.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/utmpx.c LIBMUSL_LEGACY_SRCS-y += $(LIBMUSL)/src/legacy/valloc.c diff --git a/Makefile.uk.musl.linux b/Makefile.uk.musl.linux index 18aea15..ff19844 100644 --- a/Makefile.uk.musl.linux +++ b/Makefile.uk.musl.linux @@ -53,6 +53,7 @@ LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/fallocate.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/fanotify.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/flock.c LIBMUSL_LINUX_SRCS-$(CONFIG_LIBUKSWRAND) += $(LIBMUSL)/src/linux/getrandom.c +LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/getdents.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/inotify.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/ioperm.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/iopl.c @@ -96,6 +97,5 @@ LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/vmsplice.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/wait3.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/wait4.c LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/xattr.c -#LIBMUSL_LINUX_SRCS-y += $(LIBMUSL)/src/linux/x32/sysinfo.c $(eval $(call _libmusl_import_lib,linux,$(LIBMUSL_LINUX_HDRS-y),$(LIBMUSL_LINUX_SRCS-y))) diff --git a/Makefile.uk.musl.locale b/Makefile.uk.musl.locale index bffe0a2..54fef19 100644 --- a/Makefile.uk.musl.locale +++ b/Makefile.uk.musl.locale @@ -1,53 +1,52 @@ LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/internal/atomic.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/big5.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/codepages.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/ctype.h +LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/endian.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/errno.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/gb18030.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/hkscs.h +LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/internal/fork_impl.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/iconv.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/jis0208.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/ksc.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/langinfo.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/legacychars.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/libintl.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/limits.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/locale.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/internal/locale_impl.h +LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/internal/lock.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/monetary.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/nl_types.h +LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/pthread.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/internal/pthread_impl.h -LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/src/locale/revjis.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/stdarg.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/stdint.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/stdio.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/stdlib.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/string.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/strings.h +LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/sys/mman.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/sys/stat.h LIBMUSL_LOCALE_HDRS-y += $(LIBMUSL)/include/wchar.h -LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/__lctrans.c -LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/__mo_lookup.c + LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/bind_textdomain_codeset.c -LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/c_locale.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/catclose.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/catgets.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/catopen.c +LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/c_locale.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/dcngettext.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/duplocale.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/freelocale.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/iconv.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/iconv_close.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/langinfo.c -LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/locale_map.c +LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/__lctrans.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/localeconv.c +LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/locale_map.c +LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/__mo_lookup.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/newlocale.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/pleval.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/setlocale.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/strcoll.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/strfmon.c +LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/strtod_l.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/strxfrm.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/textdomain.c LIBMUSL_LOCALE_SRCS-y += $(LIBMUSL)/src/locale/uselocale.c diff --git a/Makefile.uk.musl.malloc b/Makefile.uk.musl.malloc index e9c2113..cc765e7 100644 --- a/Makefile.uk.musl.malloc +++ b/Makefile.uk.musl.malloc @@ -10,14 +10,5 @@ LIBMUSL_MALLOC_HDRS-y += $(LIBMUSL)/include/string.h LIBMUSL_MALLOC_HDRS-y += $(LIBMUSL)/src/internal/syscall.h LIBMUSL_MALLOC_HDRS-y += $(LIBMUSL)/include/sys/mman.h -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/__brk.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/aligned_alloc.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/calloc.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/expand_heap.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/lite_malloc.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/malloc.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/malloc_usable_size.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/memalign.c -#LIBMUSL_MALLOC_SRCS-y += $(LIBMUSL)/src/malloc/posix_memalign.c $(eval $(call _libmusl_import_lib,malloc,$(LIBMUSL_MALLOC_HDRS-y),$(LIBMUSL_MALLOC_SRCS-y))) diff --git a/Makefile.uk.musl.math b/Makefile.uk.musl.math index 9d9a844..0a189e8 100644 --- a/Makefile.uk.musl.math +++ b/Makefile.uk.musl.math @@ -220,15 +220,15 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/expl.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/expm1.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/expm1f.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/expm1l.s|i386 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fabs.s|i386 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fabsf.s|i386 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fabsl.s|i386 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fabs.c|i386 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fabsf.c|i386 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fabsl.c|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/floor.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/floorf.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/floorl.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fmod.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fmodf.s|i386 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fmodl.s|i386 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/fmodl.c|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/hypot.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/hypotf.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/ldexp.s|i386 @@ -274,7 +274,209 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/trunc.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/truncf.s|i386 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/i386/truncl.s|i386 else ifeq (x86_64,$(CONFIG_UK_ARCH)) -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/__invtrigl.s|x86_64 +# reset sources proviously added +LIBMUSL_MATH_SRCS-y = +# base sources (skips the ones replaced by x86_64) +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/acos.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/acosf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/acosh.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/acoshf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/acoshl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/asin.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/asinf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/asinh.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/asinhf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/asinhl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atan2.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atan2f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atan.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atanf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atanh.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atanhf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atanhl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cbrt.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cbrtf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cbrtl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ceil.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ceilf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/copysign.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/copysignf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/copysignl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__cos.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cos.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__cosdf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cosf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cosh.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/coshf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/coshl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__cosl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cosl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/erf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/erff.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/erfl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp10.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp10f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp10l.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp2.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp2f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp2f_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expm1.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expm1f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__expo2.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__expo2f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fdim.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fdimf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fdiml.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/finite.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/finitef.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/floor.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/floorf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmal.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmax.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmaxf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmaxl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmin.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fminf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fminl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmod.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmodf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__fpclassify.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__fpclassifyf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__fpclassifyl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/frexp.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/frexpf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/frexpl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/hypot.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/hypotf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/hypotl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ilogb.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ilogbf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ilogbl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/j0.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/j0f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/j1.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/j1f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/jn.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/jnf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ldexp.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ldexpf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ldexpl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgamma.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgammaf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgammaf_r.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgammal.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgamma_r.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llround.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llroundf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llroundl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log10.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log10f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log1p.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log1pf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2f_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logb.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logbf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logbl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logf_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lround.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lroundf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lroundl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_divzero.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_divzerof.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_invalid.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_invalidf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_invalidl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_oflow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_oflowf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_uflow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_uflowf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_xflow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_xflowf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/modf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/modff.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/modfl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nan.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nanf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nanl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nearbyint.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nearbyintf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nearbyintl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nextafter.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nextafterf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nextafterl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nexttoward.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nexttowardf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nexttowardl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__polevll.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/pow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/pow_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/powf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/powf_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/powl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remainder.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remainderf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2_large.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2l.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remquo.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remquof.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/rint.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/rintf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/round.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/roundf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/roundl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalb.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalbf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalbln.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalblnf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalblnl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalbn.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalbnf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalbnl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__signbit.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__signbitf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__signbitl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/signgam.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/significand.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/significandf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__sin.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sin.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sincos.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sincosf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sincosl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__sindf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinh.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinhf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinhl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__sinl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sqrt_data.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__tan.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tan.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__tandf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tanf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tanh.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tanhf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tanhl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__tanl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tanl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tgamma.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tgammaf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tgammal.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/trunc.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/truncf.c +# x86_64 specific sources LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/acosl.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/asinl.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/atan2l.s|x86_64 @@ -283,27 +485,32 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/ceill.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/exp2l.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/expl.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/expm1l.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabs.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabsf.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabsl.s|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabs.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabsf.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabsl.c|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/floorl.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fmodl.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrint.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrintf.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrintl.s|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fma.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fmaf.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/fmodl.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/__invtrigl.s|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrint.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrintf.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrintl.c|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/log10l.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/log1pl.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/log2l.s|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/logl.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrint.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrintf.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrintl.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/remainderl.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/rintl.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrt.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrtf.s|x86_64 -LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrtl.s|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrint.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrintf.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrintl.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/remainderl.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/remquol.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/rintl.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrt.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrtf.c|x86_64 +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrtl.c|x86_64 LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x86_64/truncl.s|x86_64 + else ifeq (arm64,$(CONFIG_UK_ARCH)) # reset sources proviously added LIBMUSL_MATH_SRCS-y = @@ -332,8 +539,6 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/atanl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cbrt.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cbrtf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/cbrtl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ceil.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ceilf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/ceill.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/copysign.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/copysignf.c @@ -355,8 +560,10 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp10f.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp10l.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp2.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp2f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp2f_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp2l.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/exp_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expm1.c @@ -364,25 +571,15 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expm1f.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/expm1l.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__expo2.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__expo2f.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fabs.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fabsf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fabsl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fdim.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fdimf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fdiml.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/finite.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/finitef.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/floor.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/floorf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/floorl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fma.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmaf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmal.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmax.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmaxf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmaxl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmin.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fminf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fminl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmod.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/fmodf.c @@ -414,11 +611,7 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgammaf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgammaf_r.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgammal.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lgamma_r.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llrint.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llrintf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llrintl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llround.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llroundf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/llroundl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log10.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log10f.c @@ -427,28 +620,37 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log1p.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log1pf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log1pl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2f.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2f_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log2l.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logb.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logbf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logbl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/log_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logf_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/logl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lrint.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lrintf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lrintl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lround.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lroundf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/lroundl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_divzero.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_divzerof.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_invalid.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_invalidf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_invalidl.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_oflow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_oflowf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_uflow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_uflowf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_xflow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__math_xflowf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/modf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/modff.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/modfl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nan.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nanf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nanl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nearbyint.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nearbyintf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nearbyintl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nextafter.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nextafterf.c @@ -458,7 +660,9 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nexttowardf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/nexttowardl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__polevll.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/pow.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/pow_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/powf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/powf_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/powl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remainder.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remainderf.c @@ -470,11 +674,7 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2l.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remquo.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remquof.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/remquol.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/rint.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/rintf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/rintl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/round.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/roundf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/roundl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalb.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/scalbf.c @@ -502,8 +702,7 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinhf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinhl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__sinl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sinl.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sqrt.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sqrtf.c +LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sqrt_data.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/sqrtl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/__tan.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tan.c @@ -517,8 +716,6 @@ LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tanl.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tgamma.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tgammaf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/tgammal.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/trunc.c -#LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/truncf.c LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/truncl.c # aarch64 specific sources LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/aarch64/ceil.c|aarch64 @@ -668,11 +865,11 @@ endif # LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/exp2l.s|x32 # LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/expl.s|x32 # LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/expm1l.s|x32 -# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fabs.s|x32 -# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fabsf.s|x32 -# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fabsl.s|x32 +# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fabs.c|x32 +# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fabsf.c|x32 +# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fabsl.c|x32 # LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/floorl.s|x32 -# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fmodl.s|x32 +# LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/fmodl.c|x32 # LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/llrint.s|x32 # LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/llrintf.s|x32 # LIBMUSL_MATH_SRCS-y += $(LIBMUSL)/src/math/x32/llrintl.s|x32 diff --git a/Makefile.uk.musl.misc b/Makefile.uk.musl.misc index a693201..2f6bea6 100644 --- a/Makefile.uk.musl.misc +++ b/Makefile.uk.musl.misc @@ -1,8 +1,10 @@ LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/atomic.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/dirent.h +LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/endian.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/errno.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/fcntl.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/fmtmsg.h +LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/fork_impl.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/ftw.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/getopt.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/grp.h @@ -10,6 +12,7 @@ LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/libgen.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/limits.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/locale_impl.h +LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/lock.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/mntent.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/pthread.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/pthread_impl.h @@ -19,6 +22,7 @@ LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/stdarg.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/stddef.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/stdint.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/stdio.h +LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/stdio_impl.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/stdlib.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/string.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/strings.h @@ -26,9 +30,11 @@ LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/auxv.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/src/internal/syscall.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/ioctl.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/syslog.h +LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/random.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/resource.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/socket.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/stat.h +LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/time.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/utsname.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/sys/wait.h LIBMUSL_MISC_HDRS-y += $(LIBMUSL)/include/time.h @@ -44,10 +50,10 @@ LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/ffs.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/ffsl.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/ffsll.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/fmtmsg.c -#LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/forkpty.c -LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/get_current_dir_name.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getauxval.c +LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/get_current_dir_name.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getdomainname.c +LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getentropy.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/gethostid.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getopt.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getopt_long.c @@ -55,14 +61,13 @@ LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getpriority.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getrlimit.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getrusage.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getsubopt.c - -LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getresgid.c -LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getresuid.c -LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/ioctl.c ifneq ($(CONFIG_LIBPOSIX_USER),y) LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/initgroups.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/issetugid.c endif +LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getresgid.c +LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/getresuid.c +LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/ioctl.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/lockf.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/login_tty.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/mntent.c @@ -74,9 +79,7 @@ LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/realpath.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/setdomainname.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/setpriority.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/setrlimit.c -#LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/syscall.c|misc LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/syslog.c LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/uname.c -#LIBMUSL_MISC_SRCS-y += $(LIBMUSL)/src/misc/wordexp.c $(eval $(call _libmusl_import_lib,misc,$(LIBMUSL_MISC_HDRS-y),$(LIBMUSL_MISC_SRCS-y))) diff --git a/Makefile.uk.musl.mman b/Makefile.uk.musl.mman index c64bc9d..8b501dd 100644 --- a/Makefile.uk.musl.mman +++ b/Makefile.uk.musl.mman @@ -11,6 +11,7 @@ LIBMUSL_MMAN_HDRS-y += $(LIBMUSL)/include/sys/syscall.h LIBMUSL_MMAN_HDRS-y += $(LIBMUSL)/include/sys/mman.h LIBMUSL_MMAN_HDRS-y += $(LIBMUSL)/include/unistd.h + # ifeq (arm,$(ARCH)) # LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/arch/arm/syscall_arch.h # else ifeq (x86_32,$(ARCH)) diff --git a/Makefile.uk.musl.process b/Makefile.uk.musl.process index 3211d6d..9632306 100644 --- a/Makefile.uk.musl.process +++ b/Makefile.uk.musl.process @@ -1,8 +1,10 @@ +LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/src/internal/aio_impl.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/errno.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/fcntl.h -LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/src/process/fdop.h +LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/src/internal/fork_impl.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/limits.h +LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/src/internal/lock.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/src/internal/pthread_impl.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/sched.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/signal.h @@ -10,24 +12,13 @@ LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/spawn.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/stdarg.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/stdlib.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/string.h -LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/src/internal/syscall.h +LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/syscall.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/sys/wait.h LIBMUSL_PROCESS_HDRS-y += $(LIBMUSL)/include/unistd.h -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/execl.c -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/execle.c -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/execlp.c -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/execv.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/execve.c -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/execvp.c -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/fexecve.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/fork.c -LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn.c -LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addclose.c -LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_adddup2.c -LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addopen.c -LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_destroy.c -LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_init.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/_Fork.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_destroy.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_getflags.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_getpgroup.c @@ -39,8 +30,14 @@ LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setflags.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setpgroup.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setsigdefault.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setsigmask.c -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawnp.c -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/system.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addchdir.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addclose.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_adddup2.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addfchdir.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addopen.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_destroy.c +LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_init.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/wait.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/waitid.c LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/waitpid.c @@ -53,8 +50,5 @@ else LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/vfork.c endif -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/s390x/vfork.s -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/sh/vfork.s -#LIBMUSL_PROCESS_SRCS-y += $(LIBMUSL)/src/process/x32/vfork.s $(eval $(call _libmusl_import_lib,process,$(LIBMUSL_PROCESS_HDRS-y),$(LIBMUSL_PROCESS_SRCS-y))) diff --git a/Makefile.uk.musl.search b/Makefile.uk.musl.search index d611b93..7dc2933 100644 --- a/Makefile.uk.musl.search +++ b/Makefile.uk.musl.search @@ -6,7 +6,11 @@ LIBMUSL_SEARCH_HDRS-y += $(LIBMUSL)/include/string.h LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/hsearch.c LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/insque.c LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/lsearch.c +LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/tdelete.c LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/tdestroy.c -LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/tsearch_avl.c +LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/tfind.c +LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/tsearch.c +LIBMUSL_SEARCH_SRCS-y += $(LIBMUSL)/src/search/twalk.c + $(eval $(call _libmusl_import_lib,search,$(LIBMUSL_SEARCH_HDRS-y),$(LIBMUSL_SEARCH_SRCS-y))) diff --git a/Makefile.uk.musl.setjmp b/Makefile.uk.musl.setjmp index 391a305..9a45050 100644 --- a/Makefile.uk.musl.setjmp +++ b/Makefile.uk.musl.setjmp @@ -15,25 +15,5 @@ LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/x86_64/longjmp.s|x86_64 LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/x86_64/setjmp.s|x86_64 endif -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/microblaze/longjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/microblaze/setjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/mips/longjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/mips/setjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/mips64/longjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/mips64/setjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/mipsn32/longjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/mipsn32/setjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/or1k/longjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/or1k/setjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc/longjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc/setjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc64/longjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc64/setjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/s390x/longjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/s390x/setjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/sh/longjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/sh/setjmp.S -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/x32/longjmp.s -#LIBMUSL_SETJMP_SRCS-y += $(LIBMUSL)/src/setjmp/x32/setjmp.s $(eval $(call _libmusl_import_lib,setjmp,$(LIBMUSL_SETJMP_HDRS-y),$(LIBMUSL_SETJMP_SRCS-y))) diff --git a/Makefile.uk.musl.signal b/Makefile.uk.musl.signal index 1c30ba6..e36e0b9 100644 --- a/Makefile.uk.musl.signal +++ b/Makefile.uk.musl.signal @@ -1,15 +1,16 @@ LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/errno.h +LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/features.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/src/internal/ksigaction.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/limits.h +LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/src/internal/lock.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/src/internal/pthread_impl.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/setjmp.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/signal.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/stdint.h -LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/stdio.h +LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/src/internal/stdio_impl.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/string.h -LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/src/internal/syscall.h -LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/sys/syscall.h +LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/syscall.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/sys/time.h LIBMUSL_SIGNAL_HDRS-y += $(LIBMUSL)/include/unistd.h @@ -52,7 +53,6 @@ LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigrelse.c LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigrtmax.c LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigrtmin.c LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigset.c -LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigsetjmp.c LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigsetjmp_tail.c LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigsuspend.c LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sigtimedwait.c @@ -75,24 +75,5 @@ else LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/restore.c endif -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/microblaze/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/microblaze/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/mips/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/mips/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/mips64/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/mips64/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/mipsn32/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/mipsn32/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/or1k/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/powerpc/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/powerpc/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/powerpc64/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/powerpc64/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/s390x/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/s390x/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sh/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/sh/sigsetjmp.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/x32/restore.s -#LIBMUSL_SIGNAL_SRCS-y += $(LIBMUSL)/src/signal/x32/sigsetjmp.s $(eval $(call _libmusl_import_lib,signal,$(LIBMUSL_SIGNAL_HDRS-y),$(LIBMUSL_SIGNAL_SRCS-y))) diff --git a/Makefile.uk.musl.stdio b/Makefile.uk.musl.stdio index a3d3c10..b8cb2d5 100644 --- a/Makefile.uk.musl.stdio +++ b/Makefile.uk.musl.stdio @@ -1,13 +1,16 @@ +LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/aio_impl.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/ctype.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/errno.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/fcntl.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/float.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/floatscan.h +LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/fork_impl.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/intscan.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/inttypes.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/limits.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/locale_impl.h +LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/lock.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/math.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/pthread_impl.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/shgetc.h @@ -20,7 +23,7 @@ LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/stdio.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/stdio_impl.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/stdlib.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/string.h -LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/src/internal/syscall.h +LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/syscall.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/sys/ioctl.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/sys/stat.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/sys/uio.h @@ -28,28 +31,15 @@ LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/unistd.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/wchar.h LIBMUSL_STDIO_HDRS-y += $(LIBMUSL)/include/wctype.h -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fclose_ca.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fdopen.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fmodeflags.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fopen_rb_ca.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__lockfile.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__overflow.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_close.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_exit.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_read.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_seek.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_write.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdout_write.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__string_read.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__toread.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__towrite.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__uflow.c + LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/asprintf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/clearerr.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/dprintf.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ext.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ext2.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ext.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fclose.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fclose_ca.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fdopen.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/feof.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ferror.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fflush.c @@ -62,8 +52,10 @@ LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fgetws.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fileno.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/flockfile.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fmemopen.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fmodeflags.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fopen.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fopencookie.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__fopen_rb_ca.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fprintf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fputc.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fputs.c @@ -82,27 +74,27 @@ LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fwprintf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fwrite.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/fwscanf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getc.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getc_unlocked.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getchar.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getchar_unlocked.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getc_unlocked.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getdelim.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getline.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/gets.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getw.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getwc.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/getwchar.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ofl.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__lockfile.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ofl_add.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ofl.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/open_memstream.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/open_wmemstream.c -#LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/pclose.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__overflow.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/perror.c -#LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/popen.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/printf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/putc.c -LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/putc_unlocked.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/putchar.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/putchar_unlocked.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/putc_unlocked.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/puts.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/putw.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/putwc.c @@ -120,12 +112,21 @@ LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/sprintf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/sscanf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/stderr.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/stdin.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_close.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_exit.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_read.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_seek.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_write.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/stdout.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__stdout_write.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/swprintf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/swscanf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/tempnam.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/tmpfile.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/tmpnam.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__toread.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__towrite.c +LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/__uflow.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ungetc.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/ungetwc.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/vasprintf.c @@ -146,4 +147,5 @@ LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/vwscanf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/wprintf.c LIBMUSL_STDIO_SRCS-y += $(LIBMUSL)/src/stdio/wscanf.c + $(eval $(call _libmusl_import_lib,stdio,$(LIBMUSL_STDIO_HDRS-y),$(LIBMUSL_STDIO_SRCS-y))) diff --git a/Makefile.uk.musl.stdlib b/Makefile.uk.musl.stdlib index 9529226..888e4a1 100644 --- a/Makefile.uk.musl.stdlib +++ b/Makefile.uk.musl.stdlib @@ -3,7 +3,6 @@ LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/include/ctype.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/src/internal/floatscan.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/src/internal/intscan.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/include/inttypes.h -LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/include/limits.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/src/internal/shgetc.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/include/stdint.h @@ -14,6 +13,7 @@ LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/include/string.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/include/wchar.h LIBMUSL_STDLIB_HDRS-y += $(LIBMUSL)/include/wctype.h + LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/abs.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/atof.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/atoi.c @@ -31,6 +31,7 @@ LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/ldiv.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/llabs.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/lldiv.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/qsort.c +LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/qsort_nr.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/strtod.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/strtol.c LIBMUSL_STDLIB_SRCS-y += $(LIBMUSL)/src/stdlib/wcstod.c diff --git a/Makefile.uk.musl.thread b/Makefile.uk.musl.thread index 7aaa316..b43ae98 100644 --- a/Makefile.uk.musl.thread +++ b/Makefile.uk.musl.thread @@ -28,12 +28,6 @@ LIBMUSL_THREAD_HDRS-y += $(LIBMUSL)/include/threads.h LIBMUSL_THREAD_HDRS-y += $(LIBMUSL)/include/time.h LIBMUSL_THREAD_HDRS-y += $(LIBMUSL)/include/unistd.h -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__futex.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__lock.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__syscall_cp.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__timedwait.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__tls_get_addr.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__wait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/call_once.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/cnd_broadcast.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/cnd_destroy.c @@ -41,6 +35,8 @@ LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/cnd_init.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/cnd_signal.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/cnd_timedwait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/cnd_wait.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/default_attr.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__lock.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/lock_ptc.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mtx_destroy.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mtx_init.c @@ -60,35 +56,42 @@ LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setschedpolicy.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setscope.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setstack.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setstacksize.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_destroy.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_init.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_wait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrierattr_destroy.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrierattr_init.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrierattr_setpshared.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_destroy.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_init.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_wait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cancel.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cleanup_push.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_destroy.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_init.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_setclock.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_setpshared.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_broadcast.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_destroy.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_init.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_signal.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_timedwait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_wait.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_destroy.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_init.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_setclock.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_setpshared.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_create.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_detach.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_equal.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_getattr_np.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_getconcurrency.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_getcpuclockid.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_getname_np.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_getschedparam.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_getspecific.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_join.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_key_create.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_kill.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_destroy.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_init.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setprotocol.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setpshared.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setrobust.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_settype.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_consistent.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_destroy.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_getprioceiling.c @@ -98,13 +101,10 @@ LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_setprioceiling.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_timedlock.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_trylock.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_unlock.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_destroy.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_init.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setprotocol.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setpshared.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setrobust.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_settype.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_once.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_destroy.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_init.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_setpshared.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_destroy.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_init.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_rdlock.c @@ -114,9 +114,6 @@ LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_tryrdlock.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_trywrlock.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_unlock.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_wrlock.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_destroy.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_init.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_setpshared.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_self.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_setattr_default_np.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/pthread_setcancelstate.c @@ -143,34 +140,32 @@ LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sem_trywait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sem_unlink.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sem_wait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/synccall.c -LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/syscall_cp.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__syscall_cp.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/thrd_create.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/thrd_exit.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/thrd_join.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/thrd_sleep.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/thrd_yield.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__timedwait.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/tls.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__tls_get_addr.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/tss_create.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/tss_delete.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/tss_set.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/vmlock.c +LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__wait.c + ifeq (x86_32,$(CONFIG_UK_ARCH)) -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/i386/__set_thread_area.s|i386 -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/i386/__unmapself.s|i386 LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/i386/clone.s|i386 LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/i386/syscall_cp.s|i386 LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/i386/tls.s|i386 else ifeq (x86_64,$(CONFIG_UK_ARCH)) -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x86_64/__set_thread_area.s|x86_64 -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x86_64/__unmapself.s|x86_64 LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x86_64/clone.s|x86_64 LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x86_64/syscall_cp.s|x86_64 else ifeq (arm,$(CONFIG_UK_ARCH)) LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/arm/__aeabi_read_tp.s|arm LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/arm/__aeabi_read_tp_c.c|arm -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/arm/__set_thread_area.c|arm -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/arm/__unmapself.s|arm LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/arm/atomics.s|arm LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/arm/clone.s|arm LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/arm/syscall_cp.s|arm @@ -179,51 +174,8 @@ LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/aarch64/__unmapself.s|aarch64 LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/aarch64/clone.s|aarch64 LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/aarch64/syscall_cp.s|aarch64 else -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__set_thread_area.c -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/__unmapself.c LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/clone.c|thread endif -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/microblaze/__set_thread_area.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/microblaze/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/microblaze/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/microblaze/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mips/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mips/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mips/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mips64/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mips64/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mips64/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mipsn32/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mipsn32/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/mipsn32/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/or1k/__set_thread_area.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/or1k/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/or1k/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/or1k/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc/__set_thread_area.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/__set_thread_area.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/s390x/__set_thread_area.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/s390x/__tls_get_offset.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/s390x/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/s390x/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/s390x/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sh/__set_thread_area.c -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sh/__unmapself.c -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sh/__unmapself_mmu.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sh/atomics.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sh/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/sh/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x32/__set_thread_area.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x32/__unmapself.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x32/clone.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x32/syscall_cp.s -#LIBMUSL_THREAD_SRCS-y += $(LIBMUSL)/src/thread/x32/syscall_cp_fixup.c $(eval $(call _libmusl_import_lib,thread,$(LIBMUSL_THREAD_HDRS-y),$(LIBMUSL_THREAD_SRCS-y))) diff --git a/Makefile.uk.musl.time b/Makefile.uk.musl.time index d8b2d3c..9ef405b 100644 --- a/Makefile.uk.musl.time +++ b/Makefile.uk.musl.time @@ -2,11 +2,13 @@ LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/internal/atomic.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/ctype.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/errno.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/fcntl.h +LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/internal/fork_impl.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/langinfo.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/internal/libc.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/limits.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/locale.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/internal/locale_impl.h +LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/internal/lock.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/pthread.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/internal/pthread_impl.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/setjmp.h @@ -16,26 +18,18 @@ LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/stdio.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/stdlib.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/string.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/strings.h -LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/internal/syscall.h +LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/syscall.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/sys/mman.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/sys/stat.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/sys/timeb.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/sys/time.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/sys/times.h -LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/time.h -LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/time/time_impl.h +LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/src/include/time.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/unistd.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/utime.h LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/wchar.h -LIBMUSL_TIME_HDRS-y += $(LIBMUSL)/include/nl_types.h -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__asctime.c -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__map_file.c -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__month_to_secs.c -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__secs_to_tm.c -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__tm_to_secs.c -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__tz.c -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__year_to_secs.c + LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/asctime.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/asctime_r.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/clock.c @@ -54,24 +48,28 @@ LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/gmtime.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/gmtime_r.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/localtime.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/localtime_r.c +LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__map_file.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/mktime.c +LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__month_to_secs.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/nanosleep.c +LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__secs_to_tm.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/strftime.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/strptime.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/time.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timegm.c - ifneq ($(CONFIG_LIBUKTIME),y) LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timer_create.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timer_delete.c +LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timer_getoverrun.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timer_gettime.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timer_settime.c -LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timer_getoverrun.c endif - LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/times.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/timespec_get.c +LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__tm_to_secs.c +LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__tz.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/utime.c LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/wcsftime.c +LIBMUSL_TIME_SRCS-y += $(LIBMUSL)/src/time/__year_to_secs.c $(eval $(call _libmusl_import_lib,time,$(LIBMUSL_TIME_HDRS-y),$(LIBMUSL_TIME_SRCS-y))) diff --git a/Makefile.uk.musl.unistd b/Makefile.uk.musl.unistd index caf3ccc..16ba741 100644 --- a/Makefile.uk.musl.unistd +++ b/Makefile.uk.musl.unistd @@ -110,9 +110,5 @@ LIBMUSL_UNISTD_SRCS-y += $(LIBMUSL)/src/unistd/usleep.c LIBMUSL_UNISTD_SRCS-y += $(LIBMUSL)/src/unistd/write.c LIBMUSL_UNISTD_SRCS-y += $(LIBMUSL)/src/unistd/writev.c -#LIBMUSL_UNISTD_SRCS-y += $(LIBMUSL)/src/unistd/mips/pipe.s -#LIBMUSL_UNISTD_SRCS-y += $(LIBMUSL)/src/unistd/mips64/pipe.s -#LIBMUSL_UNISTD_SRCS-y += $(LIBMUSL)/src/unistd/mipsn32/pipe.s -#LIBMUSL_UNISTD_SRCS-y += $(LIBMUSL)/src/unistd/sh/pipe.s $(eval $(call _libmusl_import_lib,unistd,$(LIBMUSL_UNISTD_HDRS-y),$(LIBMUSL_UNISTD_SRCS-y))) diff --git a/__uk_init_tls.c b/__uk_init_tls.c index df13b95..48963d0 100644 --- a/__uk_init_tls.c +++ b/__uk_init_tls.c @@ -95,7 +95,7 @@ void *__uk_copy_tls(unsigned char *mem) ukarch_tls_area_init(tls_area); td = (pthread_t) ukarch_tls_tcb_get(ukarch_tls_tlsp(tls_area)); - td->dtv = td->dtv_copy = tls_area; + td->dtv = tls_area; return td; } @@ -107,7 +107,8 @@ static int __uk_init_tp(void *p) { pthread_t td = p; - td->self = td; + /* Musl maintains a circular doubly linked list for threads. */ + td->self = td->next = td->prev = td; /* * Set the `$fs` register for the current thread. * In the original code of musl this will use an `arch_prtcl` diff --git a/mem.c b/mem.c index da4b230..8c6db64 100644 --- a/mem.c +++ b/mem.c @@ -40,16 +40,36 @@ void *malloc(size_t size) return uk_malloc(uk_alloc_get_default(), size); } +void *__libc_malloc(size_t size) +{ + return uk_malloc(uk_alloc_get_default(), size); +} + +void *__libc_malloc_impl(size_t size) +{ + return uk_malloc(uk_alloc_get_default(), size); +} + void *calloc(size_t nmemb, size_t size) { return uk_calloc(uk_alloc_get_default(), nmemb, size); } +void *__libc_calloc(size_t nmemb, size_t size) +{ + return uk_calloc(uk_alloc_get_default(), nmemb, size); +} + void *realloc(void *ptr, size_t size) { return uk_realloc(uk_alloc_get_default(), ptr, size); } +void *__libc_realloc(void *ptr, size_t size) +{ + return uk_realloc(uk_alloc_get_default(), ptr, size); +} + int posix_memalign(void **memptr, size_t align, size_t size) { return uk_posix_memalign(uk_alloc_get_default(), @@ -66,6 +86,11 @@ void free(void *ptr) return uk_free(uk_alloc_get_default(), ptr); } +void __libc_free(void *ptr) +{ + return uk_free(uk_alloc_get_default(), ptr); +} + int mprotect(void *addr __unused, size_t len __unused, int prot __unused) { return 0; diff --git a/patches/0001-Remove-prototype-for-syscall-from-unistd.h.patch b/patches/0001-Remove-prototype-for-syscall-from-unistd.h.patch index d606afc..f69b16e 100644 --- a/patches/0001-Remove-prototype-for-syscall-from-unistd.h.patch +++ b/patches/0001-Remove-prototype-for-syscall-from-unistd.h.patch @@ -14,13 +14,13 @@ diff --git a/include/unistd.h b/include/unistd.h index 09190af4..6ee0f1f1 100644 --- a/include/unistd.h +++ b/include/unistd.h -@@ -173,7 +173,6 @@ void setusershell(void); +@@ -177,7 +177,6 @@ void setusershell(void); void endusershell(void); char *getusershell(void); int acct(const char *); -long syscall(long, ...); int execvpe(const char *, char *const [], char *const []); int issetugid(void); - #endif + int getentropy(void *, size_t); -- -2.23.0 +2.38.1 diff --git a/patches/0003-Avoid-reserved-__unused-in-stat.h.patch b/patches/0003-Avoid-reserved-__unused-in-stat.h.patch index 6d0b72e..c254d36 100644 --- a/patches/0003-Avoid-reserved-__unused-in-stat.h.patch +++ b/patches/0003-Avoid-reserved-__unused-in-stat.h.patch @@ -1,15 +1,70 @@ From 851762e66ca264fd26240aa9349ba4db6cfdd2e6 Mon Sep 17 00:00:00 2001 From: Gaulthier Gain Date: Wed, 16 Oct 2019 16:32:23 +0200 -Subject: [PATCH] Avoid reserved __unused in stat.h +Subject: [PATCH] Avoid reserved __unused in stat header files Field name `__unused` conflicts with Unikraft `__unused` macro. Signed-off-by: Gaulthier Gain +Signed-off-by: Robert Kuban +Signed-off-by: Eduard Vintilă --- - arch/x86_64/bits/stat.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + arch/aarch64/bits/stat.h | 2 +- + arch/aarch64/kstat.h | 2 +- + arch/arm/bits/msg.h | 2 +- + arch/arm/bits/shm.h | 2 +- + arch/x86_64/bits/stat.h | 2 +- + arch/x86_64/kstat.h | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) +diff --git a/arch/aarch64/bits/stat.h b/arch/aarch64/bits/stat.h +index b7f4221b..d1778f74 100644 +--- a/arch/aarch64/bits/stat.h ++++ b/arch/aarch64/bits/stat.h +@@ -14,5 +14,5 @@ struct stat { + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; +- unsigned __unused[2]; ++ unsigned _pad[2]; + }; +diff --git a/arch/aarch64/kstat.h b/arch/aarch64/kstat.h +index 92625f36..fb1087b4 100644 +--- a/arch/aarch64/kstat.h ++++ b/arch/aarch64/kstat.h +@@ -17,5 +17,5 @@ struct kstat { + long st_mtime_nsec; + long st_ctime_sec; + long st_ctime_nsec; +- unsigned __unused[2]; ++ unsigned _pad[2]; + }; +diff --git a/arch/arm/bits/msg.h b/arch/arm/bits/msg.h +index 7bbbb2bf..53a277f5 100644 +--- a/arch/arm/bits/msg.h ++++ b/arch/arm/bits/msg.h +@@ -11,7 +11,7 @@ struct msqid_ds { + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; +- unsigned long __unused[2]; ++ unsigned long _pad[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +diff --git a/arch/arm/bits/shm.h b/arch/arm/bits/shm.h +index 725fb469..b32fa070 100644 +--- a/arch/arm/bits/shm.h ++++ b/arch/arm/bits/shm.h +@@ -21,7 +21,7 @@ struct shmid_ds { + }; + + struct shminfo { +- unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; ++ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, _pad[4]; + }; + + struct shm_info { diff --git a/arch/x86_64/bits/stat.h b/arch/x86_64/bits/stat.h index 081237c3..39b3cdd4 100644 --- a/arch/x86_64/bits/stat.h @@ -21,6 +76,17 @@ index 081237c3..39b3cdd4 100644 - long __unused[3]; + long _pad[3]; }; --- -2.23.0 +diff --git a/arch/x86_64/kstat.h b/arch/x86_64/kstat.h +index 5976c04e..2c099d29 100644 +--- a/arch/x86_64/kstat.h ++++ b/arch/x86_64/kstat.h +@@ -18,5 +18,5 @@ struct kstat { + long st_mtime_nsec; + long st_ctime_sec; + long st_ctime_nsec; +- long __unused[3]; ++ long _pad[3]; + }; +-- +2.38.1 diff --git a/patches/0005-lib-musl-Use-macros-defined-in-syscall-shim-layer.patch b/patches/0005-lib-musl-Use-macros-defined-in-syscall-shim-layer.patch index 4dbe01f..6790ce7 100644 --- a/patches/0005-lib-musl-Use-macros-defined-in-syscall-shim-layer.patch +++ b/patches/0005-lib-musl-Use-macros-defined-in-syscall-shim-layer.patch @@ -11,52 +11,43 @@ the function corresponding to the system call given by SYS_nr Signed-off-by: Dragos Iulian Argint --- - src/internal/syscall.h | 74 ++++++++++++------------------------------ - 1 file changed, 21 insertions(+), 53 deletions(-) + src/internal/syscall.h | 63 ++++++++++++++++-------------------------- + 1 file changed, 24 insertions(+), 39 deletions(-) diff --git a/src/internal/syscall.h b/src/internal/syscall.h -index 6d378a8..5bdb9ea 100644 +index d5f294d4..418a9a60 100644 --- a/src/internal/syscall.h +++ b/src/internal/syscall.h -@@ -3,6 +3,8 @@ - +@@ -5,6 +5,7 @@ + #include #include #include "syscall_arch.h" +#include -+ - + #ifndef SYSCALL_RLIM_INFINITY #define SYSCALL_RLIM_INFINITY (~0ULL) -@@ -18,53 +20,26 @@ - +@@ -20,42 +21,25 @@ + #ifndef __scc #define __scc(X) ((long) (X)) -typedef long syscall_arg_t; +typedef uk_syscall_arg_t syscall_arg_t; #endif - - __attribute__((visibility("hidden"))) --long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...), + +-hidden long __syscall_ret(unsigned long), - __syscall_cp(syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, - syscall_arg_t, syscall_arg_t, syscall_arg_t); -- --#ifdef SYSCALL_NO_INLINE --#define __syscall0(n) (__syscall)(n) --#define __syscall1(n,a) (__syscall)(n,__scc(a)) --#define __syscall2(n,a,b) (__syscall)(n,__scc(a),__scc(b)) --#define __syscall3(n,a,b,c) (__syscall)(n,__scc(a),__scc(b),__scc(c)) --#define __syscall4(n,a,b,c,d) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d)) --#define __syscall5(n,a,b,c,d,e) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e)) --#define __syscall6(n,a,b,c,d,e,f) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f)) --#else ++long __syscall_ret(unsigned long), __syscall(uk_syscall_arg_t, ...), ++ __syscall_cp(uk_syscall_arg_t, uk_syscall_arg_t, uk_syscall_arg_t, uk_syscall_arg_t, ++ uk_syscall_arg_t, uk_syscall_arg_t, uk_syscall_arg_t); + -#define __syscall1(n,a) __syscall1(n,__scc(a)) -#define __syscall2(n,a,b) __syscall2(n,__scc(a),__scc(b)) -#define __syscall3(n,a,b,c) __syscall3(n,__scc(a),__scc(b),__scc(c)) -#define __syscall4(n,a,b,c,d) __syscall4(n,__scc(a),__scc(b),__scc(c),__scc(d)) -#define __syscall5(n,a,b,c,d,e) __syscall5(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e)) -#define __syscall6(n,a,b,c,d,e,f) __syscall6(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f)) --#endif --#define __syscall7(n,a,b,c,d,e,f,g) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f),__scc(g)) +-#define __syscall7(n,a,b,c,d,e,f,g) __syscall7(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f),__scc(g)) - -#define __SYSCALL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n -#define __SYSCALL_NARGS(...) __SYSCALL_NARGS_X(__VA_ARGS__,7,6,5,4,3,2,1,0,) @@ -65,16 +56,12 @@ index 6d378a8..5bdb9ea 100644 -#define __SYSCALL_DISP(b,...) __SYSCALL_CONCAT(b,__SYSCALL_NARGS(__VA_ARGS__))(__VA_ARGS__) - -#define __syscall(...) __SYSCALL_DISP(__syscall,__VA_ARGS__) -+long __syscall_ret(unsigned long), __syscall(uk_syscall_arg_t, ...), -+ __syscall_cp(uk_syscall_arg_t, uk_syscall_arg_t, uk_syscall_arg_t, uk_syscall_arg_t, -+ uk_syscall_arg_t, uk_syscall_arg_t, uk_syscall_arg_t); -+ +#define __syscall(...) uk_syscall_r_static(__VA_ARGS__) #define syscall(...) __syscall_ret(__syscall(__VA_ARGS__)) - - #define socketcall __socketcall - #define socketcall_cp __socketcall_cp - + + #define socketcall(nm,a,b,c,d,e,f) __syscall_ret(__socketcall(nm,a,b,c,d,e,f)) + #define socketcall_cp(nm,a,b,c,d,e,f) __syscall_ret(__socketcall_cp(nm,a,b,c,d,e,f)) + -#define __syscall_cp0(n) (__syscall_cp)(n,0,0,0,0,0,0) -#define __syscall_cp1(n,a) (__syscall_cp)(n,__scc(a),0,0,0,0,0) -#define __syscall_cp2(n,a,b) (__syscall_cp)(n,__scc(a),__scc(b),0,0,0,0) @@ -91,38 +78,42 @@ index 6d378a8..5bdb9ea 100644 + */ +#define __syscall_cp(...) uk_syscall_r_static(__VA_ARGS__) #define syscall_cp(...) __syscall_ret(__syscall_cp(__VA_ARGS__)) - - #ifndef SYSCALL_USE_SOCKETCALL -@@ -226,22 +201,15 @@ long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...), - #define __SC_recvmmsg 19 - #define __SC_sendmmsg 20 - --#ifdef SYS_open + + static inline long __alt_socketcall(int sys, int sock, int cp, long a, long b, long c, long d, long e, long f) +@@ -374,21 +358,22 @@ static inline long __alt_socketcall(int sys, int sock, int cp, long a, long b, l + #endif + + #ifdef SYS_open -#define __sys_open2(x,pn,fl) __syscall2(SYS_open, pn, (fl)|O_LARGEFILE) -#define __sys_open3(x,pn,fl,mo) __syscall3(SYS_open, pn, (fl)|O_LARGEFILE, mo) -#define __sys_open_cp2(x,pn,fl) __syscall_cp2(SYS_open, pn, (fl)|O_LARGEFILE) -#define __sys_open_cp3(x,pn,fl,mo) __syscall_cp3(SYS_open, pn, (fl)|O_LARGEFILE, mo) --#else ++#define __sys_open(...) uk_syscall_r_static(SYS_open, __VA_ARGS__) + #else -#define __sys_open2(x,pn,fl) __syscall3(SYS_openat, AT_FDCWD, pn, (fl)|O_LARGEFILE) -#define __sys_open3(x,pn,fl,mo) __syscall4(SYS_openat, AT_FDCWD, pn, (fl)|O_LARGEFILE, mo) -#define __sys_open_cp2(x,pn,fl) __syscall_cp3(SYS_openat, AT_FDCWD, pn, (fl)|O_LARGEFILE) -#define __sys_open_cp3(x,pn,fl,mo) __syscall_cp4(SYS_openat, AT_FDCWD, pn, (fl)|O_LARGEFILE, mo) --#endif ++#define __sys_open(...) uk_syscall_r_static(SYS_openat, AT_FDCWD,__VA_ARGS__) + #endif - -#define __sys_open(...) __SYSCALL_DISP(__sys_open,,__VA_ARGS__) -+#define __sys_open(...) uk_syscall_r_static(SYS_open, __VA_ARGS__) #define sys_open(...) __syscall_ret(__sys_open(__VA_ARGS__)) - + -#define __sys_open_cp(...) __SYSCALL_DISP(__sys_open_cp,,__VA_ARGS__) +/** + * This should allow cancelation points inside a system call. + * However, we currently don't support this operation. + * Hence, we stick to the basic uk_syscall + */ ++#ifdef SYS_open +#define __sys_open_cp(...) uk_syscall_r_static(SYS_open, __VA_ARGS__) ++#else ++#define __sys_open_cp(...) uk_syscall_r_static(SYS_openat, AT_FDCWD, __VA_ARGS__) ++#endif #define sys_open_cp(...) __syscall_ret(__sys_open_cp(__VA_ARGS__)) - - #endif --- -2.17.1 + + hidden void __procfdname(char __buf[static 15+3*sizeof(int)], unsigned); +-- +2.38.1 diff --git a/patches/0006-lib-musl-Use-uk_syscall_r-for-do_setxid.patch b/patches/0006-lib-musl-Use-uk_syscall_r-for-do_setxid.patch index 3f59e41..275c1fd 100644 --- a/patches/0006-lib-musl-Use-uk_syscall_r-for-do_setxid.patch +++ b/patches/0006-lib-musl-Use-uk_syscall_r-for-do_setxid.patch @@ -14,26 +14,26 @@ Signed-off-by: Dragos Iulian Argint 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/unistd/setxid.c b/src/unistd/setxid.c -index 0239f8a..d994de9 100644 +index 487c1a1..4441c1c 100644 --- a/src/unistd/setxid.c +++ b/src/unistd/setxid.c -@@ -3,6 +3,7 @@ +@@ -2,6 +2,7 @@ + #include #include "syscall.h" #include "libc.h" - #include "pthread_impl.h" +#include - + struct ctx { int id, eid, sid; -@@ -13,7 +14,7 @@ static void do_setxid(void *p) +@@ -12,7 +13,7 @@ static void do_setxid(void *p) { struct ctx *c = p; - if (c->err>0) return; -- int ret = -__syscall(c->nr, c->id, c->eid, c->sid); + if (c->ret<0) return; +- int ret = __syscall(c->nr, c->id, c->eid, c->sid); + int ret = -uk_syscall_r(c->nr, c->id, c->eid, c->sid); - if (ret && !c->err) { + if (ret && !c->ret) { /* If one thread fails to set ids after another has already * succeeded, forcibly killing the process is the only safe --- -2.17.1 +-- +2.38.1 diff --git a/patches/0007-lib-musl-Use-uk_syscall_r-for-__syscall_cp_c.patch b/patches/0007-lib-musl-Use-uk_syscall_r-for-__syscall_cp_c.patch index 18e087b..c94aeeb 100644 --- a/patches/0007-lib-musl-Use-uk_syscall_r-for-__syscall_cp_c.patch +++ b/patches/0007-lib-musl-Use-uk_syscall_r-for-__syscall_cp_c.patch @@ -14,18 +14,18 @@ Signed-off-by: Dragos Iulian Argint 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thread/pthread_cancel.c b/src/thread/pthread_cancel.c -index 3d22922..8321734 100644 +index 2f9d5e9..044bd76 100644 --- a/src/thread/pthread_cancel.c +++ b/src/thread/pthread_cancel.c -@@ -30,7 +30,7 @@ long __syscall_cp_c(syscall_arg_t nr, - +@@ -28,7 +28,7 @@ long __syscall_cp_c(syscall_arg_t nr, + if ((st=(self=__pthread_self())->canceldisable) && (st==PTHREAD_CANCEL_DISABLE || nr==SYS_close)) - return __syscall(nr, u, v, w, x, y, z); + return uk_syscall6_r(nr, u, v, w, x, y, z); - + r = __syscall_cp_asm(&self->cancel, nr, u, v, w, x, y, z); if (r==-EINTR && nr!=SYS_close && self->cancel && --- -2.17.1 +-- +2.38.1 diff --git a/patches/0008-__syscall_cp-use-syscall-shim-layer.patch b/patches/0008-__syscall_cp-use-syscall-shim-layer.patch index d9c9c5a..06264da 100644 --- a/patches/0008-__syscall_cp-use-syscall-shim-layer.patch +++ b/patches/0008-__syscall_cp-use-syscall-shim-layer.patch @@ -9,18 +9,18 @@ Signed-off-by: Gaulthier Gain 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thread/__syscall_cp.c b/src/thread/__syscall_cp.c -index 09a2be8..e22e75b 100644 +index 42a0167..b0438af 100644 --- a/src/thread/__syscall_cp.c +++ b/src/thread/__syscall_cp.c -@@ -8,7 +8,7 @@ static long sccp(syscall_arg_t nr, +@@ -7,7 +7,7 @@ static long sccp(syscall_arg_t nr, syscall_arg_t u, syscall_arg_t v, syscall_arg_t w, syscall_arg_t x, syscall_arg_t y, syscall_arg_t z) { -- return (__syscall)(nr, u, v, w, x, y, z); +- return __syscall(nr, u, v, w, x, y, z); + return (uk_syscall)(nr, u, v, w, x, y, z); } weak_alias(sccp, __syscall_cp_c); -- -2.20.1 +2.38.1 diff --git a/patches/0010-Stub-istty-by-ignoring-ioctl.patch b/patches/0010-Stub-istty-by-ignoring-ioctl.patch index 978ad21..825a144 100644 --- a/patches/0010-Stub-istty-by-ignoring-ioctl.patch +++ b/patches/0010-Stub-istty-by-ignoring-ioctl.patch @@ -9,16 +9,18 @@ Signed-off-by: gaulthier gain 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unistd/isatty.c b/src/unistd/isatty.c -index c8badaf..a0f34d5 100644 +index 75a9c18..960a588 100644 --- a/src/unistd/isatty.c +++ b/src/unistd/isatty.c -@@ -5,5 +5,5 @@ +@@ -6,7 +6,7 @@ int isatty(int fd) { struct winsize wsz; -- return !__syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz); -+ return 1; //!__syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz); - } --- -2.17.1 +- unsigned long r = syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz); ++ unsigned long r = 0; //__syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz); + if (r == 0) return 1; + if (errno != EBADF) errno = ENOTTY; + return 0; +-- +2.38.1 diff --git a/patches/0012-add-SC_LEVEL1_DCACHE_LINESIZE-unistd_h.patch b/patches/0012-add-SC_LEVEL1_DCACHE_LINESIZE-unistd_h.patch index 906ac91..23f1533 100644 --- a/patches/0012-add-SC_LEVEL1_DCACHE_LINESIZE-unistd_h.patch +++ b/patches/0012-add-SC_LEVEL1_DCACHE_LINESIZE-unistd_h.patch @@ -9,18 +9,18 @@ Signed-off-by: gaulthier gain 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/unistd.h b/include/unistd.h -index 6ee0f1f..452f004 100644 +index 3e6356a..31729fe 100644 --- a/include/unistd.h +++ b/include/unistd.h -@@ -250,7 +250,7 @@ int eaccess(const char *, int); - +@@ -258,7 +258,7 @@ pid_t gettid(void); + #include - + - +#define _SC_LEVEL1_DCACHE_LINESIZE 130 - + #define _PC_LINK_MAX 0 #define _PC_MAX_CANON 1 --- -2.17.1 +-- +2.38.1 diff --git a/patches/0013-Change-some-things-in-pthread_create.c.patch b/patches/0013-Change-some-things-in-pthread_create.c.patch index fe3318d..9ff509b 100644 --- a/patches/0013-Change-some-things-in-pthread_create.c.patch +++ b/patches/0013-Change-some-things-in-pthread_create.c.patch @@ -10,17 +10,17 @@ It is needed because Unikraft demands that the tls be aligned. Signed-off-by: Dragos Iulian Argint --- - src/thread/pthread_create.c | 28 +++++++++++++++++++++------- - 1 file changed, 21 insertions(+), 7 deletions(-) + src/thread/pthread_create.c | 29 ++++++++++++++++++++++------- + 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/thread/pthread_create.c b/src/thread/pthread_create.c -index 439ee36..d7d5da9 100644 +index 6f187ee..d6dd4c9 100644 --- a/src/thread/pthread_create.c +++ b/src/thread/pthread_create.c -@@ -10,6 +10,11 @@ void *__mmap(void *, size_t, int, int, int, off_t); - int __munmap(void *, size_t); - int __mprotect(void *, size_t, int); - +@@ -7,6 +7,11 @@ + #include + #include + +/* + * Unikraft version of `__unmapself()`. See `__uk_unmapself.c` + */ @@ -29,10 +29,11 @@ index 439ee36..d7d5da9 100644 static void dummy_0() { } -@@ -108,9 +113,15 @@ _Noreturn void __pthread_exit(void *result) - * explicitly wait for vmlock holders first. */ - __vm_wait(); - +@@ -149,10 +154,15 @@ _Noreturn void __pthread_exit(void *result) + * processed above, so unregister it with the kernel. */ + if (self->robust_list.off) + __syscall(SYS_set_robust_list, 0, 3*sizeof(long)); +- - /* The following call unmaps the thread's stack mapping - * and then exits without touching the stack. */ - __unmapself(self->map_base, self->map_size); @@ -46,30 +47,30 @@ index 439ee36..d7d5da9 100644 + */ + __uk_unmapself(self->map_base, self->map_size); } - - for (;;) __syscall(SYS_exit, 0); -@@ -181,7 +192,10 @@ static void init_file_lock(FILE *f) + + /* Wake any joiner. */ +@@ -230,6 +240,11 @@ static void init_file_lock(FILE *f) if (f && f->lock<0) f->lock = 0; } - --void *__copy_tls(unsigned char *); + +/* + * Unikraft version of `__copy_tls()` + */ +void *__uk_copy_tls(unsigned char *); - ++ int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict attrp, void *(*entry)(void *), void *restrict arg) { -@@ -237,7 +251,7 @@ int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict att + int ret, c11 = (attrp == __ATTRP_C11_THREAD); +@@ -283,7 +298,7 @@ int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict att } else { guard = ROUND(attr._a_guardsize); size = guard + ROUND(attr._a_stacksize - + libc.tls_size + __pthread_tsd_size); + + libc.tls_size + libc.tls_align + __pthread_tsd_size); } - + if (!tsd) { -@@ -255,12 +269,12 @@ int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict att +@@ -301,12 +316,12 @@ int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict att } tsd = map + size - __pthread_tsd_size; if (!stack) { @@ -78,12 +79,12 @@ index 439ee36..d7d5da9 100644 stack_limit = map + guard; } } - + - new = __copy_tls(tsd - libc.tls_size); + new = __uk_copy_tls(tsd - libc.tls_size); new->map_base = map; new->map_size = size; new->stack = stack; --- -2.17.1 +-- +2.38.1 diff --git a/patches/0014-This-is-the-clone-wrapper-that-musl-uses-for-x86_64.patch b/patches/0014-This-is-the-clone-wrapper-that-musl-uses-for-x86_64.patch index 76feee1..76baba9 100644 --- a/patches/0014-This-is-the-clone-wrapper-that-musl-uses-for-x86_64.patch +++ b/patches/0014-This-is-the-clone-wrapper-that-musl-uses-for-x86_64.patch @@ -14,12 +14,12 @@ Signed-off-by: Dragos Iulian Argint 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/src/thread/x86_64/clone.s b/src/thread/x86_64/clone.s -index ee59903..f7ac156 100644 +index 6e47bc0..b917159 100644 --- a/src/thread/x86_64/clone.s +++ b/src/thread/x86_64/clone.s -@@ -1,27 +1,48 @@ - .text +@@ -2,27 +2,48 @@ .global __clone + .hidden __clone .type __clone,@function +/* call conv: rdi rsi rdx rcx r8 r9 8(%rsp) */ +/* clone wrap: func stack flags arg ptid tls ctid */ @@ -89,6 +89,6 @@ index ee59903..f7ac156 100644 + hlt +1: add $8,%rsp + ret --- -2.17.1 +-- +2.38.1 diff --git a/patches/0015-Comment-macros-to-stop-using-VDSO.patch b/patches/0015-Comment-macros-to-stop-using-VDSO.patch index 189f2c9..ec4227d 100644 --- a/patches/0015-Comment-macros-to-stop-using-VDSO.patch +++ b/patches/0015-Comment-macros-to-stop-using-VDSO.patch @@ -13,55 +13,44 @@ a segfault. Signed-off-by: Florin Postolache --- arch/aarch64/syscall_arch.h | 2 +- - arch/arm/syscall_arch.h | 2 +- - arch/i386/syscall_arch.h | 2 +- + arch/i386/syscall_arch.h | 4 ++-- arch/x86_64/syscall_arch.h | 4 ++-- - 4 files changed, 5 insertions(+), 5 deletions(-) + 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/aarch64/syscall_arch.h b/arch/aarch64/syscall_arch.h -index 25f5ce6..1b7a22f 100644 +index 504983a..699df67 100644 --- a/arch/aarch64/syscall_arch.h +++ b/arch/aarch64/syscall_arch.h -@@ -72,5 +72,5 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo +@@ -72,7 +72,7 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo } - + #define VDSO_USEFUL -#define VDSO_CGT_SYM "__kernel_clock_gettime" +//#define VDSO_CGT_SYM "__kernel_clock_gettime" #define VDSO_CGT_VER "LINUX_2.6.39" -diff --git a/arch/arm/syscall_arch.h b/arch/arm/syscall_arch.h -index 6023303..bb949c3 100644 ---- a/arch/arm/syscall_arch.h -+++ b/arch/arm/syscall_arch.h -@@ -74,7 +74,7 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo - } - - #define VDSO_USEFUL --#define VDSO_CGT_SYM "__vdso_clock_gettime" -+//#define VDSO_CGT_SYM "__vdso_clock_gettime" - #define VDSO_CGT_VER "LINUX_2.6" - - #define SYSCALL_FADVISE_6_ARG + + #define IPC_64 0 diff --git a/arch/i386/syscall_arch.h b/arch/i386/syscall_arch.h -index 4c9d874..06f1d35 100644 +index f92b7aa..b0238ba 100644 --- a/arch/i386/syscall_arch.h +++ b/arch/i386/syscall_arch.h -@@ -53,7 +53,7 @@ static inline long __syscall6(long n, long a1, long a2, long a3, long a4, long a +@@ -83,7 +83,7 @@ static inline long __syscall6(long n, long a1, long a2, long a3, long a4, long a } - + #define VDSO_USEFUL --#define VDSO_CGT_SYM "__vdso_clock_gettime" -+//#define VDSO_CGT_SYM "__vdso_clock_gettime" +-#define VDSO_CGT32_SYM "__vdso_clock_gettime" ++//#define VDSO_CGT32_SYM "__vdso_clock_gettime" + #define VDSO_CGT32_VER "LINUX_2.6" +-#define VDSO_CGT_SYM "__vdso_clock_gettime64" ++//#define VDSO_CGT_SYM "__vdso_clock_gettime64" #define VDSO_CGT_VER "LINUX_2.6" - - #define SYSCALL_USE_SOCKETCALL diff --git a/arch/x86_64/syscall_arch.h b/arch/x86_64/syscall_arch.h -index 54e05ff..847cf2c 100644 +index 92d5c17..e99279e 100644 --- a/arch/x86_64/syscall_arch.h +++ b/arch/x86_64/syscall_arch.h -@@ -62,7 +62,7 @@ static __inline long __syscall6(long n, long a1, long a2, long a3, long a4, long +@@ -62,9 +62,9 @@ static __inline long __syscall6(long n, long a1, long a2, long a3, long a4, long } - + #define VDSO_USEFUL -#define VDSO_CGT_SYM "__vdso_clock_gettime" +//#define VDSO_CGT_SYM "__vdso_clock_gettime" @@ -69,6 +58,7 @@ index 54e05ff..847cf2c 100644 -#define VDSO_GETCPU_SYM "__vdso_getcpu" +//#define VDSO_GETCPU_SYM "__vdso_getcpu" #define VDSO_GETCPU_VER "LINUX_2.6" --- -2.25.1 + #define IPC_64 0 +-- +2.38.1 diff --git a/patches/0016-Modify-clone-wrapper.patch b/patches/0016-Modify-clone-wrapper.patch new file mode 100644 index 0000000..762121b --- /dev/null +++ b/patches/0016-Modify-clone-wrapper.patch @@ -0,0 +1,62 @@ +From 2ad50560ffad11f6bc1c7788ae733760f6d85f7f Mon Sep 17 00:00:00 2001 +From: Robert Kuban +Date: Thu, 11 Aug 2022 18:03:23 +0200 +Subject: [PATCH] Modify clone wrapper + +Signed-off-by: Robert Kuban +--- + src/thread/aarch64/clone.s | 24 ++++++++++++++++-------- + 1 file changed, 16 insertions(+), 8 deletions(-) + +diff --git a/src/thread/aarch64/clone.s b/src/thread/aarch64/clone.s +index e3c8339..0b8abeb 100644 +--- a/src/thread/aarch64/clone.s ++++ b/src/thread/aarch64/clone.s +@@ -1,13 +1,20 @@ + // __clone(func, stack, flags, arg, ptid, tls, ctid) + // x0, x1, w2, x3, x4, x5, x6 + +-// syscall(SYS_clone, flags, stack, ptid, tls, ctid) +-// x8, x0, x1, x2, x3, x4 ++// see: lib/posix-process/clone.c ++// uk_syscall_r_clone(flags, stack, ptid, tlsp, ctid) ++// x0, x1, x2, x3, x4 ++ ++// see: lib/posix-process/process.c ++// uk_syscall_r_exit(status) ++// x0 + + .global __clone + .hidden __clone + .type __clone,%function + __clone: ++ stp x29, x30, [sp, #-16]! ++ + // align stack and save func,arg + and x1,x1,#-16 + stp x0,x3,[x1,#-16]! +@@ -17,14 +24,15 @@ __clone: + mov x2,x4 + mov x3,x5 + mov x4,x6 +- mov x8,#220 // SYS_clone +- svc #0 ++ bl uk_syscall_r_clone + + cbz x0,1f + // parent ++ ldp x29, x30, [sp], #16 + ret +- // child ++ // child (SP is X1 from syscall now) + 1: ldp x1,x0,[sp],#16 +- blr x1 +- mov x8,#93 // SYS_exit +- svc #0 ++ blr x1 // call func(arg) ++ mov x0, xzr ++ bl uk_syscall_r_exit ++ wfi +-- +2.38.1 + diff --git a/patches/0016-wcsnrtombs-cve-2020-28928.patch b/patches/0016-wcsnrtombs-cve-2020-28928.patch deleted file mode 100644 index ef6c07c..0000000 --- a/patches/0016-wcsnrtombs-cve-2020-28928.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/src/multibyte/wcsnrtombs.c b/src/multibyte/wcsnrtombs.c -index 676932b5..95e25e70 100644 ---- a/src/multibyte/wcsnrtombs.c -+++ b/src/multibyte/wcsnrtombs.c -@@ -1,41 +1,33 @@ - #include -+#include -+#include - - size_t wcsnrtombs(char *restrict dst, const wchar_t **restrict wcs, size_t wn, size_t n, mbstate_t *restrict st) - { -- size_t l, cnt=0, n2; -- char *s, buf[256]; - const wchar_t *ws = *wcs; -- const wchar_t *tmp_ws; -- -- if (!dst) s = buf, n = sizeof buf; -- else s = dst; -- -- while ( ws && n && ( (n2=wn)>=n || n2>32 ) ) { -- if (n2>=n) n2=n; -- tmp_ws = ws; -- l = wcsrtombs(s, &ws, n2, 0); -- if (!(l+1)) { -- cnt = l; -- n = 0; -+ size_t cnt = 0; -+ if (!dst) n=0; -+ while (ws && wn) { -+ char tmp[MB_LEN_MAX]; -+ size_t l = wcrtomb(nn) break; -+ memcpy(dst, tmp, l); -+ } -+ dst += l; - n -= l; - } -- wn = ws ? wn - (ws - tmp_ws) : 0; -- cnt += l; -- } -- if (ws) while (n && wn) { -- l = wcrtomb(s, *ws, 0); -- if ((l+1)<=1) { -- if (!l) ws = 0; -- else cnt = l; -+ if (!*ws) { -+ ws = 0; - break; - } -- ws++; wn--; -- /* safe - this loop runs fewer than sizeof(buf) times */ -- s+=l; n-=l; -+ ws++; -+ wn--; - cnt += l; - } - if (dst) *wcs = ws; - diff --git a/patches/0017-add-getrandom-syscall-wrapper.patch b/patches/0017-add-getrandom-syscall-wrapper.patch deleted file mode 100644 index 1eed60a..0000000 --- a/patches/0017-add-getrandom-syscall-wrapper.patch +++ /dev/null @@ -1,55 +0,0 @@ -From e20658209177667e490c661dfd35b976749ef3f7 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Sat, 6 Jan 2018 23:08:09 +0100 -Subject: [PATCH 1/2] add getrandom syscall wrapper - -This syscall is available since Linux 3.17 and was also implemented in -glibc in version 2.25 using the same interfaces. ---- - include/sys/random.h | 19 +++++++++++++++++++ - src/linux/getrandom.c | 7 +++++++ - 2 files changed, 26 insertions(+) - create mode 100644 include/sys/random.h - create mode 100644 src/linux/getrandom.c - -diff --git a/include/sys/random.h b/include/sys/random.h -new file mode 100644 -index 00000000..4ee7bf2c ---- /dev/null -+++ b/include/sys/random.h -@@ -0,0 +1,19 @@ -+#ifndef _SYS_RANDOM_H -+#define _SYS_RANDOM_H -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#define __NEED_size_t -+#define __NEED_ssize_t -+#include -+ -+#define GRND_NONBLOCK 0x0001 -+#define GRND_RANDOM 0x0002 -+ -+ssize_t getrandom(void *, size_t, unsigned); -+ -+#ifdef __cplusplus -+} -+#endif -+#endif -diff --git a/src/linux/getrandom.c b/src/linux/getrandom.c -new file mode 100644 -index 00000000..6cc6f6b0 ---- /dev/null -+++ b/src/linux/getrandom.c -@@ -0,0 +1,7 @@ -+#include -+#include "syscall.h" -+ -+ssize_t getrandom(void *buf, size_t buflen, unsigned flags) -+{ -+ return syscall_cp(SYS_getrandom, buf, buflen, flags); -+} --- -2.25.1 - diff --git a/patches/0017-src-env-Properly-define-environ-variable.patch b/patches/0017-src-env-Properly-define-environ-variable.patch new file mode 100644 index 0000000..65f8ded --- /dev/null +++ b/patches/0017-src-env-Properly-define-environ-variable.patch @@ -0,0 +1,34 @@ +From 17ebbfdf54bf48906e9a794858e82a22b4a79e92 Mon Sep 17 00:00:00 2001 +Message-Id: <17ebbfdf54bf48906e9a794858e82a22b4a79e92.1669753860.git.razvand@unikraft.io> +From: Razvan Deaconescu +Date: Tue, 29 Nov 2022 22:29:40 +0200 +Subject: [PATCH] src/env: Properly define environ variable + +`environ` is an array of pointers, the last element of which is the NULL +pointer. The current definition of `environ` defines it as NULL, not as +an array of pointers. + +This commit changes that, and defines `environ` as an array with a +single NULL element. + +Signed-off-by: Razvan Deaconescu +--- + src/env/__environ.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/env/__environ.c b/src/env/__environ.c +index e6c6faa..689b834 100644 +--- a/src/env/__environ.c ++++ b/src/env/__environ.c +@@ -1,6 +1,7 @@ + #include "libc.h" + +-char **__environ = 0; ++static char *init_environ[] = { NULL }; ++char **__environ = init_environ; + weak_alias(__environ, ___environ); + weak_alias(__environ, _environ); + weak_alias(__environ, environ); +-- +2.17.1 + diff --git a/patches/0018-Field-name-__unused-conflicts-with-Unikraft-__unused.patch b/patches/0018-Field-name-__unused-conflicts-with-Unikraft-__unused.patch deleted file mode 100644 index f588804..0000000 --- a/patches/0018-Field-name-__unused-conflicts-with-Unikraft-__unused.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 814aa07bf4b566f51f7f81bb0a18f4689188f83e Mon Sep 17 00:00:00 2001 -From: Robert Kuban -Date: Mon, 18 Jul 2022 13:19:41 +0200 -Subject: [PATCH 1/3] Field name `__unused` conflicts with Unikraft `__unused` - macro. - -Signed-off-by: Robert Kuban ---- - arch/aarch64/bits/stat.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/aarch64/bits/stat.h b/arch/aarch64/bits/stat.h -index b7f4221b..d1778f74 100644 ---- a/arch/aarch64/bits/stat.h -+++ b/arch/aarch64/bits/stat.h -@@ -14,5 +14,5 @@ struct stat { - struct timespec st_atim; - struct timespec st_mtim; - struct timespec st_ctim; -- unsigned __unused[2]; -+ unsigned _pad[2]; - }; --- -2.25.1 - diff --git a/patches/0018-include-Use-function-declaration-for-getdents64.patch b/patches/0018-include-Use-function-declaration-for-getdents64.patch new file mode 100644 index 0000000..79514d9 --- /dev/null +++ b/patches/0018-include-Use-function-declaration-for-getdents64.patch @@ -0,0 +1,33 @@ +From 40feadbd7fb360033089787a60b7d58deaae4892 Mon Sep 17 00:00:00 2001 +Message-Id: <40feadbd7fb360033089787a60b7d58deaae4892.1669764551.git.razvand@unikraft.io> +From: Razvan Deaconescu +Date: Wed, 30 Nov 2022 01:27:36 +0200 +Subject: [PATCH] include: Use function declaration for getdents64() + +When defining `getdents64` as a macro aliasing `getdents`, the syscall +shim layer complains. + +The declaration of `getdents64()`, combined with the `LFS64(getdents)` +aliasing used in `src/dirent/__getdents.c` solves this. + +Signed-off-by: Razvan Deaconescu +--- + include/dirent.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/dirent.h b/include/dirent.h +index 650ecf6..b72acaf 100644 +--- a/include/dirent.h ++++ b/include/dirent.h +@@ -65,7 +65,7 @@ int versionsort(const struct dirent **, const struct dirent **); + #define versionsort64 versionsort + #define off64_t off_t + #define ino64_t ino_t +-#define getdents64 getdents ++int getdents64(int, struct dirent64 *, size_t); + #endif + + #ifdef __cplusplus +-- +2.38.1 + diff --git a/patches/0019-Modify-clone-wrapper.patch b/patches/0019-Modify-clone-wrapper.patch deleted file mode 100644 index a4af6db..0000000 --- a/patches/0019-Modify-clone-wrapper.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 2ad50560ffad11f6bc1c7788ae733760f6d85f7f Mon Sep 17 00:00:00 2001 -From: Robert Kuban -Date: Thu, 11 Aug 2022 18:03:23 +0200 -Subject: [PATCH] Modify clone wrapper - -Signed-off-by: Robert Kuban ---- - src/thread/aarch64/clone.s | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -diff --git a/src/thread/aarch64/clone.s b/src/thread/aarch64/clone.s -index 50af913c..cd1f956b 100644 ---- a/src/thread/aarch64/clone.s -+++ b/src/thread/aarch64/clone.s -@@ -1,12 +1,19 @@ - // __clone(func, stack, flags, arg, ptid, tls, ctid) - // x0, x1, w2, x3, x4, x5, x6 - --// syscall(SYS_clone, flags, stack, ptid, tls, ctid) --// x8, x0, x1, x2, x3, x4 -+// see: lib/posix-process/clone.c -+// uk_syscall_r_clone(flags, stack, ptid, tlsp, ctid) -+// x0, x1, x2, x3, x4 -+ -+// see: lib/posix-process/process.c -+// uk_syscall_r_exit(status) -+// x0 - - .global __clone - .type __clone,%function - __clone: -+ stp x29, x30, [sp, #-16]! -+ - // align stack and save func,arg - and x1,x1,#-16 - stp x0,x3,[x1,#-16]! -@@ -16,14 +23,15 @@ __clone: - mov x2,x4 - mov x3,x5 - mov x4,x6 -- mov x8,#220 // SYS_clone -- svc #0 -+ bl uk_syscall_r_clone - - cbz x0,1f - // parent -+ ldp x29, x30, [sp], #16 - ret -- // child -+ // child (SP is X1 from syscall now) - 1: ldp x1,x0,[sp],#16 -- blr x1 -- mov x8,#93 // SYS_exit -- svc #0 -+ blr x1 // call func(arg) -+ mov x0, xzr -+ bl uk_syscall_r_exit -+ wfi --- -2.25.1 - diff --git a/patches/0019-Use-uk_syscall_r_for_alt_socketcall-patch.patch b/patches/0019-Use-uk_syscall_r_for_alt_socketcall-patch.patch new file mode 100644 index 0000000..581ebd6 --- /dev/null +++ b/patches/0019-Use-uk_syscall_r_for_alt_socketcall-patch.patch @@ -0,0 +1,34 @@ +From e9ad1e7f22c64e6b7a26084ba61c51c45b09a5ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eduard=20Vintil=C4=83?= +Date: Fri, 9 Dec 2022 23:28:05 +0200 +Subject: [PATCH 1/2] uk_syscall_r-patch +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use the `uk_syscall_r()` variant for system call numbers +known only at runtime. + +Signed-off-by: Eduard Vintilă +--- + src/internal/syscall.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/internal/syscall.h b/src/internal/syscall.h +index 9419ea9..83fa584 100644 +--- a/src/internal/syscall.h ++++ b/src/internal/syscall.h +@@ -45,8 +45,8 @@ long __syscall_ret(unsigned long), __syscall(uk_syscall_arg_t, ...), + static inline long __alt_socketcall(int sys, int sock, int cp, long a, long b, long c, long d, long e, long f) + { + long r; +- if (cp) r = __syscall_cp(sys, a, b, c, d, e, f); +- else r = __syscall(sys, a, b, c, d, e, f); ++ if (cp) r = uk_syscall_r(sys, a, b, c, d, e, f); ++ else r = uk_syscall_r(sys, a, b, c, d, e, f); + if (r != -ENOSYS) return r; + #ifdef SYS_socketcall + if (cp) r = __syscall_cp(SYS_socketcall, sock, ((long[6]){a, b, c, d, e, f})); +-- +2.38.1 + diff --git a/patches/0020-use_openat_ifndef_SYS_open.patch b/patches/0020-use_openat_ifndef_SYS_open.patch deleted file mode 100644 index fb35f76..0000000 --- a/patches/0020-use_openat_ifndef_SYS_open.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/internal/syscall.h b/src/internal/syscall.h -index 5bdb9ea9..c27e4915 100644 ---- a/src/internal/syscall.h -+++ b/src/internal/syscall.h -@@ -201,7 +201,11 @@ long __syscall_ret(unsigned long), __syscall(uk_syscall_arg_t, ...), - #define __SC_recvmmsg 19 - #define __SC_sendmmsg 20 - -+#ifdef SYS_open - #define __sys_open(...) uk_syscall_r_static(SYS_open, __VA_ARGS__) -+#else -+#define __sys_open(...) uk_syscall_r_static(SYS_openat, AT_FDCWD,__VA_ARGS__) -+#endif - #define sys_open(...) __syscall_ret(__sys_open(__VA_ARGS__)) - - /** -@@ -209,7 +213,11 @@ long __syscall_ret(unsigned long), __syscall(uk_syscall_arg_t, ...), - * However, we currently don't support this operation. - * Hence, we stick to the basic uk_syscall - */ -+#ifdef SYS_open - #define __sys_open_cp(...) uk_syscall_r_static(SYS_open, __VA_ARGS__) -+#else -+#define __sys_open_cp(...) uk_syscall_r_static(SYS_openat, AT_FDCWD, __VA_ARGS__) -+#endif - #define sys_open_cp(...) __syscall_ret(__sys_open_cp(__VA_ARGS__)) - - #endif diff --git a/patches/0021-src-env-Properly-define-environ-variable.patch b/patches/0021-src-env-Properly-define-environ-variable.patch deleted file mode 100644 index 65f8ded..0000000 --- a/patches/0021-src-env-Properly-define-environ-variable.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 17ebbfdf54bf48906e9a794858e82a22b4a79e92 Mon Sep 17 00:00:00 2001 -Message-Id: <17ebbfdf54bf48906e9a794858e82a22b4a79e92.1669753860.git.razvand@unikraft.io> -From: Razvan Deaconescu -Date: Tue, 29 Nov 2022 22:29:40 +0200 -Subject: [PATCH] src/env: Properly define environ variable - -`environ` is an array of pointers, the last element of which is the NULL -pointer. The current definition of `environ` defines it as NULL, not as -an array of pointers. - -This commit changes that, and defines `environ` as an array with a -single NULL element. - -Signed-off-by: Razvan Deaconescu ---- - src/env/__environ.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/env/__environ.c b/src/env/__environ.c -index e6c6faa..689b834 100644 ---- a/src/env/__environ.c -+++ b/src/env/__environ.c -@@ -1,6 +1,7 @@ - #include "libc.h" - --char **__environ = 0; -+static char *init_environ[] = { NULL }; -+char **__environ = init_environ; - weak_alias(__environ, ___environ); - weak_alias(__environ, _environ); - weak_alias(__environ, environ); --- -2.17.1 - diff --git a/patches/0022-include-Use-function-declaration-for-getdents64.patch b/patches/0022-include-Use-function-declaration-for-getdents64.patch deleted file mode 100644 index 65b00fb..0000000 --- a/patches/0022-include-Use-function-declaration-for-getdents64.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 40feadbd7fb360033089787a60b7d58deaae4892 Mon Sep 17 00:00:00 2001 -Message-Id: <40feadbd7fb360033089787a60b7d58deaae4892.1669764551.git.razvand@unikraft.io> -From: Razvan Deaconescu -Date: Wed, 30 Nov 2022 01:27:36 +0200 -Subject: [PATCH] include: Use function declaration for getdents64() - -When defining `getdents64` as a macro aliasing `getdents`, the syscall -shim layer complains. - -The declaration of `getdents64()`, combined with the `LFS64(getdents)` -aliasing used in `src/dirent/__getdents.c` solves this. - -Signed-off-by: Razvan Deaconescu ---- - include/dirent.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/dirent.h b/include/dirent.h -index e0a8fe6..12bb28c 100644 ---- a/include/dirent.h -+++ b/include/dirent.h -@@ -75,7 +75,7 @@ int versionsort(const struct dirent **, const struct dirent **); - #define versionsort64 versionsort - #define off64_t off_t - #define ino64_t ino_t --#define getdents64 getdents -+int getdents64(int, struct dirent64 *, size_t); - #endif - - #ifdef __cplusplus --- -2.17.1 -