From: Felipe Huici Date: Mon, 3 Sep 2018 14:11:59 +0000 (+0200) Subject: Initial port X-Git-Tag: RELEASE-0.4~28 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=60a1108;p=unikraft%2Flibs%2Fmusl.git Initial port Initial port, enough code to compile and run a hello world application. Signed-off-by: Felipe Huici Reviewed-by: Simon Kuenzer --- diff --git a/CODING_STYLE.md b/CODING_STYLE.md new file mode 100644 index 0000000..5730041 --- /dev/null +++ b/CODING_STYLE.md @@ -0,0 +1,4 @@ +Coding Style +============ + +Please refer to the `CODING_STYLE.md` file in the main Unikraft repository. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5f55eca --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,4 @@ +Contributing to Unikraft +======================= + +Please refer to the `CONTRIBUTING.md` file in the main Unikraft repository. diff --git a/COPYING.md b/COPYING.md new file mode 100644 index 0000000..bf8ba1e --- /dev/null +++ b/COPYING.md @@ -0,0 +1,46 @@ +License +======= + +Unikraft newlib wrappers +------------------------ + +This repository contains wrapper code to build newlib with Unikraft. The code +is published as a mixture of BSD and MIT licences; each C code file in +this repository should declare who is the copyright owner and under which terms +and conditions the code is licensed. If such a licence note is missing, the +following copyright notice will apply: + + Copyright (c) 2017, NEC Europe Ltd., NEC Corporation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +newlib source code +------------------ + +During building, the build system will download the newlib source code and +build source code from the `newlib/libc` and `newlib/libm` directories. The +code in this directories has a variety of licences, the details of which are +explained in the `README.newlib` file in the root directory of the newlib code. diff --git a/Config.uk b/Config.uk new file mode 100644 index 0000000..299f884 --- /dev/null +++ b/Config.uk @@ -0,0 +1,10 @@ +# hidden +config LIBMUSL + bool + default n + +menuconfig LIBMUSL + bool "musl - A C standard library" + default n + select HAVE_LIBC + select LIBUCALLOC diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000..5d44b60 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,11 @@ +Maintainers List +================ + +For notes on how to read this information, please refer to `MAINTAINERS.md` in +the main Unikraft repository. + + NEWLIB-UNIKRAFT + M: Felipe Huici + M: Florian Schmidt + L: minios-devel@lists.xen.org + F: * diff --git a/Makefile.uk b/Makefile.uk new file mode 100644 index 0000000..fc31a72 --- /dev/null +++ b/Makefile.uk @@ -0,0 +1,164 @@ +# libmusl Makefile.uk +# +# Authors: Felipe Huici +# +# Copyright (c) 2017, NEC Europe Ltd., NEC Corporation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. +# + +################################################################################ +# Library registration +################################################################################ +$(eval $(call addlib_s,libmusl,$(CONFIG_LIBMUSL))) + +################################################################################ +# Sources +################################################################################ +LIBMUSL_VERSION=1.1.19 +LIBMUSL_URL=https://www.musl-libc.org/releases/musl-$(LIBMUSL_VERSION).tar.gz +LIBMUSL_PATCHDIR=$(LIBMUSL_BASE)/patches +$(eval $(call fetch,libmusl,$(LIBMUSL_URL))) +$(eval $(call patch,libmusl,$(LIBMUSL_PATCHDIR),musl-$(LIBMUSL_VERSION))) + +################################################################################ +# Helpers +################################################################################ +LIBMUSL_SUBDIR=musl-$(LIBMUSL_VERSION) +LIBMUSL=$(LIBMUSL_ORIGIN)/$(LIBMUSL_SUBDIR)/ + +################################################################################ +# Library includes +################################################################################ +CINCLUDES-$(CONFIG_LIBMUSL) += -I$(LIBMUSL_BASE)/include +CINCLUDES-$(CONFIG_LIBMUSL) += -I$(LIBMUSL)/include +CINCLUDES-$(CONFIG_LIBMUSL) += -I$(LIBMUSL)/arch/$(ARCH) +CINCLUDES-$(CONFIG_LIBMUSL) += -I$(LIBMUSL)/arch/generic +CINCLUDES-$(CONFIG_LIBMUSL) += -I$(LIBMUSL)/src/internal +CINCLUDES-$(CONFIG_LIBMUSL) += -I$(LIBMUSL)/src/ctype +CINCLUDES-$(CONFIG_LIBMUSL) += -I$(LIBMUSL)/src/dirent + +################################################################################ +# Musl-specific Targets +################################################################################ +# generate alltypes.h through musl sed script +$(LIBMUSL)/arch/$(ARCH)/bits/alltypes.h: + $(call verbose_cmd,CONFIGURE,libmusl: $@,\ + sed -f $(LIBMUSL)/tools/mkalltypes.sed $(LIBMUSL)/arch/$(ARCH)/bits/alltypes.h.in $(LIBMUSL)/include/alltypes.h.in > $@ && \ + $(TOUCH) $@) + +# generate syscall.h +$(LIBMUSL)/arch/$(ARCH)/bits/syscall.h: $(LIBMUSL)/arch/$(ARCH)/bits/syscall.h.in + $(call verbose_cmd,CONFIGURE,libmusl: $@,\ + cp $< $@ && \ + sed -n -e s/__NR_/SYS_/p < $< >> $@ && \ + $(TOUCH) $@) + +# generate version.h +$(LIBMUSL)/src/internal/version.h: + $(call verbose_cmd,CONFIGURE,libmusl: $@,\ + printf '#define VERSION "%s"\n' "$$(cd $(LIBMUSL); sh tools/version.sh)" > $@ \ + $(TOUCH) $@) + + +UK_PREPARE += $(LIBMUSL)/arch/$(ARCH)/bits/alltypes.h +UK_PREPARE += $(LIBMUSL)/arch/$(ARCH)/bits/syscall.h +UK_PREPARE += $(LIBMUSL)/src/internal/version.h + +LIBMUSL_CLEAN += $(LIBMUSL)/arch/$(ARCH)/bits/alltypes.h +LIBMUSL_CLEAN += $(LIBMUSL)/arch/$(ARCH)/bits/syscall.h +LIBMUSL_CLEAN += $(LIBMUSL)/src/internal/version.h + +################################################################################ +# Global flags +################################################################################ +LIBMUSL_CFLAGS-y += -D_POSIX_SOURCE -D_BSD_SOURCE + +# Suppress some warnings to make the build process look neater +SUPPRESS_FLAGS += -Wno-unused-parameter -Wno-unused-variable -Wno-nonnull \ +-Wno-unused-but-set-variable -Wno-unused-label -Wno-char-subscripts \ +-Wno-unused-function -Wno-missing-field-initializers -Wno-uninitialized \ +-Wno-array-bounds -Wno-maybe-uninitialized -Wno-pointer-sign -Wno-unused-value \ +-Wno-unused-macros -Wno-parentheses -Wno-implicit-function-declaration \ +-Wno-missing-braces -Wno-endif-labels -Wno-unused-but-set-variable \ +-Wno-implicit-function-declaration -Wno-type-limits -Wno-sign-compare + +LIBMUSL_CFLAGS-y += $(SUPPRESS_FLAGS) +LIBMUSL_CXXFLAGS-y += $(SUPPRESS_FLAGS) + +################################################################################ +# OS dependencies code - Glue between Unicore and musl +################################################################################ +LIBMUSL_SRCS-y += $(LIBMUSL_BASE)/mem.c +LIBMUSL_SRCS-y += $(LIBMUSL_BASE)/syscall.c + +################################################################################ +# musl code -- one external Makefile per sub-lib +################################################################################ +include $(LIBMUSL_BASE)/Makefile.uk.musl.mq +include $(LIBMUSL_BASE)/Makefile.uk.musl.dirent +include $(LIBMUSL_BASE)/Makefile.uk.musl.misc +include $(LIBMUSL_BASE)/Makefile.uk.musl.temp +include $(LIBMUSL_BASE)/Makefile.uk.musl.multibyte +include $(LIBMUSL_BASE)/Makefile.uk.musl.process +include $(LIBMUSL_BASE)/Makefile.uk.musl.mman +include $(LIBMUSL_BASE)/Makefile.uk.musl.stdlib +include $(LIBMUSL_BASE)/Makefile.uk.musl.fcntl +include $(LIBMUSL_BASE)/Makefile.uk.musl.stdio +include $(LIBMUSL_BASE)/Makefile.uk.musl.conf +include $(LIBMUSL_BASE)/Makefile.uk.musl.math +include $(LIBMUSL_BASE)/Makefile.uk.musl.aio +include $(LIBMUSL_BASE)/Makefile.uk.musl.stat +include $(LIBMUSL_BASE)/Makefile.uk.musl.search +include $(LIBMUSL_BASE)/Makefile.uk.musl.crypt +include $(LIBMUSL_BASE)/Makefile.uk.musl.select +include $(LIBMUSL_BASE)/Makefile.uk.musl.malloc +include $(LIBMUSL_BASE)/Makefile.uk.musl.unistd +include $(LIBMUSL_BASE)/Makefile.uk.musl.signal +include $(LIBMUSL_BASE)/Makefile.uk.musl.thread +include $(LIBMUSL_BASE)/Makefile.uk.musl.legacy +include $(LIBMUSL_BASE)/Makefile.uk.musl.env +include $(LIBMUSL_BASE)/Makefile.uk.musl.time +include $(LIBMUSL_BASE)/Makefile.uk.musl.errno +include $(LIBMUSL_BASE)/Makefile.uk.musl.ipc +include $(LIBMUSL_BASE)/Makefile.uk.musl.prng +include $(LIBMUSL_BASE)/Makefile.uk.musl.ldso +include $(LIBMUSL_BASE)/Makefile.uk.musl.passwd +include $(LIBMUSL_BASE)/Makefile.uk.musl.fenv +include $(LIBMUSL_BASE)/Makefile.uk.musl.ctype +include $(LIBMUSL_BASE)/Makefile.uk.musl.linux +include $(LIBMUSL_BASE)/Makefile.uk.musl.internal +include $(LIBMUSL_BASE)/Makefile.uk.musl.network +include $(LIBMUSL_BASE)/Makefile.uk.musl.sched +include $(LIBMUSL_BASE)/Makefile.uk.musl.string +include $(LIBMUSL_BASE)/Makefile.uk.musl.regex +include $(LIBMUSL_BASE)/Makefile.uk.musl.termios +include $(LIBMUSL_BASE)/Makefile.uk.musl.exit +include $(LIBMUSL_BASE)/Makefile.uk.musl.setjmp +include $(LIBMUSL_BASE)/Makefile.uk.musl.locale +include $(LIBMUSL_BASE)/Makefile.uk.musl.complex diff --git a/Makefile.uk.musl.aio b/Makefile.uk.musl.aio new file mode 100644 index 0000000..f59397a --- /dev/null +++ b/Makefile.uk.musl.aio @@ -0,0 +1,3 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/aio/aio.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/aio/aio_suspend.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/aio/lio_listio.c diff --git a/Makefile.uk.musl.complex b/Makefile.uk.musl.complex new file mode 100644 index 0000000..14ea162 --- /dev/null +++ b/Makefile.uk.musl.complex @@ -0,0 +1,71 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/casinh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csinhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/creal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/__cexpf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/casinl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cabs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cexp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ctanl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ccosl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ccoshf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ccosh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csqrt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ccos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cacos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cacosl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cexpf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cprojf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/conjf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/catanhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/creall.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/catanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csinl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cacosf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csinh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cimag.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ctan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/casinf.c +# TO DO: missing __mulxc3 +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cpowl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cacoshf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ctanhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/casinhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/casinhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/catanl.c +# TO DO: missing __muldc3 +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cpow.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/catanh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/__cexp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/clogl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cacosh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cargl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/catanhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cimagl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cprojl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/conj.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cproj.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cargf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/catan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cacoshl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/clogf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csqrtf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/clog.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/casin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ctanh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cexpl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cabsf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ctanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cimagf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ctanhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/carg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csinhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csinf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/crealf.c +# TO DO: missing __mulsc3 +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cpowf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/cabsl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/conjl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ccoshl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/csqrtl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/complex/ccosf.c diff --git a/Makefile.uk.musl.conf b/Makefile.uk.musl.conf new file mode 100644 index 0000000..4e89e81 --- /dev/null +++ b/Makefile.uk.musl.conf @@ -0,0 +1,5 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/conf/confstr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/conf/fpathconf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/conf/legacy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/conf/pathconf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/conf/sysconf.c diff --git a/Makefile.uk.musl.crypt b/Makefile.uk.musl.crypt new file mode 100644 index 0000000..71ceda6 --- /dev/null +++ b/Makefile.uk.musl.crypt @@ -0,0 +1,8 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/crypt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/crypt_blowfish.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/crypt_des.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/crypt_md5.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/crypt_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/crypt_sha256.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/crypt_sha512.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/crypt/encrypt.c diff --git a/Makefile.uk.musl.ctype b/Makefile.uk.musl.ctype new file mode 100644 index 0000000..c02dfed --- /dev/null +++ b/Makefile.uk.musl.ctype @@ -0,0 +1,37 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/__ctype_b_loc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/__ctype_get_mb_cur_max.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/__ctype_tolower_loc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/__ctype_toupper_loc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isalnum.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isalpha.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isascii.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isblank.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iscntrl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isdigit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isgraph.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/islower.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isprint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/ispunct.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isspace.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isupper.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswalnum.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswalpha.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswblank.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswcntrl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswctype.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswdigit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswgraph.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswlower.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswprint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswpunct.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswspace.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswupper.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/iswxdigit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/isxdigit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/toascii.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/tolower.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/toupper.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/towctrans.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/wcswidth.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/wctrans.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ctype/wcwidth.c diff --git a/Makefile.uk.musl.dirent b/Makefile.uk.musl.dirent new file mode 100644 index 0000000..93f4bfa --- /dev/null +++ b/Makefile.uk.musl.dirent @@ -0,0 +1,13 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/__getdents.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/alphasort.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/closedir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/dirfd.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/fdopendir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/opendir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/readdir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/readdir_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/rewinddir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/scandir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/seekdir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/telldir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/dirent/versionsort.c diff --git a/Makefile.uk.musl.env b/Makefile.uk.musl.env new file mode 100644 index 0000000..b724725 --- /dev/null +++ b/Makefile.uk.musl.env @@ -0,0 +1,10 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/__environ.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/__init_tls.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/__libc_start_main.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/__reset_tls.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/__stack_chk_fail.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/clearenv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/getenv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/putenv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/setenv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/env/unsetenv.c diff --git a/Makefile.uk.musl.errno b/Makefile.uk.musl.errno new file mode 100644 index 0000000..d43226e --- /dev/null +++ b/Makefile.uk.musl.errno @@ -0,0 +1,2 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/errno/__errno_location.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/errno/strerror.c diff --git a/Makefile.uk.musl.exit b/Makefile.uk.musl.exit new file mode 100644 index 0000000..eea591c --- /dev/null +++ b/Makefile.uk.musl.exit @@ -0,0 +1,8 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/_Exit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/abort.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/arm/__aeabi_atexit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/assert.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/at_quick_exit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/atexit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/exit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/exit/quick_exit.c diff --git a/Makefile.uk.musl.fcntl b/Makefile.uk.musl.fcntl new file mode 100644 index 0000000..317174a --- /dev/null +++ b/Makefile.uk.musl.fcntl @@ -0,0 +1,6 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fcntl/creat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fcntl/fcntl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fcntl/open.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fcntl/openat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fcntl/posix_fadvise.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fcntl/posix_fallocate.c diff --git a/Makefile.uk.musl.fenv b/Makefile.uk.musl.fenv new file mode 100644 index 0000000..355beca --- /dev/null +++ b/Makefile.uk.musl.fenv @@ -0,0 +1,32 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/__flt_rounds.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/fegetexceptflag.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/feholdexcept.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/fesetexceptflag.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/fesetround.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/feupdateenv.c + +ifeq (arm,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/arm/fenv-hf.S|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/arm/fenv.c|arm +else ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/i386/fenv.s|x86_32 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/x86_64/fenv.s|x86_64 +else +LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/fenv.c +endif + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/aarch64/fenv.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/mips/fenv-sf.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/mips/fenv.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/mips64/fenv-sf.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/mips64/fenv.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/mipsn32/fenv-sf.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/mipsn32/fenv.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/powerpc/fenv-sf.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/powerpc/fenv.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/powerpc64/fenv.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/s390x/fenv.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/sh/fenv-nofpu.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/sh/fenv.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/fenv/x32/fenv.s diff --git a/Makefile.uk.musl.internal b/Makefile.uk.musl.internal new file mode 100644 index 0000000..b65b15b --- /dev/null +++ b/Makefile.uk.musl.internal @@ -0,0 +1,32 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/floatscan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/intscan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/libc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/procfdname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/shgetc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/syscall.c|internal +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/syscall_ret.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/vdso.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/version.c + +#ifeq (arm,$(CONFIG_UK_ARCH)) +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/arm/syscall.s|arm +#else ifeq (x86_32,$(CONFIG_UK_ARCH)) +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/i386/syscall.s|i386 +#else ifeq (x86_64,$(CONFIG_UK_ARCH)) +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/x86_64/syscall.s|x86_64 +#endif + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/aarch64/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/microblaze/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/mips/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/mips64/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/mipsn32/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/or1k/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/powerpc/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/powerpc64/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/s390x/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/sh/__shcall.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/sh/syscall.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/internal/x32/syscall.s|x32 + + diff --git a/Makefile.uk.musl.ipc b/Makefile.uk.musl.ipc new file mode 100644 index 0000000..02f4c25 --- /dev/null +++ b/Makefile.uk.musl.ipc @@ -0,0 +1,13 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/ftok.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/msgctl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/msgget.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/msgrcv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/msgsnd.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/semctl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/semget.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/semop.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/semtimedop.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/shmat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/shmctl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/shmdt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ipc/shmget.c diff --git a/Makefile.uk.musl.ldso b/Makefile.uk.musl.ldso new file mode 100644 index 0000000..a689004 --- /dev/null +++ b/Makefile.uk.musl.ldso @@ -0,0 +1,35 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/__dlsym.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/dl_iterate_phdr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/dladdr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/dlclose.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/dlerror.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/dlinfo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/dlopen.c + +ifeq (arm,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/arm/dlsym.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/arm/find_exidx.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/tlsdesc.c +else ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/i386/dlsym.s|x86_32 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/i386/tlsdesc.s|x86_32 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/x86_64/dlsym.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/x86_64/tlsdesc.s|x86_64 +else +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/tlsdesc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/dlsym.c +endif + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/aarch64/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/aarch64/tlsdesc.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/microblaze/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/mips/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/mips64/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/mipsn32/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/or1k/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/powerpc/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/powerpc64/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/s390x/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/sh/dlsym.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/ldso/x32/dlsym.s \ No newline at end of file diff --git a/Makefile.uk.musl.legacy b/Makefile.uk.musl.legacy new file mode 100644 index 0000000..a8626fd --- /dev/null +++ b/Makefile.uk.musl.legacy @@ -0,0 +1,16 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/cuserid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/daemon.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/err.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/euidaccess.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/ftw.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/futimes.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/getdtablesize.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/getloadavg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/getpagesize.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/getpass.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/getusershell.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/isastream.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/lutimes.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/ulimit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/utmpx.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/legacy/valloc.c diff --git a/Makefile.uk.musl.linux b/Makefile.uk.musl.linux new file mode 100644 index 0000000..604e5dc --- /dev/null +++ b/Makefile.uk.musl.linux @@ -0,0 +1,57 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/adjtime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/adjtimex.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/arch_prctl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/brk.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/cache.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/cap.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/chroot.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/clock_adjtime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/clone.c|linux +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/epoll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/eventfd.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/fallocate.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/fanotify.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/flock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/inotify.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/ioperm.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/iopl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/klogctl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/module.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/mount.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/personality.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/pivot_root.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/ppoll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/prctl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/prlimit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/process_vm.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/ptrace.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/quotactl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/readahead.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/reboot.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/remap_file_pages.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/sbrk.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/sendfile.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/setfsgid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/setfsuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/setgroups.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/sethostname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/setns.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/settimeofday.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/signalfd.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/splice.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/stime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/swap.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/sync_file_range.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/syncfs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/sysinfo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/tee.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/timerfd.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/unshare.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/utimes.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/vhangup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/vmsplice.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/wait3.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/wait4.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/xattr.c + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/linux/x32/sysinfo.c diff --git a/Makefile.uk.musl.locale b/Makefile.uk.musl.locale new file mode 100644 index 0000000..fd060d8 --- /dev/null +++ b/Makefile.uk.musl.locale @@ -0,0 +1,25 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/__lctrans.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/__mo_lookup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/bind_textdomain_codeset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/c_locale.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/catclose.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/catgets.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/catopen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/dcngettext.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/duplocale.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/freelocale.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/iconv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/iconv_close.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/langinfo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/locale_map.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/localeconv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/newlocale.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/pleval.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/setlocale.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/strcoll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/strfmon.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/strxfrm.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/textdomain.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/uselocale.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/wcscoll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/locale/wcsxfrm.c diff --git a/Makefile.uk.musl.malloc b/Makefile.uk.musl.malloc new file mode 100644 index 0000000..1d2c4d5 --- /dev/null +++ b/Makefile.uk.musl.malloc @@ -0,0 +1,9 @@ +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/__brk.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/aligned_alloc.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/calloc.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/expand_heap.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/lite_malloc.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/malloc.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/malloc_usable_size.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/memalign.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/malloc/posix_memalign.c diff --git a/Makefile.uk.musl.math b/Makefile.uk.musl.math new file mode 100644 index 0000000..682de34 --- /dev/null +++ b/Makefile.uk.musl.math @@ -0,0 +1,462 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__cos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__cosdf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__cosl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__expo2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__expo2f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__fpclassify.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__fpclassifyf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__fpclassifyl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__invtrigl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__polevll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2_large.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__rem_pio2l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__signbit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__signbitf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__signbitl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__sin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__sindf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__sinl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__tan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__tandf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/__tanl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/acos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/acosf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/acosh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/acoshf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/acoshl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/asin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/asinf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/asinh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/asinhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/asinhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atan2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atan2f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atanh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atanhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atanhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/cbrt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/cbrtf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/cbrtl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ceil.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ceilf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/copysign.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/copysignf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/copysignl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/cos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/cosf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/cosh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/coshf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/coshl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/cosl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/erf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/erff.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/erfl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp10.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp10f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp10l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp2f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/expf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/expm1.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/expm1f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fdim.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fdimf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fdiml.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/finite.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/finitef.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/floor.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/floorf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fma.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmaf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmax.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmaxf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmaxl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fminf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fminl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmod.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmodf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/frexp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/frexpf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/frexpl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/hypot.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/hypotf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/hypotl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalb.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalbf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalbln.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalblnf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalblnl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalbn.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalbnf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/scalbnl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/signgam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/significand.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/significandf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sincos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sincosf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sincosl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sinf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sinh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sinhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sinhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sinl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tanh.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tanhf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tanhl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tanl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tgamma.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tgammaf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/tgammal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/trunc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/truncf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ilogb.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ilogbf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ilogbl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/j0.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/j0f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/j1.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/j1f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/jn.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/jnf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ldexp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ldexpf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ldexpl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lgamma.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lgamma_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lgammaf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lgammaf_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lgammal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llround.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llroundf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llroundl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log10.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log10f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log1p.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log1pf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log2f.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/logb.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/logbf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/logbl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/logf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lround.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lroundf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lroundl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/modf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/modff.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/modfl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nan.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nanl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nearbyint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nearbyintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nearbyintl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nextafter.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nextafterf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nextafterl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nexttoward.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nexttowardf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/nexttowardl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/pow.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/remainder.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/remainderf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/remquo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/remquof.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/remquol.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/rint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/rintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/round.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/roundf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/roundl.c + +ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/__invtrigl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/acos.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/acosf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/acosl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/asin.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/asinf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/asinl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/atan.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/atan2.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/atan2f.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/atan2l.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/atanf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/atanl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/ceil.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/ceilf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/ceill.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/exp.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/exp2.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/exp2f.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/exp2l.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/expf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/expl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/expm1.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/expm1f.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/expm1l.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/fabs.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/fabsf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/fabsl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/floor.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/floorf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/floorl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/fmod.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/fmodf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/fmodl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/hypot.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/hypotf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/ldexp.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/ldexpf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/ldexpl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/llrint.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/llrintf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/llrintl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log10.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log10f.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log10l.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log1p.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log1pf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log1pl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log2.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log2f.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/log2l.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/logf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/logl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/lrint.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/lrintf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/lrintl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/remainder.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/remainderf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/remainderl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/remquo.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/remquof.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/remquol.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/rint.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/rintf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/rintl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/scalbln.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/scalblnf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/scalblnl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/scalbn.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/scalbnf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/scalbnl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/sqrt.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/sqrtf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/sqrtl.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/trunc.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/truncf.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/i386/truncl.s|i386 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/__invtrigl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/acosl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/asinl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/atan2l.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/atanl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/ceill.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/exp2l.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/expl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/expm1l.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabs.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabsf.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/fabsl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/floorl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/fmodl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrint.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrintf.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/llrintl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/log10l.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/log1pl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/log2l.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/logl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrint.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrintf.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/lrintl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/remainderl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/rintl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrt.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrtf.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/sqrtl.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x86_64/truncl.s|x86_64 +else ifeq (arm,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/acosl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/asinl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atan2l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atanl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/expm1l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp2l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/expl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fabsl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/floorl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ceill.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/truncl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmodl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lrintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llrint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llrintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llrintl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log10l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log1pl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log2l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/logl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lrint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lrintl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/remainderl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/rintl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sqrtl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/arm/fabs.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/arm/fabsf.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/arm/sqrt.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/arm/sqrtf.c|arm +else +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/acosl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/asinl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atan2l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/atanl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/expm1l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/exp2l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/expl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fabsl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/floorl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/ceill.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/truncl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fmodl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lrintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llrint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llrintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/llrintl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log10l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log1pl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/log2l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/logl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lrint.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/lrintl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/remainderl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/rintl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sqrtl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fabs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/fabsf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sqrt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/sqrtf.c +endif + +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/ceil.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/ceilf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fabs.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fabsf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/floor.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/floorf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fma.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fmaf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fmax.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fmaxf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fmin.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/fminf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/llrint.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/llrintf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/llround.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/llroundf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/lrint.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/lrintf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/lround.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/lroundf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/nearbyint.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/nearbyintf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/rint.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/rintf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/round.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/roundf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/sqrt.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/sqrtf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/trunc.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/aarch64/truncf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/ceil.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/ceilf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fabs.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fabsf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/floor.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/floorf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fma.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fmaf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fmax.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fmaxf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fmin.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/fminf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/lrint.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/lrintf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/lround.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/lroundf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/round.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/roundf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/sqrt.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/sqrtf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/trunc.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/powerpc64/truncf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/ceil.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/ceilf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/ceill.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/fabs.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/fabsf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/fabsl.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/floor.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/floorf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/floorl.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/nearbyint.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/nearbyintf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/nearbyintl.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/rint.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/rintf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/rintl.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/round.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/roundf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/roundl.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/sqrt.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/sqrtf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/sqrtl.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/trunc.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/truncf.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/s390x/truncl.c +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/__invtrigl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/acosl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/asinl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/atan2l.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/atanl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/ceill.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/exp2l.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/expl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/expm1l.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/fabs.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/fabsf.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/fabsl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/floorl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/fmodl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/llrint.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/llrintf.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/llrintl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/log10l.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/log1pl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/log2l.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/logl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/lrint.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/lrintf.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/lrintl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/remainderl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/rintl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/sqrt.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/sqrtf.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/sqrtl.s|x32 +# LIBMUSL_SRCS-y += $(LIBMUSL)/src/math/x32/truncl.s|x32 diff --git a/Makefile.uk.musl.misc b/Makefile.uk.musl.misc new file mode 100644 index 0000000..225703c --- /dev/null +++ b/Makefile.uk.musl.misc @@ -0,0 +1,38 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/a64l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/basename.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/dirname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/ffs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/ffsl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/ffsll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/fmtmsg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/forkpty.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/get_current_dir_name.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getauxval.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getdomainname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/gethostid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getopt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getopt_long.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getpriority.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getresgid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getresuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getrlimit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getrusage.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/getsubopt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/initgroups.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/ioctl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/issetugid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/lockf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/login_tty.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/mntent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/nftw.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/openpty.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/ptsname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/pty.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/realpath.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/setdomainname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/setpriority.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/setrlimit.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/syscall.c|misc +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/syslog.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/uname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/misc/wordexp.c diff --git a/Makefile.uk.musl.mman b/Makefile.uk.musl.mman new file mode 100644 index 0000000..c989771 --- /dev/null +++ b/Makefile.uk.musl.mman @@ -0,0 +1,13 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/madvise.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/mincore.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/mlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/mlockall.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/mmap.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/mprotect.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/mremap.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/msync.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/munlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/munlockall.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/munmap.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/posix_madvise.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mman/shm_open.c diff --git a/Makefile.uk.musl.mq b/Makefile.uk.musl.mq new file mode 100644 index 0000000..24da79c --- /dev/null +++ b/Makefile.uk.musl.mq @@ -0,0 +1,10 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_close.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_getattr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_notify.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_open.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_receive.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_send.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_setattr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_timedreceive.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_timedsend.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/mq/mq_unlink.c diff --git a/Makefile.uk.musl.multibyte b/Makefile.uk.musl.multibyte new file mode 100644 index 0000000..fed5400 --- /dev/null +++ b/Makefile.uk.musl.multibyte @@ -0,0 +1,20 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/btowc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/c16rtomb.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/c32rtomb.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/internal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mblen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbrlen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbrtoc16.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbrtoc32.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbrtowc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbsinit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbsnrtowcs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbsrtowcs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbstowcs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/mbtowc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/wcrtomb.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/wcsnrtombs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/wcsrtombs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/wcstombs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/wctob.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/multibyte/wctomb.c diff --git a/Makefile.uk.musl.network b/Makefile.uk.musl.network new file mode 100644 index 0000000..b0879a3 --- /dev/null +++ b/Makefile.uk.musl.network @@ -0,0 +1,77 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/accept.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/accept4.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/bind.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/connect.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/dn_comp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/dn_expand.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/dn_skipname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/dns_parse.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/ent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/ether.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/freeaddrinfo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/gai_strerror.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getaddrinfo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/gethostbyaddr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/gethostbyaddr_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/gethostbyname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/gethostbyname2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/gethostbyname2_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/gethostbyname_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getifaddrs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getnameinfo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getpeername.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getservbyname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getservbyname_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getservbyport.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getservbyport_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getsockname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/getsockopt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/h_errno.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/herror.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/hstrerror.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/htonl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/htons.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/if_freenameindex.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/if_indextoname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/if_nameindex.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/if_nametoindex.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/in6addr_any.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/in6addr_loopback.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/inet_addr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/inet_aton.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/inet_legacy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/inet_ntoa.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/inet_ntop.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/inet_pton.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/listen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/lookup_ipliteral.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/lookup_name.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/lookup_serv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/netlink.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/netname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/ns_parse.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/ntohl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/ntohs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/proto.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/recv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/recvfrom.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/recvmmsg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/recvmsg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/res_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/res_mkquery.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/res_msend.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/res_query.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/res_querydomain.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/res_send.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/res_state.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/resolvconf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/send.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/sendmmsg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/sendmsg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/sendto.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/serv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/setsockopt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/shutdown.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/sockatmark.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/socket.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/network/socketpair.c diff --git a/Makefile.uk.musl.passwd b/Makefile.uk.musl.passwd new file mode 100644 index 0000000..a08cd6f --- /dev/null +++ b/Makefile.uk.musl.passwd @@ -0,0 +1,20 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/fgetgrent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/fgetpwent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/fgetspent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getgr_a.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getgr_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getgrent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getgrent_a.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getgrouplist.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getpw_a.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getpw_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getpwent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getpwent_a.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getspent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getspnam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/getspnam_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/lckpwdf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/nscd_query.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/putgrent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/putpwent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/passwd/putspent.c diff --git a/Makefile.uk.musl.prng b/Makefile.uk.musl.prng new file mode 100644 index 0000000..b4b786c --- /dev/null +++ b/Makefile.uk.musl.prng @@ -0,0 +1,11 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/__rand48_step.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/__seed48.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/drand48.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/lcong48.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/lrand48.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/mrand48.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/rand.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/rand_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/random.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/seed48.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/prng/srand48.c diff --git a/Makefile.uk.musl.process b/Makefile.uk.musl.process new file mode 100644 index 0000000..ff29fd4 --- /dev/null +++ b/Makefile.uk.musl.process @@ -0,0 +1,42 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/execl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/execle.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/execlp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/execv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/execve.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/execvp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/fexecve.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/fork.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawn.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addclose.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_adddup2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_addopen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawn_file_actions_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_getflags.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_getpgroup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_getsigdefault.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_getsigmask.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_sched.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setflags.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setpgroup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setsigdefault.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnattr_setsigmask.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/posix_spawnp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/system.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/wait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/waitid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/waitpid.c + +ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/i386/vfork.s|i386 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/x86_64/vfork.s|x86_64 +else +LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/vfork.c +endif + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/s390x/vfork.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/sh/vfork.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/process/x32/vfork.s diff --git a/Makefile.uk.musl.regex b/Makefile.uk.musl.regex new file mode 100644 index 0000000..e564903 --- /dev/null +++ b/Makefile.uk.musl.regex @@ -0,0 +1,6 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/regex/fnmatch.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/regex/glob.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/regex/regcomp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/regex/regerror.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/regex/regexec.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/regex/tre-mem.c diff --git a/Makefile.uk.musl.sched b/Makefile.uk.musl.sched new file mode 100644 index 0000000..efa511e --- /dev/null +++ b/Makefile.uk.musl.sched @@ -0,0 +1,10 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/affinity.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_cpucount.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_get_priority_max.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_getcpu.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_getparam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_getscheduler.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_rr_get_interval.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_setparam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_setscheduler.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/sched/sched_yield.c diff --git a/Makefile.uk.musl.search b/Makefile.uk.musl.search new file mode 100644 index 0000000..9b34f3b --- /dev/null +++ b/Makefile.uk.musl.search @@ -0,0 +1,5 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/search/hsearch.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/search/insque.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/search/lsearch.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/search/tdestroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/search/tsearch_avl.c diff --git a/Makefile.uk.musl.select b/Makefile.uk.musl.select new file mode 100644 index 0000000..21c1a9a --- /dev/null +++ b/Makefile.uk.musl.select @@ -0,0 +1,3 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/select/poll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/select/pselect.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/select/select.c diff --git a/Makefile.uk.musl.setjmp b/Makefile.uk.musl.setjmp new file mode 100644 index 0000000..c4bf289 --- /dev/null +++ b/Makefile.uk.musl.setjmp @@ -0,0 +1,36 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/setjmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/longjmp.c + +ifeq (arm,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/arm/longjmp.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/arm/setjmp.s|arm +else ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/i386/longjmp.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/i386/setjmp.s|i386 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/x86_64/longjmp.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/x86_64/setjmp.s|x86_64 +endif + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/aarch64/longjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/aarch64/setjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/microblaze/longjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/microblaze/setjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/mips/longjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/mips/setjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/mips64/longjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/mips64/setjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/mipsn32/longjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/mipsn32/setjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/or1k/longjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/or1k/setjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc/longjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc/setjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc64/longjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/powerpc64/setjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/s390x/longjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/s390x/setjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/sh/longjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/sh/setjmp.S +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/x32/longjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/setjmp/x32/setjmp.s diff --git a/Makefile.uk.musl.signal b/Makefile.uk.musl.signal new file mode 100644 index 0000000..191bb82 --- /dev/null +++ b/Makefile.uk.musl.signal @@ -0,0 +1,72 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/block.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/getitimer.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/kill.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/killpg.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/psiginfo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/psignal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/raise.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/setitimer.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigaction.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigaddset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigaltstack.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigandset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigdelset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigemptyset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigfillset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sighold.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigignore.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/siginterrupt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigisemptyset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigismember.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/siglongjmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/signal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigorset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigpause.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigpending.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigprocmask.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigqueue.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigrelse.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigrtmax.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigrtmin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigset.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigsetjmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigsetjmp_tail.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigsuspend.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigtimedwait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigwait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sigwaitinfo.c + +ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/i386/restore.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/i386/sigsetjmp.s|i386 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/x86_64/restore.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/x86_64/sigsetjmp.s|x86_64 +else ifeq (arm,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/arm/restore.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/arm/sigsetjmp.s|arm +else +LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/restore.c +endif + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/aarch64/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/aarch64/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/microblaze/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/microblaze/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/mips/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/mips/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/mips64/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/mips64/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/mipsn32/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/mipsn32/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/or1k/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/powerpc/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/powerpc/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/powerpc64/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/powerpc64/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/s390x/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/s390x/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sh/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/sh/sigsetjmp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/x32/restore.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/signal/x32/sigsetjmp.s \ No newline at end of file diff --git a/Makefile.uk.musl.stat b/Makefile.uk.musl.stat new file mode 100644 index 0000000..764bee4 --- /dev/null +++ b/Makefile.uk.musl.stat @@ -0,0 +1,20 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/__xstat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/chmod.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/fchmod.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/fchmodat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/fstat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/fstatat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/futimens.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/futimesat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/lchmod.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/lstat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/mkdir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/mkdirat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/mkfifo.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/mkfifoat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/mknod.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/mknodat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/stat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/statvfs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/umask.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stat/utimensat.c diff --git a/Makefile.uk.musl.stdio b/Makefile.uk.musl.stdio new file mode 100644 index 0000000..149aa91 --- /dev/null +++ b/Makefile.uk.musl.stdio @@ -0,0 +1,117 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__fclose_ca.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__fdopen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__fmodeflags.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__fopen_rb_ca.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__lockfile.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__overflow.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_close.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_exit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_read.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_seek.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__stdio_write.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__stdout_write.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__string_read.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__toread.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__towrite.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/__uflow.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/asprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/clearerr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/dprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ext.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ext2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fclose.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/feof.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ferror.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fflush.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fgetc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fgetln.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fgetpos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fgets.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fgetwc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fgetws.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fileno.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/flockfile.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fmemopen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fopen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fopencookie.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fputc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fputs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fputwc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fputws.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fread.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/freopen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fseek.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fsetpos.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ftell.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ftrylockfile.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/funlockfile.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fwide.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fwprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fwrite.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/fwscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getc_unlocked.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getchar.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getchar_unlocked.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getdelim.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getline.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/gets.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getw.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getwc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/getwchar.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ofl.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ofl_add.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/open_memstream.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/open_wmemstream.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/pclose.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/perror.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/popen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/printf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/putc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/putc_unlocked.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/putchar.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/putchar_unlocked.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/puts.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/putw.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/putwc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/putwchar.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/remove.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/rename.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/rewind.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/scanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/setbuf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/setbuffer.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/setlinebuf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/setvbuf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/snprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/sprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/sscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/stderr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/stdin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/stdout.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/swprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/swscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/tempnam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/tmpfile.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/tmpnam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ungetc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/ungetwc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vasprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vdprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vfprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vfscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vfwprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vfwscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vsnprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vsprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vsscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vswprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vswscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vwprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/vwscanf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/wprintf.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdio/wscanf.c diff --git a/Makefile.uk.musl.stdlib b/Makefile.uk.musl.stdlib new file mode 100644 index 0000000..21167f1 --- /dev/null +++ b/Makefile.uk.musl.stdlib @@ -0,0 +1,21 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/abs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/atof.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/atoi.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/atol.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/atoll.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/bsearch.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/div.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/ecvt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/fcvt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/gcvt.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/imaxabs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/imaxdiv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/labs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/ldiv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/llabs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/lldiv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/qsort.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/strtod.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/strtol.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/wcstod.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/stdlib/wcstol.c diff --git a/Makefile.uk.musl.string b/Makefile.uk.musl.string new file mode 100644 index 0000000..63794f5 --- /dev/null +++ b/Makefile.uk.musl.string @@ -0,0 +1,91 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/bcmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/bcopy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/bzero.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/index.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memccpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memchr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memcmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memmem.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/mempcpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memrchr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/rindex.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/stpcpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/stpncpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strcasecmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strcasestr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strcat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strchr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strchrnul.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strcmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strcpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strcspn.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strdup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strerror_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strlcat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strlcpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strlen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strncasecmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strncat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strncmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strncpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strndup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strnlen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strpbrk.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strrchr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strsep.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strsignal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strspn.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strstr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strtok.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strtok_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/strverscmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/swab.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcpcpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcpncpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcscasecmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcscasecmp_l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcscat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcschr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcscmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcscpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcscspn.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsdup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcslen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsncasecmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsncasecmp_l.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsncat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsncmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsncpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsnlen.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcspbrk.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsrchr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsspn.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcsstr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcstok.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wcswcs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wmemchr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wmemcmp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wmemcpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wmemmove.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/wmemset.c + +ifeq (arm,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/arm/__aeabi_memcpy.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/arm/__aeabi_memset.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/arm/memcpy.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/arm/memcpy_le.S|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memmove.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memset.c|arm +else ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/i386/memcpy.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/i386/memmove.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/i386/memset.s|i386 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/x86_64/memcpy.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/x86_64/memmove.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/x86_64/memset.s|x86_64 +else +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memcpy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memmove.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/string/memset.c +endif \ No newline at end of file diff --git a/Makefile.uk.musl.temp b/Makefile.uk.musl.temp new file mode 100644 index 0000000..1107ffc --- /dev/null +++ b/Makefile.uk.musl.temp @@ -0,0 +1,7 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/temp/__randname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/temp/mkdtemp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/temp/mkostemp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/temp/mkostemps.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/temp/mkstemp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/temp/mkstemps.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/temp/mktemp.c diff --git a/Makefile.uk.musl.termios b/Makefile.uk.musl.termios new file mode 100644 index 0000000..734c13b --- /dev/null +++ b/Makefile.uk.musl.termios @@ -0,0 +1,10 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/cfgetospeed.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/cfmakeraw.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/cfsetospeed.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/tcdrain.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/tcflow.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/tcflush.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/tcgetattr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/tcgetsid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/tcsendbreak.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/termios/tcsetattr.c diff --git a/Makefile.uk.musl.thread b/Makefile.uk.musl.thread new file mode 100644 index 0000000..f5e567a --- /dev/null +++ b/Makefile.uk.musl.thread @@ -0,0 +1,197 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__futex.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__lock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__syscall_cp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__timedwait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__tls_get_addr.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__wait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/call_once.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/cnd_broadcast.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/cnd_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/cnd_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/cnd_signal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/cnd_timedwait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/cnd_wait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/lock_ptc.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mtx_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mtx_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mtx_lock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mtx_timedlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mtx_trylock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mtx_unlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_atfork.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_get.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setdetachstate.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setguardsize.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setinheritsched.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setschedparam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setschedpolicy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setscope.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setstack.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_attr_setstacksize.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrier_wait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrierattr_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrierattr_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_barrierattr_setpshared.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cancel.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cleanup_push.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_broadcast.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_signal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_timedwait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_cond_wait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_setclock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_condattr_setpshared.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_create.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_detach.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_equal.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_getattr_np.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_getconcurrency.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_getcpuclockid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_getschedparam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_getspecific.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_join.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_key_create.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_kill.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_consistent.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_getprioceiling.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_lock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_setprioceiling.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_timedlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_trylock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutex_unlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setprotocol.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setpshared.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_setrobust.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_mutexattr_settype.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_once.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_rdlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_timedrdlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_timedwrlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_tryrdlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_trywrlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_unlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlock_wrlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_rwlockattr_setpshared.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_self.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setattr_default_np.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setcancelstate.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setcanceltype.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setconcurrency.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setname_np.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setschedparam.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setschedprio.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_setspecific.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_sigmask.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_spin_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_spin_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_spin_lock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_spin_trylock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_spin_unlock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/pthread_testcancel.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_destroy.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_getvalue.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_init.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_open.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_post.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_timedwait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_trywait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_unlink.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sem_wait.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/synccall.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/syscall_cp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/thrd_create.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/thrd_exit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/thrd_join.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/thrd_sleep.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/thrd_yield.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/tls.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/tss_create.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/tss_delete.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/tss_set.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/vmlock.c + +ifeq (x86_32,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/i386/__set_thread_area.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/i386/__unmapself.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/i386/clone.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/i386/syscall_cp.s|i386 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/i386/tls.s|i386 +else ifeq (x86_64,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x86_64/__set_thread_area.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x86_64/__unmapself.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x86_64/clone.s|x86_64 +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x86_64/syscall_cp.s|x86_64 +else ifeq (arm,$(CONFIG_UK_ARCH)) +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/arm/__aeabi_read_tp.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/arm/__aeabi_read_tp_c.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/arm/__set_thread_area.c|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/arm/__unmapself.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/arm/atomics.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/arm/clone.s|arm +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/arm/syscall_cp.s|arm +else +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__set_thread_area.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/__unmapself.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/clone.c|thread +endif + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/aarch64/__set_thread_area.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/aarch64/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/aarch64/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/aarch64/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/microblaze/__set_thread_area.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/microblaze/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/microblaze/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/microblaze/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mips/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mips/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mips/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mips64/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mips64/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mips64/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mipsn32/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mipsn32/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/mipsn32/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/or1k/__set_thread_area.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/or1k/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/or1k/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/or1k/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc/__set_thread_area.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/__set_thread_area.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/powerpc64/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/s390x/__set_thread_area.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/s390x/__tls_get_offset.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/s390x/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/s390x/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/s390x/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sh/__set_thread_area.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sh/__unmapself.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sh/__unmapself_mmu.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sh/atomics.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sh/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/sh/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x32/__set_thread_area.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x32/__unmapself.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x32/clone.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x32/syscall_cp.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/thread/x32/syscall_cp_fixup.c diff --git a/Makefile.uk.musl.time b/Makefile.uk.musl.time new file mode 100644 index 0000000..a8869cc --- /dev/null +++ b/Makefile.uk.musl.time @@ -0,0 +1,40 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/__asctime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/__map_file.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/__month_to_secs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/__secs_to_tm.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/__tm_to_secs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/__tz.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/__year_to_secs.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/asctime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/asctime_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/clock.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/clock_getcpuclockid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/clock_getres.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/clock_gettime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/clock_nanosleep.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/clock_settime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/ctime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/ctime_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/difftime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/ftime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/getdate.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/gettimeofday.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/gmtime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/gmtime_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/localtime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/localtime_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/mktime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/nanosleep.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/strftime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/strptime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/time.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/timegm.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/timer_create.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/timer_delete.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/timer_getoverrun.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/timer_gettime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/timer_settime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/times.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/timespec_get.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/utime.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/time/wcsftime.c diff --git a/Makefile.uk.musl.unistd b/Makefile.uk.musl.unistd new file mode 100644 index 0000000..4e483ab --- /dev/null +++ b/Makefile.uk.musl.unistd @@ -0,0 +1,84 @@ +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/_exit.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/access.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/acct.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/alarm.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/chdir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/chown.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/close.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/ctermid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/dup.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/dup2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/dup3.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/faccessat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/fchdir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/fchown.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/fchownat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/fdatasync.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/fsync.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/ftruncate.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getcwd.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getegid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/geteuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getgid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getgroups.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/gethostname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getlogin.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getlogin_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getpgid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getpgrp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getpid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getppid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getsid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/getuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/isatty.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/lchown.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/link.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/linkat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/lseek.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/nice.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/pause.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/pipe.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/pipe2.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/posix_close.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/pread.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/preadv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/pwrite.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/pwritev.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/read.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/readlink.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/readlinkat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/readv.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/renameat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/rmdir.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setegid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/seteuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setgid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setpgid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setpgrp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setregid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setresgid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setresuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setreuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setsid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setuid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/setxid.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/sleep.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/symlink.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/symlinkat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/sync.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/tcgetpgrp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/tcsetpgrp.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/truncate.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/ttyname.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/ttyname_r.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/ualarm.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/unlink.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/unlinkat.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/usleep.c +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/write.c +LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/writev.c + +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/mips/pipe.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/mips64/pipe.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/mipsn32/pipe.s +#LIBMUSL_SRCS-y += $(LIBMUSL)/src/unistd/sh/pipe.s diff --git a/README.md b/README.md new file mode 100644 index 0000000..3d8f0f2 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +musl for Unikraft +=================== + +Please refer to the `README.md` as well as the documentation in the `doc/` +subdirectory of the main unikraft repository. diff --git a/include/features.h b/include/features.h new file mode 100644 index 0000000..77032e8 --- /dev/null +++ b/include/features.h @@ -0,0 +1,23 @@ +#ifndef _FEATURES_H +#define _FEATURES_H + +#if __STDC_VERSION__ >= 199901L +#define __restrict restrict +#elif !defined(__GNUC__) +#define __restrict +#endif + +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#elif !defined(__GNUC__) +#define __inline +#endif + +#if __STDC_VERSION__ >= 201112L +#elif defined(__GNUC__) +#define _Noreturn __attribute__((__noreturn__)) +#else +#define _Noreturn +#endif + +#endif diff --git a/include/syscall.h b/include/syscall.h new file mode 100644 index 0000000..a6d921d --- /dev/null +++ b/include/syscall.h @@ -0,0 +1,238 @@ +#ifndef UK_MUSL_SYSCALL +#define UK_MUSL_SYSCALL + +#include + +#define __SYSCALL_LL_E(x) (x) +#define __SYSCALL_LL_O(x) (x) + +#ifndef SYSCALL_RLIM_INFINITY +#define SYSCALL_RLIM_INFINITY (~0ULL) +#endif + +#ifndef SYSCALL_MMAP2_UNIT +#define SYSCALL_MMAP2_UNIT 4096ULL +#endif + +#ifndef __SYSCALL_LL_PRW +#define __SYSCALL_LL_PRW(x) __SYSCALL_LL_O(x) +#endif + +#ifndef __scc +#define __scc(X) ((long) (X)) +typedef long syscall_arg_t; +#endif + +__attribute__((visibility("hidden"))) +long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...), + __syscall_cp(syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, + syscall_arg_t, syscall_arg_t, syscall_arg_t); + +long syscall(long n, ...); +long __syscall(long n, ...); +long __syscall0(long n); +long __syscall1(long n, long a1); +long __syscall2(long n, long a1, long a2); +long __syscall3(long n, long a1, long a2, long a3); +long __syscall4(long n, long a1, long a2, long a3, long a4); +long __syscall5(long n, long a1, long a2, long a3, long a4, long a5); +long __syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6); + +#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,) +#define __SYSCALL_CONCAT_X(a,b) a##b +#define __SYSCALL_CONCAT(a,b) __SYSCALL_CONCAT_X(a,b) +#define __SYSCALL_DISP(b,...) __SYSCALL_CONCAT(b,__SYSCALL_NARGS(__VA_ARGS__))(__VA_ARGS__) + +#define socketcall __socketcall +#define socketcall_cp __socketcall_cp + +#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) +#define __syscall_cp3(n,a,b,c) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),0,0,0) +#define __syscall_cp4(n,a,b,c,d) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),0,0) +#define __syscall_cp5(n,a,b,c,d,e) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),0) +#define __syscall_cp6(n,a,b,c,d,e,f) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f)) + +#define __syscall_cp(...) __SYSCALL_DISP(__syscall_cp,__VA_ARGS__) +#define syscall_cp(...) __syscall_ret(__syscall_cp(__VA_ARGS__)) + +#ifndef SYSCALL_USE_SOCKETCALL +#define __socketcall(nm,a,b,c,d,e,f) syscall(SYS_##nm, a, b, c, d, e, f) +#define __socketcall_cp(nm,a,b,c,d,e,f) syscall_cp(SYS_##nm, a, b, c, d, e, f) +#else +#define __socketcall(nm,a,b,c,d,e,f) syscall(SYS_socketcall, __SC_##nm, \ + ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f })) +#define __socketcall_cp(nm,a,b,c,d,e,f) syscall_cp(SYS_socketcall, __SC_##nm, \ + ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f })) +#endif + +/* fixup legacy 16-bit junk */ + +#ifdef SYS_getuid32 +#undef SYS_lchown +#undef SYS_getuid +#undef SYS_getgid +#undef SYS_geteuid +#undef SYS_getegid +#undef SYS_setreuid +#undef SYS_setregid +#undef SYS_getgroups +#undef SYS_setgroups +#undef SYS_fchown +#undef SYS_setresuid +#undef SYS_getresuid +#undef SYS_setresgid +#undef SYS_getresgid +#undef SYS_chown +#undef SYS_setuid +#undef SYS_setgid +#undef SYS_setfsuid +#undef SYS_setfsgid +#define SYS_lchown SYS_lchown32 +#define SYS_getuid SYS_getuid32 +#define SYS_getgid SYS_getgid32 +#define SYS_geteuid SYS_geteuid32 +#define SYS_getegid SYS_getegid32 +#define SYS_setreuid SYS_setreuid32 +#define SYS_setregid SYS_setregid32 +#define SYS_getgroups SYS_getgroups32 +#define SYS_setgroups SYS_setgroups32 +#define SYS_fchown SYS_fchown32 +#define SYS_setresuid SYS_setresuid32 +#define SYS_getresuid SYS_getresuid32 +#define SYS_setresgid SYS_setresgid32 +#define SYS_getresgid SYS_getresgid32 +#define SYS_chown SYS_chown32 +#define SYS_setuid SYS_setuid32 +#define SYS_setgid SYS_setgid32 +#define SYS_setfsuid SYS_setfsuid32 +#define SYS_setfsgid SYS_setfsgid32 +#endif + + +/* fixup legacy 32-bit-vs-lfs64 junk */ + +#ifdef SYS_fcntl64 +#undef SYS_fcntl +#define SYS_fcntl SYS_fcntl64 +#endif + +#ifdef SYS_getdents64 +#undef SYS_getdents +#define SYS_getdents SYS_getdents64 +#endif + +#ifdef SYS_ftruncate64 +#undef SYS_ftruncate +#undef SYS_truncate +#define SYS_ftruncate SYS_ftruncate64 +#define SYS_truncate SYS_truncate64 +#endif + +#ifdef SYS_stat64 +#undef SYS_stat +#define SYS_stat SYS_stat64 +#endif + +#ifdef SYS_fstat64 +#undef SYS_fstat +#define SYS_fstat SYS_fstat64 +#endif + +#ifdef SYS_lstat64 +#undef SYS_lstat +#define SYS_lstat SYS_lstat64 +#endif + +#ifdef SYS_statfs64 +#undef SYS_statfs +#define SYS_statfs SYS_statfs64 +#endif + +#ifdef SYS_fstatfs64 +#undef SYS_fstatfs +#define SYS_fstatfs SYS_fstatfs64 +#endif + +#if defined(SYS_newfstatat) +#undef SYS_fstatat +#define SYS_fstatat SYS_newfstatat +#elif defined(SYS_fstatat64) +#undef SYS_fstatat +#define SYS_fstatat SYS_fstatat64 +#endif + +#ifdef SYS_ugetrlimit +#undef SYS_getrlimit +#define SYS_getrlimit SYS_ugetrlimit +#endif + +#ifdef SYS__newselect +#undef SYS_select +#define SYS_select SYS__newselect +#endif + +#ifdef SYS_pread64 +#undef SYS_pread +#undef SYS_pwrite +#define SYS_pread SYS_pread64 +#define SYS_pwrite SYS_pwrite64 +#endif + +#ifdef SYS_fadvise64_64 +#undef SYS_fadvise +#define SYS_fadvise SYS_fadvise64_64 +#elif defined(SYS_fadvise64) +#undef SYS_fadvise +#define SYS_fadvise SYS_fadvise64 +#endif + +#ifdef SYS_sendfile64 +#undef SYS_sendfile +#define SYS_sendfile SYS_sendfile64 +#endif + +/* socketcall calls */ + +#define __SC_socket 1 +#define __SC_bind 2 +#define __SC_connect 3 +#define __SC_listen 4 +#define __SC_accept 5 +#define __SC_getsockname 6 +#define __SC_getpeername 7 +#define __SC_socketpair 8 +#define __SC_send 9 +#define __SC_recv 10 +#define __SC_sendto 11 +#define __SC_recvfrom 12 +#define __SC_shutdown 13 +#define __SC_setsockopt 14 +#define __SC_getsockopt 15 +#define __SC_sendmsg 16 +#define __SC_recvmsg 17 +#define __SC_accept4 18 +#define __SC_recvmmsg 19 +#define __SC_sendmmsg 20 + +#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_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(...) __SYSCALL_DISP(__sys_open,,__VA_ARGS__) +#define sys_open(...) __syscall_ret(__sys_open(__VA_ARGS__)) + +#define __sys_open_cp(...) __SYSCALL_DISP(__sys_open_cp,,__VA_ARGS__) +#define sys_open_cp(...) __syscall_ret(__sys_open_cp(__VA_ARGS__)) + +#endif diff --git a/mem.c b/mem.c new file mode 100644 index 0000000..3eb4db7 --- /dev/null +++ b/mem.c @@ -0,0 +1,68 @@ +/* SPDX-License-Identifier: BSD-3-Clause */ +/* + * Authors: Florian Schmidt + * + * Copyright (c) 2017, NEC Europe Ltd., NEC Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. + */ + +#include +#include + +/* Forward to libucallocator calls */ +void *malloc(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 *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(), + memptr, align, size); +} + +void *memalign(size_t align, size_t size) +{ + return uk_memalign(uk_alloc_get_default(), align, size); +} + +void free(void *ptr) +{ + return uk_free(uk_alloc_get_default(), ptr); +} diff --git a/patches/0001-prevent-local-syscall.patch b/patches/0001-prevent-local-syscall.patch new file mode 100644 index 0000000..902b060 --- /dev/null +++ b/patches/0001-prevent-local-syscall.patch @@ -0,0 +1,13 @@ +diff --git a/src/internal/stdio_impl.h b/src/internal/stdio_impl.h +index 1127a492..116cd333 100644 +--- a/src/internal/stdio_impl.h ++++ b/src/internal/stdio_impl.h +@@ -2,7 +2,7 @@ + #define _STDIO_IMPL_H + + #include +-#include "syscall.h" ++#include + #include "libc.h" + + #define UNGET 8 diff --git a/patches/0002-prevent-index-redeclaration-error.patch b/patches/0002-prevent-index-redeclaration-error.patch new file mode 100644 index 0000000..75e51df --- /dev/null +++ b/patches/0002-prevent-index-redeclaration-error.patch @@ -0,0 +1,21 @@ +commit a6e720b25da530ec2a2778dc247cbbd7e6f81640 +Author: Felipe Huici +Date: Thu Sep 6 15:53:07 2018 +0200 + + prevent redeclaration compiler error + + Signed-off-by: Felipe Huici + +diff --git a/include/strings.h b/include/strings.h +index db0960b4..d4cf149a 100644 +--- a/include/strings.h ++++ b/include/strings.h +@@ -16,7 +16,7 @@ extern "C" { + int bcmp (const void *, const void *, size_t); + void bcopy (const void *, void *, size_t); + void bzero (void *, size_t); +-char *index (const char *, int); ++//char *index (const char *, int); + char *rindex (const char *, int); + #endif + diff --git a/patches/0003-prevent-local-syscall.patch b/patches/0003-prevent-local-syscall.patch new file mode 100644 index 0000000..775f51b --- /dev/null +++ b/patches/0003-prevent-local-syscall.patch @@ -0,0 +1,21 @@ +commit 68ff1e40eecfb4f2d6b9961cc0b78dc4b30f320b +Author: Felipe Huici +Date: Wed Sep 5 15:23:22 2018 +0200 + + prevent file from using syscall.h in local directory + + Signed-off-by: Felipe Huici + +diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h +index 3826bd8e..478e298e 100644 +--- a/src/internal/pthread_impl.h ++++ b/src/internal/pthread_impl.h +@@ -6,7 +6,7 @@ + #include + #include + #include "libc.h" +-#include "syscall.h" ++#include + #include "atomic.h" + #include "futex.h" + diff --git a/syscall.c b/syscall.c new file mode 100644 index 0000000..668ee04 --- /dev/null +++ b/syscall.c @@ -0,0 +1,144 @@ +/* SPDX-License-Identifier: BSD-3-Clause */ +/* + * Authors: Felipe Huici + * + * Copyright (c) 2017, NEC Europe Ltd., NEC Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. + */ + +#include "syscall.h" +#include +#include +#include +#include + +long __syscall0(long n) +{ + return __syscall(n); +} + +long __syscall1(long n, long a1) +{ + return __syscall(n, a1); +} + +long __syscall2(long n, long a1, long a2) +{ + return __syscall(n, a1, a2); +} + +long __syscall3(long n, long a1, long a2, long a3) +{ + return __syscall(n, a1, a2, a3); +} + +long __syscall4(long n, long a1, long a2, long a3, long a4) +{ + return __syscall(n, a1, a2, a3, a4); +} + +long __syscall5(long n, long a1, long a2, long a3, long a4, long a5) +{ + return __syscall(n, a1, a2, a3, a4, a5); +} + +long __syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6) +{ + return __syscall(n, a1, a2, a3, a4, a5, a6); +} + + +long __do_syscall(long n, va_list args) +{ + switch(n) + { + case SYS_ioctl: + { + int fd = va_arg(args, int); + unsigned long request = va_arg(args, unsigned long); + + switch(request) + { + case TIOCGWINSZ: + { + struct winsize *ws = va_arg(args, struct winsize *); + /* Set some reasonable values */ + ws->ws_row = 200; + ws->ws_col = 80; + return 0; + } + default: + { + uk_printd(DLVL_EXTRA, "unknown or unimplemented ioctl! %ld\n", request); + return -1; + } + } + + + case SYS_writev: + { + int fd = va_arg(args, int); + struct iovec *iov = va_arg(args, struct iovec *); + int iovcnt = va_arg(args, int); + return uk_syscall_writev(fd, iov, iovcnt); + } + + default: + { + uk_printd(DLVL_EXTRA, "unknown or unimplemented syscall! %ld\n", n); + return -1; + } + } + + // errno = ENOSYS; + return -1; + } +} + +long syscall(long n, ...) +{ + long ret; + va_list args; + va_start(args, n); + ret = __do_syscall(n, args); + va_end(args); + + return ret; +} + +long __syscall(long n, ...) +{ + long ret; + va_list args; + va_start(args, n); + ret = __do_syscall(n, args); + va_end(args); + + return ret; +}