mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 06:53:33 +00:00
Fix link order in cosmopolitan.a
It turned out that the linker was doing the wrong with the amalgamation library concerning weak stubs. A regression test has been added and new binaries have been uploaded to https://justine.lol/cosmopolitan/ Ideally this should be fixed by building a tool that turns multiple .a files into a single .a file with deduplication. As a workaround for now the cosmopolitan.a build is restructured to not include LIBC_STUBS which meant technical debt needed to be paid off where non-stub interfaces were moved to LIBC_INTRIN and LIBC_NEXGEN32E. Thank @PerfectProductions in #31 for the report!
This commit is contained in:
parent
04f1d89f84
commit
9f68d6eee9
121 changed files with 302 additions and 381 deletions
62
Makefile
62
Makefile
|
@ -236,40 +236,44 @@ loc: o/$(MODE)/tool/build/summy.com
|
|||
$(XARGS) wc -l | grep total | awk '{print $$1}' | $<
|
||||
|
||||
COSMOPOLITAN_OBJECTS = \
|
||||
APE_LIB \
|
||||
LIBC \
|
||||
LIBC_ALG \
|
||||
LIBC_BITS \
|
||||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_CRYPTO \
|
||||
LIBC_DNS \
|
||||
LIBC_ELF \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT \
|
||||
LIBC_OHMYPLUS \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_SOCK \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_UNICODE \
|
||||
LIBC_NT_WS2_32 \
|
||||
LIBC_NT_MSWSOCK \
|
||||
LIBC_OHMYPLUS \
|
||||
LIBC_X \
|
||||
LIBC_ZIPOS \
|
||||
THIRD_PARTY_COMPILER_RT \
|
||||
THIRD_PARTY_DLMALLOC \
|
||||
THIRD_PARTY_GDTOA \
|
||||
THIRD_PARTY_GETOPT \
|
||||
LIBC_LOG \
|
||||
LIBC_UNICODE \
|
||||
LIBC_TIME \
|
||||
LIBC_ZIPOS \
|
||||
THIRD_PARTY_ZLIB \
|
||||
APE_LIB \
|
||||
THIRD_PARTY_MUSL \
|
||||
THIRD_PARTY_REGEX
|
||||
LIBC_STDIO \
|
||||
LIBC_CALLS_HEFTY \
|
||||
THIRD_PARTY_REGEX \
|
||||
LIBC_ALG \
|
||||
LIBC_MEM \
|
||||
THIRD_PARTY_DLMALLOC \
|
||||
LIBC_BITS \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_ELF \
|
||||
LIBC_CALLS \
|
||||
LIBC_RAND \
|
||||
LIBC_SYSV_CALLS \
|
||||
LIBC_NT_NTDLL \
|
||||
LIBC_NT_ADVAPI32 \
|
||||
LIBC_FMT \
|
||||
THIRD_PARTY_COMPILER_RT \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_SYSV \
|
||||
LIBC_STR \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NT_KERNEL32 \
|
||||
LIBC_NEXGEN32E
|
||||
|
||||
COSMOPOLITAN_HEADERS = \
|
||||
LIBC \
|
||||
|
@ -304,7 +308,9 @@ COSMOPOLITAN_HEADERS = \
|
|||
THIRD_PARTY_ZLIB \
|
||||
THIRD_PARTY_REGEX
|
||||
|
||||
o/$(MODE)/cosmopolitan.a: $(filter-out o/libc/stubs/exit11.o,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_OBJS)))
|
||||
o/$(MODE)/cosmopolitan.a.txt:
|
||||
printf "%s\n" $(call reverse,$(call uniq,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)))))
|
||||
o/$(MODE)/cosmopolitan.a: $(filter-out o/libc/stubs/exit11.o,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_A_OBJS)))
|
||||
o/cosmopolitan.h: \
|
||||
o/$(MODE)/tool/build/rollup.com \
|
||||
libc/integral/normalize.inc \
|
||||
|
|
|
@ -17,14 +17,10 @@ APE_LIB_A_SRCS = \
|
|||
|
||||
APE_LIB_A_OBJS = \
|
||||
$(APE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(APE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(APE_LIB_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
o/$(MODE)/ape/ape.lds.zip.o \
|
||||
o/$(MODE)/ape/ape.S.zip.o \
|
||||
o/$(MODE)/NOTICE.zip.o
|
||||
$(APE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
APE_LIB_A_CHECKS = $(APE_LIB_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
APE_LIB_A_DIRECTDEPS = LIBC_STR LIBC_STUBS
|
||||
APE_LIB_A_DIRECTDEPS = LIBC_STR LIBC_NEXGEN32E LIBC_STUBS
|
||||
APE_LIB_A_DEPS = $(call uniq,$(foreach x,$(APE_LIB_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
$(APE_LIB_A): ape/lib/ $(APE_LIB_A).pkg $(APE_LIB_A_OBJS)
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
if [ "$TOOL_BUILD_PACKAGE" ]; then
|
||||
set -- "$TOOL_BUILD_PACKAGE" "$@"
|
||||
else
|
||||
if [ -x "o/tool/build/package.com" ]; then
|
||||
set -- "o/tool/build/package.com" "$@"
|
||||
if [ -x "o/tool/build/package.com.dbg" ]; then
|
||||
set -- "o/tool/build/package.com.dbg" "$@"
|
||||
else
|
||||
MKDIR=${MKDIR:-$(command -v mkdir) -p} || exit
|
||||
CP=${CP:-$(command -v cp) -f} || exit
|
||||
|
|
|
@ -16,7 +16,6 @@ DSP_BMP_A_SRCS = \
|
|||
$(DSP_BMP_A_SRCS_C)
|
||||
|
||||
DSP_BMP_A_OBJS = \
|
||||
$(DSP_BMP_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(DSP_BMP_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(DSP_BMP_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ DSP_CORE_A_SRCS = \
|
|||
$(DSP_CORE_A_SRCS_C)
|
||||
|
||||
DSP_CORE_A_OBJS = \
|
||||
$(DSP_CORE_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(DSP_CORE_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(DSP_CORE_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ DSP_MPEG_A_SRCS = \
|
|||
$(DSP_MPEG_A_SRCS_C)
|
||||
|
||||
DSP_MPEG_A_OBJS = \
|
||||
$(DSP_MPEG_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(DSP_MPEG_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(DSP_MPEG_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -26,19 +25,20 @@ DSP_MPEG_A_CHECKS = \
|
|||
|
||||
DSP_MPEG_A_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_LOG \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_TIME \
|
||||
LIBC_STUBS \
|
||||
LIBC_STR \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STDIO \
|
||||
LIBC_SYSV \
|
||||
LIBC_MEM \
|
||||
LIBC_LOG \
|
||||
LIBC_FMT \
|
||||
LIBC_UNICODE \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_UNICODE
|
||||
|
||||
DSP_MPEG_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(DSP_MPEG_A_DIRECTDEPS),$($(x))))
|
||||
|
|
|
@ -16,7 +16,6 @@ DSP_SCALE_A_SRCS = \
|
|||
$(DSP_SCALE_A_SRCS_C)
|
||||
|
||||
DSP_SCALE_A_OBJS = \
|
||||
$(DSP_SCALE_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(DSP_SCALE_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(DSP_SCALE_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -27,14 +26,15 @@ DSP_SCALE_A_CHECKS = \
|
|||
DSP_SCALE_A_DIRECTDEPS = \
|
||||
DSP_CORE \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_TIME \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_X \
|
||||
LIBC_STUBS
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STUBS \
|
||||
LIBC_STUBS \
|
||||
LIBC_TIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_X
|
||||
|
||||
DSP_SCALE_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(DSP_SCALE_A_DIRECTDEPS),$($(x))))
|
||||
|
|
|
@ -16,7 +16,6 @@ DSP_TTY_A_SRCS = \
|
|||
$(DSP_TTY_A_SRCS_C)
|
||||
|
||||
DSP_TTY_A_OBJS = \
|
||||
$(DSP_TTY_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(DSP_TTY_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(DSP_TTY_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -29,6 +28,7 @@ DSP_TTY_A_DIRECTDEPS = \
|
|||
LIBC_ALG \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_MEM \
|
||||
|
|
|
@ -19,7 +19,6 @@ EXAMPLES_MAINS = \
|
|||
$(EXAMPLES_MAINS_CC)
|
||||
|
||||
EXAMPLES_OBJS = \
|
||||
$(EXAMPLES_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(EXAMPLES_MAINS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(EXAMPLES_MAINS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(EXAMPLES_MAINS_CC:%.cc=o/$(MODE)/%.o)
|
||||
|
@ -47,6 +46,7 @@ EXAMPLES_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG_ASAN \
|
||||
LIBC_MEM \
|
||||
|
|
|
@ -35,8 +35,7 @@ EXAMPLES_PACKAGE_BINS = \
|
|||
# Remaps source file names to object names.
|
||||
# Also asks a wildcard rule to automatically run tool/build/zipobj.c
|
||||
EXAMPLES_PACKAGE_OBJS = \
|
||||
$(EXAMPLES_PACKAGE_SRCS:%.c=o/$(MODE)/%.o) \
|
||||
$(EXAMPLES_PACKAGE_SRCS:%=o/$(MODE)/%.zip.o)
|
||||
$(EXAMPLES_PACKAGE_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
# Lists packages whose symbols are or may be directly referenced here.
|
||||
# Note that linking stubs is always a good idea due to synthetic code.
|
||||
|
|
|
@ -57,8 +57,7 @@ EXAMPLES_PACKAGE_LIB_A_SRCS = \
|
|||
# Change suffixes of different languages extensions into object names.
|
||||
EXAMPLES_PACKAGE_LIB_A_OBJS = \
|
||||
$(EXAMPLES_PACKAGE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(EXAMPLES_PACKAGE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(EXAMPLES_PACKAGE_LIB_A_SRCS:%=o/$(MODE)/%.zip.o)
|
||||
$(EXAMPLES_PACKAGE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
# Does the two most important things for C/C++ code sustainability.
|
||||
# 1. Guarantees each header builds, i.e. includes symbols it needs.
|
||||
|
@ -71,6 +70,7 @@ EXAMPLES_PACKAGE_LIB_A_CHECKS = \
|
|||
# Note that linking stubs is always a good idea due to synthetic code.
|
||||
EXAMPLES_PACKAGE_LIB_A_DIRECTDEPS = \
|
||||
LIBC_STDIO \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STUBS
|
||||
|
||||
# Evaluates variable as set of transitive package dependencies.
|
||||
|
|
|
@ -16,7 +16,6 @@ LIBC_ALG_A_SRCS = \
|
|||
$(LIBC_ALG_A_SRCS_C)
|
||||
|
||||
LIBC_ALG_A_OBJS = \
|
||||
$(LIBC_ALG_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_ALG_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_ALG_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -29,6 +28,7 @@ LIBC_ALG_A_DIRECTDEPS = \
|
|||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STR \
|
||||
LIBC_INTRIN \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ LIBC_BITS_A_SRCS = \
|
|||
$(LIBC_BITS_A_SRCS_C)
|
||||
|
||||
LIBC_BITS_A_OBJS = \
|
||||
$(LIBC_BITS_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_BITS_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_BITS_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -26,6 +25,7 @@ LIBC_BITS_A_CHECKS = \
|
|||
|
||||
LIBC_BITS_A_DIRECTDEPS = \
|
||||
LIBC_STUBS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E
|
||||
|
||||
LIBC_BITS_A_DEPS := \
|
||||
|
|
|
@ -29,7 +29,6 @@ LIBC_CALLS_A_SRCS = \
|
|||
$(LIBC_CALLS_A_SRCS_C)
|
||||
|
||||
LIBC_CALLS_A_OBJS = \
|
||||
$(LIBC_CALLS_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_CALLS_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_CALLS_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -39,6 +38,7 @@ LIBC_CALLS_A_CHECKS = \
|
|||
|
||||
LIBC_CALLS_A_DIRECTDEPS = \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_ADVAPI32 \
|
||||
LIBC_NT_KERNEL32 \
|
||||
|
|
|
@ -26,7 +26,6 @@ LIBC_CALLS_HEFTY_A_SRCS = \
|
|||
$(LIBC_CALLS_HEFTY_A_SRCS_C)
|
||||
|
||||
LIBC_CALLS_HEFTY_A_OBJS = \
|
||||
$(LIBC_CALLS_HEFTY_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_CALLS_HEFTY_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_CALLS_HEFTY_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -38,6 +37,7 @@ LIBC_CALLS_HEFTY_A_DIRECTDEPS = \
|
|||
LIBC_ALG \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
|
|
|
@ -23,7 +23,7 @@ CRT_ARTIFACTS += CRT
|
|||
CRT = o/$(MODE)/libc/crt/crt.o
|
||||
CRT_FILES = libc/crt/crt.S
|
||||
CRT_SRCS = libc/crt/crt.S
|
||||
CRT_OBJS = o/$(MODE)/libc/crt/crt.o o/$(MODE)/libc/crt/crt.S.zip.o
|
||||
CRT_OBJS = o/$(MODE)/libc/crt/crt.o
|
||||
$(CRT_OBJS): $(BUILD_FILES) libc/crt/crt.mk
|
||||
|
||||
.PHONY: o/$(MODE)/libc/crt
|
||||
|
|
|
@ -18,7 +18,6 @@ LIBC_CRYPTO_A_SRCS = \
|
|||
$(LIBC_CRYPTO_A_SRCS_C)
|
||||
|
||||
LIBC_CRYPTO_A_OBJS = \
|
||||
$(LIBC_CRYPTO_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_CRYPTO_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_CRYPTO_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_CRYPTO_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
@ -28,6 +27,7 @@ LIBC_CRYPTO_A_CHECKS = \
|
|||
$(LIBC_CRYPTO_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
LIBC_CRYPTO_A_DIRECTDEPS = \
|
||||
LIBC_INTRIN \
|
||||
LIBC_STUBS \
|
||||
LIBC_NEXGEN32E
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ LIBC_DNS_A_SRCS = \
|
|||
$(LIBC_DNS_A_SRCS_C)
|
||||
|
||||
LIBC_DNS_A_OBJS = \
|
||||
$(LIBC_DNS_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_DNS_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_DNS_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -34,6 +33,7 @@ LIBC_DNS_A_DIRECTDEPS = \
|
|||
LIBC_RUNTIME \
|
||||
LIBC_SOCK \
|
||||
LIBC_STDIO \
|
||||
LIBC_INTRIN \
|
||||
LIBC_STUBS \
|
||||
LIBC_STR \
|
||||
LIBC_SYSV \
|
||||
|
|
|
@ -16,7 +16,6 @@ LIBC_ELF_A_SRCS = \
|
|||
$(LIBC_ELF_A_SRCS_C)
|
||||
|
||||
LIBC_ELF_A_OBJS = \
|
||||
$(LIBC_ELF_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_ELF_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_ELF_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -25,6 +24,7 @@ LIBC_ELF_A_CHECKS = \
|
|||
$(LIBC_ELF_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
LIBC_ELF_A_DIRECTDEPS = \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS
|
||||
|
|
|
@ -25,7 +25,6 @@ LIBC_FMT_A_SRCS = \
|
|||
$(LIBC_FMT_A_SRCS_C)
|
||||
|
||||
LIBC_FMT_A_OBJS = \
|
||||
$(LIBC_FMT_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_FMT_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_FMT_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -37,6 +36,7 @@ LIBC_FMT_A_DIRECTDEPS = \
|
|||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
LIBC_STR \
|
||||
LIBC_INTRIN \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TINYMATH \
|
||||
|
|
|
@ -16,7 +16,6 @@ LIBC_INTRIN_A_FILES := \
|
|||
$(wildcard libc/intrin/*)
|
||||
|
||||
LIBC_INTRIN_A_OBJS = \
|
||||
$(LIBC_INTRIN_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_INTRIN_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_INTRIN_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@ LIBC_LOG_A_SRCS = \
|
|||
$(LIBC_LOG_A_SRCS_S)
|
||||
|
||||
LIBC_LOG_A_OBJS = \
|
||||
$(LIBC_LOG_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_LOG_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(LIBC_LOG_A_SRCS_S:%.S=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -32,6 +31,7 @@ LIBC_LOG_A_DIRECTDEPS = \
|
|||
LIBC_CALLS_HEFTY \
|
||||
LIBC_ELF \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
|
|
|
@ -17,7 +17,6 @@ LIBC_MATH_A_SRCS = \
|
|||
$(LIBC_MATH_A_SRCS_C)
|
||||
|
||||
LIBC_MATH_A_OBJS = \
|
||||
$(LIBC_MATH_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_MATH_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_MATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_MATH_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
@ -25,8 +24,9 @@ LIBC_MATH_A_OBJS = \
|
|||
LIBC_MATH_A_CHECKS = $(LIBC_MATH_A).pkg
|
||||
|
||||
LIBC_MATH_A_DIRECTDEPS = \
|
||||
LIBC_STUBS \
|
||||
LIBC_NEXGEN32E
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STUBS
|
||||
|
||||
LIBC_MATH_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_MATH_A_DIRECTDEPS),$($(x))))
|
||||
|
|
|
@ -20,7 +20,6 @@ LIBC_MEM_A_SRCS = \
|
|||
$(LIBC_MEM_A_SRCS_C)
|
||||
|
||||
LIBC_MEM_A_OBJS = \
|
||||
$(LIBC_MEM_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_MEM_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_MEM_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -31,6 +30,7 @@ LIBC_MEM_A_CHECKS = \
|
|||
LIBC_MEM_A_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
|
|
|
@ -18,7 +18,6 @@ LIBC_NEXGEN32E_A_SRCS = \
|
|||
$(LIBC_NEXGEN32E_A_SRCS_C)
|
||||
|
||||
LIBC_NEXGEN32E_A_OBJS = \
|
||||
$(LIBC_NEXGEN32E_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_NEXGEN32E_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_NEXGEN32E_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_NEXGEN32E_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
|
|
@ -32,10 +32,9 @@ LIBC_NT_A_CHECKS = $(patsubst %,o/$(MODE)/%.ok,$(filter %.h,$(LIBC_NT_A_HDRS)))
|
|||
LIBC_NT_ARTIFACTS += LIBC_NT_KERNEL32_A
|
||||
LIBC_NT_KERNEL32 = $(LIBC_NT_KERNEL32_A_DEPS) $(LIBC_NT_KERNEL32_A)
|
||||
LIBC_NT_KERNEL32_A = o/$(MODE)/libc/nt/kernel32.a
|
||||
LIBC_NT_KERNEL32_A_SRCS := $(wildcard libc/nt/kernel32/*.s)
|
||||
LIBC_NT_KERNEL32_A_SRCS := $(wildcard libc/nt/kernel32/*.s) libc/nt/sysv2nt.s
|
||||
LIBC_NT_KERNEL32_A_OBJS = $(LIBC_NT_KERNEL32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_KERNEL32_A_CHECKS = $(LIBC_NT_KERNEL32_A).pkg
|
||||
LIBC_NT_KERNEL32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_KERNEL32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_KERNEL32_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -56,7 +55,7 @@ LIBC_NT_ADVAPI32_A = o/$(MODE)/libc/nt/advapi32.a
|
|||
LIBC_NT_ADVAPI32_A_SRCS := $(wildcard libc/nt/advapi32/*.s)
|
||||
LIBC_NT_ADVAPI32_A_OBJS = $(LIBC_NT_ADVAPI32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_ADVAPI32_A_CHECKS = $(LIBC_NT_ADVAPI32_A).pkg
|
||||
LIBC_NT_ADVAPI32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_ADVAPI32_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_ADVAPI32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_ADVAPI32_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -77,7 +76,7 @@ LIBC_NT_COMDLG32_A = o/$(MODE)/libc/nt/comdlg32.a
|
|||
LIBC_NT_COMDLG32_A_SRCS := $(wildcard libc/nt/comdlg32/*.s)
|
||||
LIBC_NT_COMDLG32_A_OBJS = $(LIBC_NT_COMDLG32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_COMDLG32_A_CHECKS = $(LIBC_NT_COMDLG32_A).pkg
|
||||
LIBC_NT_COMDLG32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_COMDLG32_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_COMDLG32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_COMDLG32_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -98,7 +97,7 @@ LIBC_NT_GDI32_A = o/$(MODE)/libc/nt/gdi32.a
|
|||
LIBC_NT_GDI32_A_SRCS := $(wildcard libc/nt/gdi32/*.s)
|
||||
LIBC_NT_GDI32_A_OBJS = $(LIBC_NT_GDI32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_GDI32_A_CHECKS = $(LIBC_NT_GDI32_A).pkg
|
||||
LIBC_NT_GDI32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_GDI32_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_GDI32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_GDI32_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -119,7 +118,7 @@ LIBC_NT_KERNELBASE_A = o/$(MODE)/libc/nt/KernelBase.a
|
|||
LIBC_NT_KERNELBASE_A_SRCS := $(wildcard libc/nt/KernelBase/*.s)
|
||||
LIBC_NT_KERNELBASE_A_OBJS = $(LIBC_NT_KERNELBASE_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_KERNELBASE_A_CHECKS = $(LIBC_NT_KERNELBASE_A).pkg
|
||||
LIBC_NT_KERNELBASE_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_KERNELBASE_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_KERNELBASE_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_KERNELBASE_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -144,7 +143,7 @@ LIBC_NT_NTDLL_A_OBJS = \
|
|||
$(LIBC_NT_NTDLL_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_NT_NTDLL_A_SRCS_S:%.S=o/$(MODE)/%.o)
|
||||
LIBC_NT_NTDLL_A_CHECKS = $(LIBC_NT_NTDLL_A).pkg
|
||||
LIBC_NT_NTDLL_A_DIRECTDEPS = LIBC_STUBS LIBC_NT_KERNEL32
|
||||
LIBC_NT_NTDLL_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_NTDLL_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_NTDLL_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -177,7 +176,7 @@ LIBC_NT_NETAPI32_A = o/$(MODE)/libc/nt/netapi32.a
|
|||
LIBC_NT_NETAPI32_A_SRCS := $(wildcard libc/nt/netapi32/*.s)
|
||||
LIBC_NT_NETAPI32_A_OBJS = $(LIBC_NT_NETAPI32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_NETAPI32_A_CHECKS = $(LIBC_NT_NETAPI32_A).pkg
|
||||
LIBC_NT_NETAPI32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_NETAPI32_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_NETAPI32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_NETAPI32_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -198,7 +197,7 @@ LIBC_NT_URL_A = o/$(MODE)/libc/nt/url.a
|
|||
LIBC_NT_URL_A_SRCS := $(wildcard libc/nt/url/*.s)
|
||||
LIBC_NT_URL_A_OBJS = $(LIBC_NT_URL_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_URL_A_CHECKS = $(LIBC_NT_URL_A).pkg
|
||||
LIBC_NT_URL_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_URL_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_URL_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_URL_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -219,7 +218,7 @@ LIBC_NT_USER32_A = o/$(MODE)/libc/nt/user32.a
|
|||
LIBC_NT_USER32_A_SRCS := $(wildcard libc/nt/user32/*.s)
|
||||
LIBC_NT_USER32_A_OBJS = $(LIBC_NT_USER32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_USER32_A_CHECKS = $(LIBC_NT_USER32_A).pkg
|
||||
LIBC_NT_USER32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_USER32_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_USER32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_USER32_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -240,7 +239,7 @@ LIBC_NT_WS2_32_A = o/$(MODE)/libc/nt/ws2_32.a
|
|||
LIBC_NT_WS2_32_A_SRCS := $(wildcard libc/nt/ws2_32/*.s)
|
||||
LIBC_NT_WS2_32_A_OBJS = $(LIBC_NT_WS2_32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_WS2_32_A_CHECKS = $(LIBC_NT_WS2_32_A).pkg
|
||||
LIBC_NT_WS2_32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_WS2_32_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_WS2_32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_WS2_32_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -261,7 +260,7 @@ LIBC_NT_MSWSOCK_A = o/$(MODE)/libc/nt/MsWSock.a
|
|||
LIBC_NT_MSWSOCK_A_SRCS := $(wildcard libc/nt/MsWSock/*.s)
|
||||
LIBC_NT_MSWSOCK_A_OBJS = $(LIBC_NT_MSWSOCK_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_MSWSOCK_A_CHECKS = $(LIBC_NT_MSWSOCK_A).pkg
|
||||
LIBC_NT_MSWSOCK_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_MSWSOCK_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_MSWSOCK_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_MSWSOCK_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
|
@ -282,7 +281,7 @@ LIBC_NT_SHELL32_A = o/$(MODE)/libc/nt/shell32.a
|
|||
LIBC_NT_SHELL32_A_SRCS := $(wildcard libc/nt/shell32/*.s)
|
||||
LIBC_NT_SHELL32_A_OBJS = $(LIBC_NT_SHELL32_A_SRCS:%.s=o/$(MODE)/%.o)
|
||||
LIBC_NT_SHELL32_A_CHECKS = $(LIBC_NT_SHELL32_A).pkg
|
||||
LIBC_NT_SHELL32_A_DIRECTDEPS = LIBC_STUBS
|
||||
LIBC_NT_SHELL32_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||
LIBC_NT_SHELL32_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_NT_SHELL32_A_DIRECTDEPS),$($(x))))
|
||||
$(LIBC_NT_SHELL32_A): \
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/macros.h"
|
||||
.text.windows
|
||||
.section .text.windows,"ax",@progbits
|
||||
|
||||
/ Epilogues for calling functions w/ Microsoft x64 convention.
|
||||
/
|
||||
|
@ -32,18 +31,38 @@
|
|||
__sysv2nt14:
|
||||
pushq 72(%rbp)
|
||||
pushq 64(%rbp)
|
||||
.type __sysv2nt14,@function
|
||||
.size __sysv2nt14,.-__sysv2nt14
|
||||
.globl __sysv2nt14
|
||||
.hidden __sysv2nt14
|
||||
__sysv2nt12:
|
||||
pushq 56(%rbp)
|
||||
pushq 48(%rbp)
|
||||
.type __sysv2nt12,@function
|
||||
.size __sysv2nt12,.-__sysv2nt12
|
||||
.globl __sysv2nt12
|
||||
.hidden __sysv2nt12
|
||||
__sysv2nt10:
|
||||
pushq 40(%rbp)
|
||||
pushq 32(%rbp)
|
||||
.type __sysv2nt10,@function
|
||||
.size __sysv2nt10,.-__sysv2nt10
|
||||
.globl __sysv2nt10
|
||||
.hidden __sysv2nt10
|
||||
__sysv2nt8:
|
||||
pushq 24(%rbp)
|
||||
pushq 16(%rbp)
|
||||
.type __sysv2nt8,@function
|
||||
.size __sysv2nt8,.-__sysv2nt8
|
||||
.globl __sysv2nt8
|
||||
.hidden __sysv2nt8
|
||||
__sysv2nt6:
|
||||
push %r9
|
||||
push %r8
|
||||
.type __sysv2nt6,@function
|
||||
.size __sysv2nt6,.-__sysv2nt6
|
||||
.globl __sysv2nt6
|
||||
.hidden __sysv2nt6
|
||||
__sysv2nt:
|
||||
mov %rdx,%r8
|
||||
mov %rcx,%r9
|
||||
|
@ -53,10 +72,7 @@ __sysv2nt:
|
|||
call *%rax
|
||||
leave
|
||||
ret
|
||||
.endfn __sysv2nt,globl,hidden
|
||||
.endfn __sysv2nt6,globl,hidden
|
||||
.endfn __sysv2nt8,globl,hidden
|
||||
.endfn __sysv2nt10,globl,hidden
|
||||
.endfn __sysv2nt12,globl,hidden
|
||||
.endfn __sysv2nt14,globl,hidden
|
||||
.source __FILE__
|
||||
.type __sysv2nt,@function
|
||||
.size __sysv2nt,.-__sysv2nt
|
||||
.globl __sysv2nt
|
||||
.hidden __sysv2nt
|
|
@ -18,7 +18,6 @@ LIBC_OHMYPLUS_A_SRCS = \
|
|||
$(LIBC_OHMYPLUS_A_SRCS_CXX)
|
||||
|
||||
LIBC_OHMYPLUS_A_OBJS = \
|
||||
$(LIBC_OHMYPLUS_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_OHMYPLUS_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_OHMYPLUS_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(LIBC_OHMYPLUS_A_SRCS_CXX:%.cc=o/$(MODE)/%.o)
|
||||
|
@ -29,8 +28,10 @@ LIBC_OHMYPLUS_A_CHECKS = \
|
|||
|
||||
LIBC_OHMYPLUS_A_DIRECTDEPS = \
|
||||
LIBC_BITS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_STUBS
|
||||
LIBC_STUBS \
|
||||
LIBC_NEXGEN32E
|
||||
|
||||
LIBC_OHMYPLUS_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_OHMYPLUS_A_DIRECTDEPS),$($(x))))
|
||||
|
|
|
@ -16,7 +16,6 @@ LIBC_RAND_A_SRCS = \
|
|||
$(LIBC_RAND_A_SRCS_C)
|
||||
|
||||
LIBC_RAND_A_OBJS = \
|
||||
$(LIBC_RAND_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_RAND_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_RAND_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -26,6 +25,7 @@ LIBC_RAND_A_CHECKS = \
|
|||
|
||||
LIBC_RAND_A_DIRECTDEPS = \
|
||||
LIBC_STUBS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
|
|
|
@ -25,7 +25,6 @@ LIBC_RUNTIME_A_SRCS = \
|
|||
$(LIBC_RUNTIME_A_SRCS_C)
|
||||
|
||||
LIBC_RUNTIME_A_OBJS = \
|
||||
$(LIBC_RUNTIME_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_RUNTIME_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_RUNTIME_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -37,6 +36,7 @@ LIBC_RUNTIME_A_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_ELF \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
LIBC_STR \
|
||||
|
|
|
@ -11,7 +11,6 @@ LIBC_SOCK_A_HDRS = $(filter %.h,$(LIBC_SOCK_A_FILES))
|
|||
LIBC_SOCK_A_SRCS = $(filter %.c,$(LIBC_SOCK_A_FILES))
|
||||
|
||||
LIBC_SOCK_A_OBJS = \
|
||||
$(LIBC_SOCK_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_SOCK_A_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
LIBC_SOCK_A_CHECKS = \
|
||||
|
@ -22,6 +21,7 @@ LIBC_SOCK_A_DIRECTDEPS = \
|
|||
LIBC_BITS \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
|
|
|
@ -16,7 +16,6 @@ LIBC_STDIO_A_SRCS = \
|
|||
$(LIBC_STDIO_A_SRCS_C)
|
||||
|
||||
LIBC_STDIO_A_OBJS = \
|
||||
$(LIBC_STDIO_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_STDIO_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_STDIO_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -30,6 +29,7 @@ LIBC_STDIO_A_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
|
|
|
@ -18,7 +18,6 @@ LIBC_STR_A_SRCS = \
|
|||
$(LIBC_STR_A_SRCS_C)
|
||||
|
||||
LIBC_STR_A_OBJS = \
|
||||
$(LIBC_STR_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_STR_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_STR_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_STR_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
|
|
@ -27,7 +27,6 @@ LIBC_STUBS_A_SRCS = \
|
|||
$(filter %.S,$(LIBC_STUBS_A_FILES))
|
||||
|
||||
LIBC_STUBS_A_OBJS = \
|
||||
$(LIBC_STUBS_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_STUBS_A_SRCS:%.S=o/$(MODE)/%.o)
|
||||
|
||||
LIBC_STUBS_A_CHECKS = \
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│
|
||||
│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Copyright 2020 Justine Alexandra Roberts Tunney │
|
||||
│ │
|
||||
│ Permission to use, copy, modify, and/or distribute this software for │
|
||||
│ any purpose with or without fee is hereby granted, provided that the │
|
||||
│ above copyright notice and this permission notice appear in all copies. │
|
||||
│ │
|
||||
│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │
|
||||
│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │
|
||||
│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │
|
||||
│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │
|
||||
│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │
|
||||
│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │
|
||||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/macros.h"
|
||||
#include "libc/notice.inc"
|
||||
|
||||
free: ret
|
||||
.endfn free,weak
|
|
@ -1,29 +0,0 @@
|
|||
/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│
|
||||
│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Copyright 2020 Justine Alexandra Roberts Tunney │
|
||||
│ │
|
||||
│ Permission to use, copy, modify, and/or distribute this software for │
|
||||
│ any purpose with or without fee is hereby granted, provided that the │
|
||||
│ above copyright notice and this permission notice appear in all copies. │
|
||||
│ │
|
||||
│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │
|
||||
│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │
|
||||
│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │
|
||||
│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │
|
||||
│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │
|
||||
│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │
|
||||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/macros.h"
|
||||
#include "libc/notice.inc"
|
||||
|
||||
malloc: push %rbp
|
||||
mov %rsp,%rbp
|
||||
mov ENOMEM(%rip),%eax
|
||||
mov %eax,errno(%rip)
|
||||
pushpop -1,%rax
|
||||
pop %rbp
|
||||
ret
|
||||
.endfn malloc,weak
|
|
@ -1,29 +0,0 @@
|
|||
/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│
|
||||
│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Copyright 2020 Justine Alexandra Roberts Tunney │
|
||||
│ │
|
||||
│ Permission to use, copy, modify, and/or distribute this software for │
|
||||
│ any purpose with or without fee is hereby granted, provided that the │
|
||||
│ above copyright notice and this permission notice appear in all copies. │
|
||||
│ │
|
||||
│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │
|
||||
│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │
|
||||
│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │
|
||||
│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │
|
||||
│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │
|
||||
│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │
|
||||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/macros.h"
|
||||
#include "libc/notice.inc"
|
||||
|
||||
realloc:push %rbp
|
||||
mov %rsp,%rbp
|
||||
mov ENOMEM(%rip),%eax
|
||||
mov %eax,errno(%rip)
|
||||
pushpop -1,%rax
|
||||
pop %rbp
|
||||
ret
|
||||
.endfn realloc,weak
|
|
@ -25,7 +25,7 @@ LIBC_SYSV_A_SRCS_S = $(filter %.S,$(LIBC_SYSV_A_FILES))
|
|||
LIBC_SYSV_A_CHECKS = $(LIBC_SYSV_A).pkg
|
||||
|
||||
LIBC_SYSV_A_DIRECTDEPS = \
|
||||
LIBC_STUBS
|
||||
LIBC_NEXGEN32E
|
||||
|
||||
LIBC_SYSV_A_FILES := \
|
||||
libc/sysv/macros.internal.h \
|
||||
|
@ -34,7 +34,6 @@ LIBC_SYSV_A_FILES := \
|
|||
libc/sysv/restorert.S \
|
||||
libc/sysv/syscall.S \
|
||||
libc/sysv/systemfive.S \
|
||||
$(wildcard libc/sysv/stubs/*) \
|
||||
$(wildcard libc/sysv/consts/*) \
|
||||
$(wildcard libc/sysv/errfuns/*)
|
||||
|
||||
|
@ -44,17 +43,14 @@ LIBC_SYSV_A_SRCS = \
|
|||
|
||||
LIBC_SYSV_A_OBJS = \
|
||||
$(LIBC_SYSV_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_SYSV_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
o/$(MODE)/libc/sysv/g_syscount.S.zip.o \
|
||||
o/$(MODE)/libc/sysv/restorert.S.zip.o \
|
||||
o/$(MODE)/libc/sysv/syscall.S.zip.o \
|
||||
o/$(MODE)/libc/sysv/systemfive.S.zip.o
|
||||
$(LIBC_SYSV_A_SRCS_S:%.S=o/$(MODE)/%.o)
|
||||
|
||||
LIBC_SYSV_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_SYSV_A_DIRECTDEPS),$($(x))))
|
||||
|
||||
$(LIBC_SYSV_A): libc/sysv/ \
|
||||
libc/sysv/consts/ \
|
||||
libc/sysv/errfuns/ \
|
||||
$(LIBC_SYSV_A).pkg \
|
||||
$(LIBC_SYSV_A_OBJS)
|
||||
|
||||
|
|
|
@ -74,7 +74,6 @@ LIBC_TESTLIB_A_SRCS = \
|
|||
$(LIBC_TESTLIB_A_SRCS_C)
|
||||
|
||||
LIBC_TESTLIB_A_OBJS = \
|
||||
$(LIBC_TESTLIB_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_TESTLIB_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(LIBC_TESTLIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_TESTLIB_A_ASSETS:%=o/$(MODE)/%.zip.o)
|
||||
|
@ -84,6 +83,7 @@ LIBC_TESTLIB_A_DIRECTDEPS = \
|
|||
LIBC_ALG \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
|
@ -92,10 +92,10 @@ LIBC_TESTLIB_A_DIRECTDEPS = \
|
|||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_TIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV_CALLS \
|
||||
LIBC_TIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
LIBC_ZIPOS \
|
||||
|
@ -122,13 +122,13 @@ LIBC_TESTLIB_RUNNER_A_SRCS = libc/testlib/runner.c
|
|||
LIBC_TESTLIB_RUNNER_A_CHECKS = $(LIBC_TESTLIB_RUNNER_A).pkg
|
||||
|
||||
LIBC_TESTLIB_RUNNER_A_OBJS = \
|
||||
$(LIBC_TESTLIB_RUNNER_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_TESTLIB_RUNNER_A_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
LIBC_TESTLIB_RUNNER_A_DIRECTDEPS = \
|
||||
LIBC_FMT \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
|
@ -161,11 +161,11 @@ LIBC_TESTMAIN_SRCS = \
|
|||
libc/testlib/testmain.c
|
||||
|
||||
LIBC_TESTMAIN_OBJS = \
|
||||
$(LIBC_TESTMAIN_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
o/$(MODE)/libc/testlib/testmain.o
|
||||
|
||||
LIBC_TESTMAIN_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
|
|
|
@ -17,7 +17,6 @@ LIBC_TIME_A_SRCS = \
|
|||
$(LIBC_TIME_A_SRCS_C)
|
||||
|
||||
LIBC_TIME_A_OBJS = \
|
||||
$(LIBC_TIME_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_TIME_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_TIME_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(LIBC_TIME_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
|
@ -29,6 +28,7 @@ LIBC_TIME_A_CHECKS = \
|
|||
|
||||
LIBC_TIME_A_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_FMT \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
|
|
|
@ -15,7 +15,6 @@ LIBC_TINYMATH_A_SRCS = $(LIBC_TINYMATH_A_SRCS_S) $(LIBC_TINYMATH_A_SRCS_C)
|
|||
LIBC_TINYMATH_A_CHECKS = $(LIBC_TINYMATH_A).pkg
|
||||
|
||||
LIBC_TINYMATH_A_OBJS = \
|
||||
$(LIBC_TINYMATH_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_TINYMATH_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_TINYMATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_TINYMATH_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
@ -25,6 +24,7 @@ LIBC_TINYMATH_A_CHECKS = \
|
|||
$(LIBC_TINYMATH_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
LIBC_TINYMATH_A_DIRECTDEPS = \
|
||||
LIBC_INTRIN \
|
||||
LIBC_STUBS \
|
||||
LIBC_NEXGEN32E
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@ LIBC_UNICODE_A_SRCS = \
|
|||
$(LIBC_UNICODE_A_SRCS_C)
|
||||
|
||||
LIBC_UNICODE_A_OBJS = \
|
||||
$(LIBC_UNICODE_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_UNICODE_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(LIBC_UNICODE_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_UNICODE_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
@ -28,10 +27,11 @@ LIBC_UNICODE_A_CHECKS = \
|
|||
$(LIBC_UNICODE_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
LIBC_UNICODE_A_DIRECTDEPS = \
|
||||
LIBC_STUBS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV
|
||||
|
||||
LIBC_UNICODE_A_DEPS := \
|
||||
|
|
|
@ -25,7 +25,6 @@ LIBC_X_A_SRCS = \
|
|||
$(LIBC_X_A_SRCS_C)
|
||||
|
||||
LIBC_X_A_OBJS = \
|
||||
$(LIBC_X_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_X_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_X_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -36,6 +35,7 @@ LIBC_X_A_CHECKS = \
|
|||
LIBC_X_A_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
|
|
|
@ -19,7 +19,6 @@ LIBC_ZIPOS_A_SRCS = \
|
|||
$(LIBC_ZIPOS_A_SRCS_C)
|
||||
|
||||
LIBC_ZIPOS_A_OBJS = \
|
||||
$(LIBC_ZIPOS_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(LIBC_ZIPOS_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(LIBC_ZIPOS_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -28,12 +27,14 @@ LIBC_ZIPOS_A_CHECKS = \
|
|||
$(LIBC_ZIPOS_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
LIBC_ZIPOS_A_DIRECTDEPS = \
|
||||
APE_LIB \
|
||||
LIBC_CALLS \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_SYSV \
|
||||
LIBC_STR \
|
||||
LIBC_INTRIN \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV_CALLS \
|
||||
LIBC_NT_KERNEL32 \
|
||||
|
|
|
@ -18,7 +18,6 @@ NET_HTTP_A_SRCS = \
|
|||
$(NET_HTTP_A_SRCS_R)
|
||||
|
||||
NET_HTTP_A_OBJS = \
|
||||
$(NET_HTTP_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(NET_HTTP_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(NET_HTTP_A_SRCS_C:%.c=o/$(MODE)/%.o) \
|
||||
$(NET_HTTP_A_SRCS_R:%.rl=o/$(MODE)/%.o)
|
||||
|
@ -31,6 +30,7 @@ NET_HTTP_A_DIRECTDEPS = \
|
|||
LIBC_ALG \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG_ASAN \
|
||||
LIBC_NEXGEN32E \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_APE_LIB_SRCS := $(wildcard test/ape/lib/*.c)
|
|||
TEST_APE_LIB_SRCS_TEST = $(filter %_test.c,$(TEST_APE_LIB_SRCS))
|
||||
|
||||
TEST_APE_LIB_OBJS = \
|
||||
$(TEST_APE_LIB_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_APE_LIB_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_APE_LIB_COMS = \
|
||||
|
@ -26,10 +25,11 @@ TEST_APE_LIB_CHECKS = \
|
|||
TEST_APE_LIB_DIRECTDEPS = \
|
||||
APE_LIB \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STR \
|
||||
LIBC_LOG \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_X
|
||||
|
@ -50,10 +50,6 @@ o/$(MODE)/test/ape/lib/%.com.dbg: \
|
|||
$(APE)
|
||||
@$(APELINK)
|
||||
|
||||
# $(TEST_APE_LIB_OBJS): \
|
||||
# OVERRIDE_CFLAGS += \
|
||||
# -fsanitize=address
|
||||
|
||||
.PHONY: o/$(MODE)/test/ape/lib
|
||||
o/$(MODE)/test/ape/lib: $(TEST_APE_LIB_BINS) \
|
||||
$(TEST_APE_LIB_CHECKS)
|
||||
|
|
|
@ -8,7 +8,6 @@ TEST_DSP_CORE_SRCS_TEST = $(filter %_test.c,$(TEST_DSP_CORE_SRCS))
|
|||
TEST_DSP_CORE_BINS = $(TEST_DSP_CORE_COMS) $(TEST_DSP_CORE_COMS:%=%.dbg)
|
||||
|
||||
TEST_DSP_CORE_OBJS = \
|
||||
$(TEST_DSP_CORE_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_DSP_CORE_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_DSP_CORE_COMS = \
|
||||
|
|
|
@ -8,7 +8,6 @@ TEST_DSP_SCALE_SRCS_TEST = $(filter %_test.c,$(TEST_DSP_SCALE_SRCS))
|
|||
TEST_DSP_SCALE_BINS = $(TEST_DSP_SCALE_COMS) $(TEST_DSP_SCALE_COMS:%=%.dbg)
|
||||
|
||||
TEST_DSP_SCALE_OBJS = \
|
||||
$(TEST_DSP_SCALE_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_DSP_SCALE_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_DSP_SCALE_COMS = \
|
||||
|
@ -23,18 +22,19 @@ TEST_DSP_SCALE_CHECKS = \
|
|||
TEST_DSP_SCALE_DIRECTDEPS = \
|
||||
DSP_CORE \
|
||||
DSP_SCALE \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_LOG \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_STDIO \
|
||||
LIBC_X \
|
||||
LIBC_RAND \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
TOOL_VIZ_LIB \
|
||||
LIBC_STUBS \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_X \
|
||||
TOOL_VIZ_LIB \
|
||||
LIBC_TESTLIB
|
||||
|
||||
TEST_DSP_SCALE_DEPS := \
|
||||
|
|
|
@ -8,7 +8,6 @@ TEST_DSP_TTY_SRCS_TEST = $(filter %_test.c,$(TEST_DSP_TTY_SRCS))
|
|||
TEST_DSP_TTY_BINS = $(TEST_DSP_TTY_COMS) $(TEST_DSP_TTY_COMS:%=%.dbg)
|
||||
|
||||
TEST_DSP_TTY_OBJS = \
|
||||
$(TEST_DSP_TTY_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_DSP_TTY_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_DSP_TTY_COMS = \
|
||||
|
@ -22,14 +21,15 @@ TEST_DSP_TTY_CHECKS = \
|
|||
|
||||
TEST_DSP_TTY_DIRECTDEPS = \
|
||||
DSP_TTY \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_RAND \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_TESTLIB
|
||||
|
||||
TEST_DSP_TTY_DEPS := \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_ALG_SRCS := $(wildcard test/libc/alg/*.c)
|
|||
TEST_LIBC_ALG_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_ALG_SRCS))
|
||||
|
||||
TEST_LIBC_ALG_OBJS = \
|
||||
$(TEST_LIBC_ALG_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_ALG_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_ALG_COMS = \
|
||||
|
@ -24,14 +23,15 @@ TEST_LIBC_ALG_CHECKS = \
|
|||
|
||||
TEST_LIBC_ALG_DIRECTDEPS = \
|
||||
LIBC_ALG \
|
||||
LIBC_RAND \
|
||||
LIBC_LOG \
|
||||
LIBC_STDIO \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_BITS_SRCS := $(wildcard test/libc/bits/*.c)
|
|||
TEST_LIBC_BITS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_BITS_SRCS))
|
||||
|
||||
TEST_LIBC_BITS_OBJS = \
|
||||
$(TEST_LIBC_BITS_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_BITS_COMS = \
|
||||
|
@ -24,11 +23,12 @@ TEST_LIBC_BITS_CHECKS = \
|
|||
$(TEST_LIBC_BITS_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
|
||||
|
||||
TEST_LIBC_BITS_DIRECTDEPS = \
|
||||
LIBC_X \
|
||||
LIBC_BITS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_X \
|
||||
THIRD_PARTY_COMPILER_RT
|
||||
|
||||
TEST_LIBC_BITS_DEPS := \
|
||||
|
|
|
@ -9,7 +9,6 @@ TEST_LIBC_CALLS_SRCS := \
|
|||
TEST_LIBC_CALLS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_CALLS_SRCS))
|
||||
|
||||
TEST_LIBC_CALLS_OBJS = \
|
||||
$(TEST_LIBC_CALLS_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_CALLS_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_CALLS_COMS = \
|
||||
|
@ -29,12 +28,13 @@ TEST_LIBC_CALLS_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STR \
|
||||
LIBC_RAND \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TESTLIB \
|
||||
|
|
|
@ -8,7 +8,6 @@ TEST_LIBC_CRYPTO_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_CRYPTO_SRCS))
|
|||
TEST_LIBC_CRYPTO_COMS = $(TEST_LIBC_CRYPTO_OBJS:%.o=%.com)
|
||||
|
||||
TEST_LIBC_CRYPTO_OBJS = \
|
||||
$(TEST_LIBC_CRYPTO_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_CRYPTO_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_CRYPTO_BINS = \
|
||||
|
@ -23,9 +22,10 @@ TEST_LIBC_CRYPTO_CHECKS = \
|
|||
|
||||
TEST_LIBC_CRYPTO_DIRECTDEPS = \
|
||||
LIBC_CRYPTO \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_DNS_SRCS := $(wildcard test/libc/dns/*.c)
|
|||
TEST_LIBC_DNS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_DNS_SRCS))
|
||||
|
||||
TEST_LIBC_DNS_OBJS = \
|
||||
$(TEST_LIBC_DNS_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_DNS_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_DNS_COMS = \
|
||||
|
@ -27,6 +26,7 @@ TEST_LIBC_DNS_DIRECTDEPS = \
|
|||
LIBC_CALLS_HEFTY \
|
||||
LIBC_DNS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
|
|
|
@ -9,7 +9,6 @@ TEST_LIBC_FMT_BINS = $(TEST_LIBC_FMT_COMS) $(TEST_LIBC_FMT_COMS:%=%.dbg)
|
|||
TEST_LIBC_FMT_TESTS = $(TEST_LIBC_FMT_SRCS_TEST:%.c=o/$(MODE)/%.com.ok)
|
||||
|
||||
TEST_LIBC_FMT_OBJS = \
|
||||
$(TEST_LIBC_FMT_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_FMT_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_FMT_COMS = \
|
||||
|
@ -22,11 +21,12 @@ TEST_LIBC_FMT_DIRECTDEPS = \
|
|||
LIBC_ALG \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG_ASAN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG_ASAN \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_INTRIN_SRCS := $(wildcard test/libc/intrin/*.c)
|
|||
TEST_LIBC_INTRIN_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_INTRIN_SRCS))
|
||||
|
||||
TEST_LIBC_INTRIN_OBJS = \
|
||||
$(TEST_LIBC_INTRIN_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_INTRIN_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_INTRIN_COMS = \
|
||||
|
@ -26,14 +25,14 @@ TEST_LIBC_INTRIN_CHECKS = \
|
|||
TEST_LIBC_INTRIN_DIRECTDEPS = \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_LOG \
|
||||
LIBC_STUBS \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_X \
|
||||
TOOL_VIZ_LIB
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_MATH_SRCS := $(wildcard test/libc/math/*.c)
|
|||
TEST_LIBC_MATH_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_MATH_SRCS))
|
||||
|
||||
TEST_LIBC_MATH_OBJS = \
|
||||
$(TEST_LIBC_MATH_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_MATH_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_MATH_COMS = \
|
||||
|
@ -25,8 +24,10 @@ TEST_LIBC_MATH_CHECKS = \
|
|||
TEST_LIBC_MATH_DIRECTDEPS = \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MATH \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_MEM_SRCS := $(wildcard test/libc/mem/*.c)
|
|||
TEST_LIBC_MEM_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_MEM_SRCS))
|
||||
|
||||
TEST_LIBC_MEM_OBJS = \
|
||||
$(TEST_LIBC_MEM_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_MEM_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_MEM_COMS = \
|
||||
|
@ -23,15 +22,16 @@ TEST_LIBC_MEM_CHECKS = \
|
|||
$(TEST_LIBC_MEM_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
|
||||
|
||||
TEST_LIBC_MEM_DIRECTDEPS = \
|
||||
LIBC_MEM \
|
||||
LIBC_CALLS \
|
||||
LIBC_STUBS \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_SYSV \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_RAND \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TESTLIB
|
||||
|
||||
TEST_LIBC_MEM_DEPS := \
|
||||
|
|
|
@ -9,7 +9,6 @@ TEST_LIBC_NEXGEN32E_SRCS_TEST = \
|
|||
$(filter %_test.c,$(TEST_LIBC_NEXGEN32E_SRCS))
|
||||
|
||||
TEST_LIBC_NEXGEN32E_OBJS = \
|
||||
$(TEST_LIBC_NEXGEN32E_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_NEXGEN32E_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_NEXGEN32E_COMS = \
|
||||
|
@ -30,16 +29,17 @@ TEST_LIBC_NEXGEN32E_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_STDIO \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STUBS \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_UNICODE \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
TOOL_VIZ_LIB
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ TEST_LIBC_RAND_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_RAND_SRCS))
|
|||
TEST_LIBC_RAND_BINS = $(TEST_LIBC_RAND_COMS) $(TEST_LIBC_RAND_COMS:%=%.dbg)
|
||||
|
||||
TEST_LIBC_RAND_OBJS = \
|
||||
$(TEST_LIBC_RAND_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_RAND_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_RAND_COMS = \
|
||||
|
@ -22,6 +21,7 @@ TEST_LIBC_RAND_CHECKS = \
|
|||
TEST_LIBC_RAND_DIRECTDEPS = \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
int main() {
|
||||
int rc;
|
||||
FILE *f;
|
||||
f = fopen("/dev/null", "w");
|
||||
fprintf(f, "hello world\n");
|
||||
fclose(f);
|
||||
rc = system("exit 42");
|
||||
CHECK_NE(-1, rc);
|
||||
CHECK_EQ(42, WEXITSTATUS(rc));
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -7,9 +7,13 @@ o/$(MODE)/test/libc/release/cosmopolitan.zip: \
|
|||
o/$(MODE)/libc/crt/crt.o \
|
||||
o/$(MODE)/ape/ape.o \
|
||||
o/$(MODE)/cosmopolitan.a
|
||||
zip -j $@ $^
|
||||
@zip -j $@ $^
|
||||
|
||||
o/$(MODE)/test/libc/release/smoke.com: \
|
||||
o/$(MODE)/test/libc/release/smoke.com.dbg
|
||||
@objcopy -SO binary $< $@
|
||||
|
||||
o/$(MODE)/test/libc/release/smoke.com.dbg: \
|
||||
test/libc/release/smoke.c \
|
||||
o/cosmopolitan.h \
|
||||
o/$(MODE)/ape/ape.lds \
|
||||
|
@ -26,7 +30,6 @@ o/$(MODE)/test/libc/release/smoke.com: \
|
|||
-nostdinc \
|
||||
-mno-red-zone \
|
||||
-Wl,--gc-sections \
|
||||
-Wl,--oformat=binary \
|
||||
-Wl,-z,max-page-size=0x1000 \
|
||||
-Wl,-T,o/$(MODE)/ape/ape.lds \
|
||||
-include o/cosmopolitan.h \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_RUNTIME_SRCS := $(wildcard test/libc/runtime/*.c)
|
|||
TEST_LIBC_RUNTIME_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_RUNTIME_SRCS))
|
||||
|
||||
TEST_LIBC_RUNTIME_OBJS = \
|
||||
$(TEST_LIBC_RUNTIME_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_RUNTIME_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_RUNTIME_COMS = \
|
||||
|
@ -28,18 +27,19 @@ TEST_LIBC_RUNTIME_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG_ASAN \
|
||||
LIBC_MEM \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG_ASAN \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_X \
|
||||
THIRD_PARTY_XED
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_SOCK_SRCS := $(wildcard test/libc/sock/*.c)
|
|||
TEST_LIBC_SOCK_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_SOCK_SRCS))
|
||||
|
||||
TEST_LIBC_SOCK_OBJS = \
|
||||
$(TEST_LIBC_SOCK_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_SOCK_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_SOCK_COMS = \
|
||||
|
@ -26,11 +25,12 @@ TEST_LIBC_SOCK_CHECKS = \
|
|||
TEST_LIBC_SOCK_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_STDIO \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_SOCK \
|
||||
LIBC_STDIO \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TESTLIB \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_STDIO_SRCS := $(wildcard test/libc/stdio/*.c)
|
|||
TEST_LIBC_STDIO_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_STDIO_SRCS))
|
||||
|
||||
TEST_LIBC_STDIO_OBJS = \
|
||||
$(TEST_LIBC_STDIO_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_STDIO_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_STDIO_COMS = \
|
||||
|
@ -28,6 +27,8 @@ TEST_LIBC_STDIO_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_STR_SRCS := $(wildcard test/libc/str/*.c)
|
|||
TEST_LIBC_STR_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_STR_SRCS))
|
||||
|
||||
TEST_LIBC_STR_OBJS = \
|
||||
$(TEST_LIBC_STR_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_STR_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_STR_COMS = \
|
||||
|
@ -24,21 +23,22 @@ TEST_LIBC_STR_CHECKS = \
|
|||
$(TEST_LIBC_STR_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
|
||||
|
||||
TEST_LIBC_STR_DIRECTDEPS = \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_ALG \
|
||||
LIBC_FMT \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STDIO \
|
||||
LIBC_MEM \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STR \
|
||||
LIBC_RAND \
|
||||
LIBC_UNICODE \
|
||||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_LOG \
|
||||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
LIBC_ZIPOS \
|
||||
THIRD_PARTY_REGEX \
|
||||
|
|
|
@ -8,7 +8,6 @@ TEST_LIBC_TIME_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_TIME_SRCS))
|
|||
TEST_LIBC_TIME_BINS = $(TEST_LIBC_TIME_COMS) $(TEST_LIBC_TIME_COMS:%=%.dbg)
|
||||
|
||||
TEST_LIBC_TIME_OBJS = \
|
||||
$(TEST_LIBC_TIME_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_TIME_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_TIME_COMS = \
|
||||
|
@ -21,12 +20,13 @@ TEST_LIBC_TIME_CHECKS = \
|
|||
TEST_LIBC_TIME_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_LOG \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_TIME \
|
||||
LIBC_X
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_TINYMATH_SRCS := $(wildcard test/libc/tinymath/*.c)
|
|||
TEST_LIBC_TINYMATH_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_TINYMATH_SRCS))
|
||||
|
||||
TEST_LIBC_TINYMATH_OBJS = \
|
||||
$(TEST_LIBC_TINYMATH_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_TINYMATH_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_TINYMATH_COMS = \
|
||||
|
@ -26,12 +25,13 @@ TEST_LIBC_TINYMATH_CHECKS = \
|
|||
TEST_LIBC_TINYMATH_DIRECTDEPS = \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_X
|
||||
|
||||
TEST_LIBC_TINYMATH_DEPS := \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_UNICODE_SRCS := $(wildcard test/libc/unicode/*.c)
|
|||
TEST_LIBC_UNICODE_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_UNICODE_SRCS))
|
||||
|
||||
TEST_LIBC_UNICODE_OBJS = \
|
||||
$(TEST_LIBC_UNICODE_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_UNICODE_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_UNICODE_COMS = \
|
||||
|
@ -24,6 +23,7 @@ TEST_LIBC_UNICODE_CHECKS = \
|
|||
$(TEST_LIBC_UNICODE_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
|
||||
|
||||
TEST_LIBC_UNICODE_DIRECTDEPS = \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_LIBC_X_SRCS := $(wildcard test/libc/x/*.c)
|
|||
TEST_LIBC_X_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_X_SRCS))
|
||||
|
||||
TEST_LIBC_X_OBJS = \
|
||||
$(TEST_LIBC_X_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_X_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_X_COMS = \
|
||||
|
@ -26,14 +25,15 @@ TEST_LIBC_X_CHECKS = \
|
|||
TEST_LIBC_X_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_X \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_X \
|
||||
THIRD_PARTY_GDTOA
|
||||
|
||||
TEST_LIBC_X_DEPS := \
|
||||
|
|
|
@ -22,10 +22,10 @@ TEST_LIBC_XED_TESTLIB_A = o/$(MODE)/test/libc/xed/testlib.a
|
|||
TEST_LIBC_XED_TESTLIB_A_SRCS = $(filter %_lib.c,$(TEST_LIBC_XED_FILES))
|
||||
|
||||
TEST_LIBC_XED_TESTLIB_A_OBJS = \
|
||||
$(TEST_LIBC_XED_TESTLIB_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_XED_TESTLIB_A_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_XED_TESTLIB_A_DIRECTDEPS = \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
|
@ -53,7 +53,6 @@ PKGS += TEST_LIBC_XED
|
|||
TEST_LIBC_XED_SRCS = $(filter %_test.c,$(TEST_LIBC_XED_FILES))
|
||||
|
||||
TEST_LIBC_XED_OBJS = \
|
||||
$(TEST_LIBC_XED_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_LIBC_XED_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_LIBC_XED_COMS = \
|
||||
|
@ -71,6 +70,7 @@ TEST_LIBC_XED_CHECKS = \
|
|||
|
||||
TEST_LIBC_XED_DIRECTDEPS = \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
|
|
|
@ -8,7 +8,6 @@ TEST_NET_HTTP_SRCS_TEST = $(filter %_test.c,$(TEST_NET_HTTP_SRCS))
|
|||
TEST_NET_HTTP_BINS = $(TEST_NET_HTTP_COMS) $(TEST_NET_HTTP_COMS:%=%.dbg)
|
||||
|
||||
TEST_NET_HTTP_OBJS = \
|
||||
$(TEST_NET_HTTP_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_NET_HTTP_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_NET_HTTP_COMS = \
|
||||
|
|
|
@ -12,7 +12,6 @@ TEST_TOOL_BUILD_LIB_HDRS = $(filter %.h,$(TEST_TOOL_BUILD_LIB_FILES))
|
|||
TEST_TOOL_BUILD_LIB_COMS = $(TEST_TOOL_BUILD_LIB_OBJS:%.o=%.com)
|
||||
|
||||
TEST_TOOL_BUILD_LIB_OBJS = \
|
||||
$(TEST_TOOL_BUILD_LIB_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_TOOL_BUILD_LIB_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_TOOL_BUILD_LIB_COMS = \
|
||||
|
@ -30,21 +29,22 @@ TEST_TOOL_BUILD_LIB_CHECKS = \
|
|||
$(TEST_TOOL_BUILD_LIB_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
|
||||
|
||||
TEST_TOOL_BUILD_LIB_DIRECTDEPS = \
|
||||
LIBC_X \
|
||||
LIBC_CALLS \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_FMT \
|
||||
LIBC_STR \
|
||||
LIBC_STDIO \
|
||||
LIBC_LOG \
|
||||
LIBC_SYSV \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_UNICODE \
|
||||
LIBC_SYSV \
|
||||
LIBC_TESTLIB \
|
||||
TOOL_BUILD_LIB \
|
||||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
THIRD_PARTY_COMPILER_RT \
|
||||
TOOL_BUILD_LIB \
|
||||
THIRD_PARTY_XED
|
||||
|
||||
TEST_TOOL_BUILD_LIB_DEPS := \
|
||||
|
|
|
@ -7,7 +7,6 @@ TEST_TOOL_VIZ_LIB_SRCS := $(wildcard test/tool/viz/lib/*.c)
|
|||
TEST_TOOL_VIZ_LIB_SRCS_TEST = $(filter %_test.c,$(TEST_TOOL_VIZ_LIB_SRCS))
|
||||
|
||||
TEST_TOOL_VIZ_LIB_OBJS = \
|
||||
$(TEST_TOOL_VIZ_LIB_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(TEST_TOOL_VIZ_LIB_SRCS:%.c=o/$(MODE)/%.o)
|
||||
|
||||
TEST_TOOL_VIZ_LIB_COMS = \
|
||||
|
@ -25,19 +24,20 @@ TEST_TOOL_VIZ_LIB_CHECKS = \
|
|||
|
||||
TEST_TOOL_VIZ_LIB_DIRECTDEPS = \
|
||||
DSP_MPEG \
|
||||
LIBC_ALG \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_UNICODE \
|
||||
LIBC_TIME \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_ALG \
|
||||
LIBC_RAND \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STUBS \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_TIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
TOOL_VIZ_LIB
|
||||
|
||||
|
|
4
third_party/blas/blas.mk
vendored
4
third_party/blas/blas.mk
vendored
|
@ -16,7 +16,6 @@ THIRD_PARTY_BLAS_A_SRCS = \
|
|||
$(THIRD_PARTY_BLAS_A_SRCS_C)
|
||||
|
||||
THIRD_PARTY_BLAS_A_OBJS = \
|
||||
$(THIRD_PARTY_BLAS_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_BLAS_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(THIRD_PARTY_BLAS_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -25,8 +24,9 @@ THIRD_PARTY_BLAS_A_CHECKS = \
|
|||
$(THIRD_PARTY_BLAS_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
THIRD_PARTY_BLAS_A_DIRECTDEPS = \
|
||||
LIBC_STUBS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STUBS \
|
||||
THIRD_PARTY_F2C
|
||||
|
||||
THIRD_PARTY_BLAS_A_DEPS := \
|
||||
|
|
9
third_party/chibicc/chibicc.mk
vendored
9
third_party/chibicc/chibicc.mk
vendored
|
@ -37,10 +37,8 @@ THIRD_PARTY_CHIBICC_BINS = \
|
|||
o/$(MODE)/third_party/chibicc/chibicc2.com
|
||||
|
||||
THIRD_PARTY_CHIBICC_A_OBJS = \
|
||||
$(THIRD_PARTY_CHIBICC_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_CHIBICC_A_SRCS:%.c=o/$(MODE)/%.o)
|
||||
THIRD_PARTY_CHIBICC2_A_OBJS = \
|
||||
$(THIRD_PARTY_CHIBICC_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_CHIBICC_A_SRCS:%.c=o/$(MODE)/%.chibicc.o)
|
||||
|
||||
THIRD_PARTY_CHIBICC_A_CHECKS = \
|
||||
|
@ -54,21 +52,22 @@ THIRD_PARTY_CHIBICC_A_DIRECTDEPS = \
|
|||
LIBC_CALLS \
|
||||
LIBC_CALLS_HEFTY \
|
||||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_LOG \
|
||||
LIBC_LOG \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_LOG \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TIME \
|
||||
LIBC_UNICODE \
|
||||
LIBC_SYSV \
|
||||
LIBC_X \
|
||||
TOOL_BUILD_LIB \
|
||||
THIRD_PARTY_COMPILER_RT \
|
||||
THIRD_PARTY_DLMALLOC \
|
||||
TOOL_BUILD_LIB \
|
||||
THIRD_PARTY_GDTOA
|
||||
|
||||
THIRD_PARTY_CHIBICC_A_DEPS := \
|
||||
|
|
15
third_party/chibicc/test/test.mk
vendored
15
third_party/chibicc/test/test.mk
vendored
|
@ -25,11 +25,9 @@ THIRD_PARTY_CHIBICC_TEST_COMS = \
|
|||
$(THIRD_PARTY_CHIBICC_TEST_SRCS_TEST:%.c=o/$(MODE)/%2.com)
|
||||
|
||||
THIRD_PARTY_CHIBICC_TEST_OBJS = \
|
||||
$(THIRD_PARTY_CHIBICC_TEST_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_CHIBICC_TEST_SRCS:%.c=o/$(MODE)/%.chibicc.o)
|
||||
|
||||
THIRD_PARTY_CHIBICC_TEST2_OBJS = \
|
||||
$(THIRD_PARTY_CHIBICC_TEST_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_CHIBICC_TEST_SRCS:%.c=o/$(MODE)/%.chibicc2.o)
|
||||
|
||||
THIRD_PARTY_CHIBICC_TEST_BINS = \
|
||||
|
@ -41,15 +39,16 @@ THIRD_PARTY_CHIBICC_TEST_CHECKS = \
|
|||
$(THIRD_PARTY_CHIBICC_TEST_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
THIRD_PARTY_CHIBICC_TEST_DIRECTDEPS = \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_FMT \
|
||||
LIBC_STR \
|
||||
LIBC_STDIO \
|
||||
LIBC_STUBS \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_UNICODE \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
THIRD_PARTY_CHIBICC \
|
||||
THIRD_PARTY_COMPILER_RT
|
||||
|
|
7
third_party/compiler_rt/compiler_rt.mk
vendored
7
third_party/compiler_rt/compiler_rt.mk
vendored
|
@ -18,7 +18,6 @@ THIRD_PARTY_COMPILER_RT_A_SRCS = \
|
|||
$(THIRD_PARTY_COMPILER_RT_A_SRCS_C)
|
||||
|
||||
THIRD_PARTY_COMPILER_RT_A_OBJS = \
|
||||
$(THIRD_PARTY_COMPILER_RT_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_COMPILER_RT_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(THIRD_PARTY_COMPILER_RT_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -27,8 +26,10 @@ THIRD_PARTY_COMPILER_RT_A_CHECKS = \
|
|||
$(THIRD_PARTY_COMPILER_RT_A_HDRS:%=o/$(MODE)/%.ok)
|
||||
|
||||
THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS = \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_STUBS
|
||||
LIBC_INTRIN \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_STUBS \
|
||||
LIBC_TINYMATH
|
||||
|
||||
THIRD_PARTY_COMPILER_RT_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS),$($(x))))
|
||||
|
|
2
third_party/dlmalloc/dlmalloc.mk
vendored
2
third_party/dlmalloc/dlmalloc.mk
vendored
|
@ -16,7 +16,6 @@ THIRD_PARTY_DLMALLOC_A_SRCS = \
|
|||
$(THIRD_PARTY_DLMALLOC_A_SRCS_C)
|
||||
|
||||
THIRD_PARTY_DLMALLOC_A_OBJS = \
|
||||
$(THIRD_PARTY_DLMALLOC_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_DLMALLOC_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(THIRD_PARTY_DLMALLOC_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
||||
|
@ -27,6 +26,7 @@ THIRD_PARTY_DLMALLOC_A_CHECKS = \
|
|||
THIRD_PARTY_DLMALLOC_A_DIRECTDEPS = \
|
||||
LIBC_BITS \
|
||||
LIBC_CALLS \
|
||||
LIBC_INTRIN \
|
||||
LIBC_FMT \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_RUNTIME \
|
||||
|
|
6
third_party/duktape/duktape.mk
vendored
6
third_party/duktape/duktape.mk
vendored
|
@ -18,7 +18,6 @@ THIRD_PARTY_DUKTAPE_A_SRCS = \
|
|||
$(THIRD_PARTY_DUKTAPE_A_SRCS_C)
|
||||
|
||||
THIRD_PARTY_DUKTAPE_A_OBJS = \
|
||||
$(THIRD_PARTY_DUKTAPE_A_SRCS:%=o/$(MODE)/%.zip.o) \
|
||||
$(THIRD_PARTY_DUKTAPE_A_SRCS_A:%.s=o/$(MODE)/%.o) \
|
||||
$(THIRD_PARTY_DUKTAPE_A_SRCS_S:%.S=o/$(MODE)/%.o) \
|
||||
$(THIRD_PARTY_DUKTAPE_A_SRCS_C:%.c=o/$(MODE)/%.o)
|
||||
|
@ -28,11 +27,12 @@ THIRD_PARTY_DUKTAPE_A_CHECKS = \
|
|||
|
||||
THIRD_PARTY_DUKTAPE_A_DIRECTDEPS = \
|
||||
LIBC_CALLS \
|
||||
LIBC_STUBS \
|
||||
LIBC_FMT \
|
||||
LIBC_TIME \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_STR \
|
||||
LIBC_STUBS \
|
||||
LIBC_TIME \
|
||||
LIBC_TINYMATH \
|
||||
LIBC_UNICODE \
|
||||
LIBC_NEXGEN32E
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue