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:
Justine Tunney 2021-01-16 12:05:41 -08:00
parent 04f1d89f84
commit 9f68d6eee9
121 changed files with 302 additions and 381 deletions

View file

@ -236,40 +236,44 @@ loc: o/$(MODE)/tool/build/summy.com
$(XARGS) wc -l | grep total | awk '{print $$1}' | $< $(XARGS) wc -l | grep total | awk '{print $$1}' | $<
COSMOPOLITAN_OBJECTS = \ COSMOPOLITAN_OBJECTS = \
APE_LIB \
LIBC \
LIBC_ALG \
LIBC_BITS \
LIBC_CALLS \
LIBC_CALLS_HEFTY \
LIBC_CRYPTO \ LIBC_CRYPTO \
LIBC_DNS \ 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_SOCK \
LIBC_STDIO \ LIBC_NT_WS2_32 \
LIBC_STR \ LIBC_NT_MSWSOCK \
LIBC_STUBS \ LIBC_OHMYPLUS \
LIBC_SYSV \
LIBC_TIME \
LIBC_TINYMATH \
LIBC_UNICODE \
LIBC_X \ LIBC_X \
LIBC_ZIPOS \
THIRD_PARTY_COMPILER_RT \
THIRD_PARTY_DLMALLOC \
THIRD_PARTY_GDTOA \ THIRD_PARTY_GDTOA \
THIRD_PARTY_GETOPT \ THIRD_PARTY_GETOPT \
LIBC_LOG \
LIBC_UNICODE \
LIBC_TIME \
LIBC_ZIPOS \
THIRD_PARTY_ZLIB \
APE_LIB \
THIRD_PARTY_MUSL \ 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 = \ COSMOPOLITAN_HEADERS = \
LIBC \ LIBC \
@ -304,7 +308,9 @@ COSMOPOLITAN_HEADERS = \
THIRD_PARTY_ZLIB \ THIRD_PARTY_ZLIB \
THIRD_PARTY_REGEX 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/cosmopolitan.h: \
o/$(MODE)/tool/build/rollup.com \ o/$(MODE)/tool/build/rollup.com \
libc/integral/normalize.inc \ libc/integral/normalize.inc \

View file

@ -17,14 +17,10 @@ APE_LIB_A_SRCS = \
APE_LIB_A_OBJS = \ APE_LIB_A_OBJS = \
$(APE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(APE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(APE_LIB_A_SRCS_C:%.c=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_CHECKS = $(APE_LIB_A_HDRS:%=o/$(MODE)/%.ok) 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_DEPS = $(call uniq,$(foreach x,$(APE_LIB_A_DIRECTDEPS),$($(x))))
$(APE_LIB_A): ape/lib/ $(APE_LIB_A).pkg $(APE_LIB_A_OBJS) $(APE_LIB_A): ape/lib/ $(APE_LIB_A).pkg $(APE_LIB_A_OBJS)

View file

@ -5,8 +5,8 @@
if [ "$TOOL_BUILD_PACKAGE" ]; then if [ "$TOOL_BUILD_PACKAGE" ]; then
set -- "$TOOL_BUILD_PACKAGE" "$@" set -- "$TOOL_BUILD_PACKAGE" "$@"
else else
if [ -x "o/tool/build/package.com" ]; then if [ -x "o/tool/build/package.com.dbg" ]; then
set -- "o/tool/build/package.com" "$@" set -- "o/tool/build/package.com.dbg" "$@"
else else
MKDIR=${MKDIR:-$(command -v mkdir) -p} || exit MKDIR=${MKDIR:-$(command -v mkdir) -p} || exit
CP=${CP:-$(command -v cp) -f} || exit CP=${CP:-$(command -v cp) -f} || exit

View file

@ -16,7 +16,6 @@ DSP_BMP_A_SRCS = \
$(DSP_BMP_A_SRCS_C) $(DSP_BMP_A_SRCS_C)
DSP_BMP_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(DSP_BMP_A_SRCS_C:%.c=o/$(MODE)/%.o) $(DSP_BMP_A_SRCS_C:%.c=o/$(MODE)/%.o)

View file

@ -16,7 +16,6 @@ DSP_CORE_A_SRCS = \
$(DSP_CORE_A_SRCS_C) $(DSP_CORE_A_SRCS_C)
DSP_CORE_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(DSP_CORE_A_SRCS_C:%.c=o/$(MODE)/%.o) $(DSP_CORE_A_SRCS_C:%.c=o/$(MODE)/%.o)

View file

@ -16,7 +16,6 @@ DSP_MPEG_A_SRCS = \
$(DSP_MPEG_A_SRCS_C) $(DSP_MPEG_A_SRCS_C)
DSP_MPEG_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(DSP_MPEG_A_SRCS_C:%.c=o/$(MODE)/%.o) $(DSP_MPEG_A_SRCS_C:%.c=o/$(MODE)/%.o)
@ -26,19 +25,20 @@ DSP_MPEG_A_CHECKS = \
DSP_MPEG_A_DIRECTDEPS = \ DSP_MPEG_A_DIRECTDEPS = \
LIBC_CALLS \ 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_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 := \ DSP_MPEG_A_DEPS := \
$(call uniq,$(foreach x,$(DSP_MPEG_A_DIRECTDEPS),$($(x)))) $(call uniq,$(foreach x,$(DSP_MPEG_A_DIRECTDEPS),$($(x))))

View file

@ -16,7 +16,6 @@ DSP_SCALE_A_SRCS = \
$(DSP_SCALE_A_SRCS_C) $(DSP_SCALE_A_SRCS_C)
DSP_SCALE_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(DSP_SCALE_A_SRCS_C:%.c=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_SCALE_A_DIRECTDEPS = \
DSP_CORE \ DSP_CORE \
LIBC_INTRIN \ LIBC_INTRIN \
LIBC_NEXGEN32E \
LIBC_TINYMATH \
LIBC_TIME \
LIBC_RUNTIME \
LIBC_LOG \ LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_X \ LIBC_NEXGEN32E \
LIBC_STUBS LIBC_RUNTIME \
LIBC_STUBS \
LIBC_STUBS \
LIBC_TIME \
LIBC_TINYMATH \
LIBC_X
DSP_SCALE_A_DEPS := \ DSP_SCALE_A_DEPS := \
$(call uniq,$(foreach x,$(DSP_SCALE_A_DIRECTDEPS),$($(x)))) $(call uniq,$(foreach x,$(DSP_SCALE_A_DIRECTDEPS),$($(x))))

View file

@ -16,7 +16,6 @@ DSP_TTY_A_SRCS = \
$(DSP_TTY_A_SRCS_C) $(DSP_TTY_A_SRCS_C)
DSP_TTY_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(DSP_TTY_A_SRCS_C:%.c=o/$(MODE)/%.o) $(DSP_TTY_A_SRCS_C:%.c=o/$(MODE)/%.o)
@ -29,6 +28,7 @@ DSP_TTY_A_DIRECTDEPS = \
LIBC_ALG \ LIBC_ALG \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_MEM \ LIBC_MEM \

View file

@ -19,7 +19,6 @@ EXAMPLES_MAINS = \
$(EXAMPLES_MAINS_CC) $(EXAMPLES_MAINS_CC)
EXAMPLES_OBJS = \ EXAMPLES_OBJS = \
$(EXAMPLES_SRCS:%=o/$(MODE)/%.zip.o) \
$(EXAMPLES_MAINS_S:%.S=o/$(MODE)/%.o) \ $(EXAMPLES_MAINS_S:%.S=o/$(MODE)/%.o) \
$(EXAMPLES_MAINS_C:%.c=o/$(MODE)/%.o) \ $(EXAMPLES_MAINS_C:%.c=o/$(MODE)/%.o) \
$(EXAMPLES_MAINS_CC:%.cc=o/$(MODE)/%.o) $(EXAMPLES_MAINS_CC:%.cc=o/$(MODE)/%.o)
@ -47,6 +46,7 @@ EXAMPLES_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_LOG_ASAN \ LIBC_LOG_ASAN \
LIBC_MEM \ LIBC_MEM \

View file

@ -35,8 +35,7 @@ EXAMPLES_PACKAGE_BINS = \
# Remaps source file names to object names. # Remaps source file names to object names.
# Also asks a wildcard rule to automatically run tool/build/zipobj.c # Also asks a wildcard rule to automatically run tool/build/zipobj.c
EXAMPLES_PACKAGE_OBJS = \ EXAMPLES_PACKAGE_OBJS = \
$(EXAMPLES_PACKAGE_SRCS:%.c=o/$(MODE)/%.o) \ $(EXAMPLES_PACKAGE_SRCS:%.c=o/$(MODE)/%.o)
$(EXAMPLES_PACKAGE_SRCS:%=o/$(MODE)/%.zip.o)
# Lists packages whose symbols are or may be directly referenced here. # Lists packages whose symbols are or may be directly referenced here.
# Note that linking stubs is always a good idea due to synthetic code. # Note that linking stubs is always a good idea due to synthetic code.

View file

@ -57,8 +57,7 @@ EXAMPLES_PACKAGE_LIB_A_SRCS = \
# Change suffixes of different languages extensions into object names. # Change suffixes of different languages extensions into object names.
EXAMPLES_PACKAGE_LIB_A_OBJS = \ EXAMPLES_PACKAGE_LIB_A_OBJS = \
$(EXAMPLES_PACKAGE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(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_C:%.c=o/$(MODE)/%.o)
$(EXAMPLES_PACKAGE_LIB_A_SRCS:%=o/$(MODE)/%.zip.o)
# Does the two most important things for C/C++ code sustainability. # Does the two most important things for C/C++ code sustainability.
# 1. Guarantees each header builds, i.e. includes symbols it needs. # 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. # Note that linking stubs is always a good idea due to synthetic code.
EXAMPLES_PACKAGE_LIB_A_DIRECTDEPS = \ EXAMPLES_PACKAGE_LIB_A_DIRECTDEPS = \
LIBC_STDIO \ LIBC_STDIO \
LIBC_NEXGEN32E \
LIBC_STUBS LIBC_STUBS
# Evaluates variable as set of transitive package dependencies. # Evaluates variable as set of transitive package dependencies.

View file

@ -16,7 +16,6 @@ LIBC_ALG_A_SRCS = \
$(LIBC_ALG_A_SRCS_C) $(LIBC_ALG_A_SRCS_C)
LIBC_ALG_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_ALG_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_ALG_A_SRCS_C:%.c=o/$(MODE)/%.o)
@ -29,6 +28,7 @@ LIBC_ALG_A_DIRECTDEPS = \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STR \ LIBC_STR \
LIBC_INTRIN \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV LIBC_SYSV

View file

@ -16,7 +16,6 @@ LIBC_BITS_A_SRCS = \
$(LIBC_BITS_A_SRCS_C) $(LIBC_BITS_A_SRCS_C)
LIBC_BITS_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_BITS_A_SRCS_C:%.c=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_BITS_A_DIRECTDEPS = \
LIBC_STUBS \ LIBC_STUBS \
LIBC_INTRIN \
LIBC_NEXGEN32E LIBC_NEXGEN32E
LIBC_BITS_A_DEPS := \ LIBC_BITS_A_DEPS := \

View file

@ -29,7 +29,6 @@ LIBC_CALLS_A_SRCS = \
$(LIBC_CALLS_A_SRCS_C) $(LIBC_CALLS_A_SRCS_C)
LIBC_CALLS_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_CALLS_A_SRCS_C:%.c=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_CALLS_A_DIRECTDEPS = \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_ADVAPI32 \ LIBC_NT_ADVAPI32 \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \

View file

@ -26,7 +26,6 @@ LIBC_CALLS_HEFTY_A_SRCS = \
$(LIBC_CALLS_HEFTY_A_SRCS_C) $(LIBC_CALLS_HEFTY_A_SRCS_C)
LIBC_CALLS_HEFTY_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_CALLS_HEFTY_A_SRCS_C:%.c=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_ALG \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \

View file

@ -23,7 +23,7 @@ CRT_ARTIFACTS += CRT
CRT = o/$(MODE)/libc/crt/crt.o CRT = o/$(MODE)/libc/crt/crt.o
CRT_FILES = libc/crt/crt.S CRT_FILES = libc/crt/crt.S
CRT_SRCS = 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 $(CRT_OBJS): $(BUILD_FILES) libc/crt/crt.mk
.PHONY: o/$(MODE)/libc/crt .PHONY: o/$(MODE)/libc/crt

View file

@ -18,7 +18,6 @@ LIBC_CRYPTO_A_SRCS = \
$(LIBC_CRYPTO_A_SRCS_C) $(LIBC_CRYPTO_A_SRCS_C)
LIBC_CRYPTO_A_OBJS = \ 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_A:%.s=o/$(MODE)/%.o) \
$(LIBC_CRYPTO_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_CRYPTO_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(LIBC_CRYPTO_A_SRCS_C:%.c=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_HDRS:%=o/$(MODE)/%.ok)
LIBC_CRYPTO_A_DIRECTDEPS = \ LIBC_CRYPTO_A_DIRECTDEPS = \
LIBC_INTRIN \
LIBC_STUBS \ LIBC_STUBS \
LIBC_NEXGEN32E LIBC_NEXGEN32E

View file

@ -16,7 +16,6 @@ LIBC_DNS_A_SRCS = \
$(LIBC_DNS_A_SRCS_C) $(LIBC_DNS_A_SRCS_C)
LIBC_DNS_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_DNS_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_DNS_A_SRCS_C:%.c=o/$(MODE)/%.o)
@ -34,6 +33,7 @@ LIBC_DNS_A_DIRECTDEPS = \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_SOCK \ LIBC_SOCK \
LIBC_STDIO \ LIBC_STDIO \
LIBC_INTRIN \
LIBC_STUBS \ LIBC_STUBS \
LIBC_STR \ LIBC_STR \
LIBC_SYSV \ LIBC_SYSV \

View file

@ -16,7 +16,6 @@ LIBC_ELF_A_SRCS = \
$(LIBC_ELF_A_SRCS_C) $(LIBC_ELF_A_SRCS_C)
LIBC_ELF_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_ELF_A_SRCS_C:%.c=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_HDRS:%=o/$(MODE)/%.ok)
LIBC_ELF_A_DIRECTDEPS = \ LIBC_ELF_A_DIRECTDEPS = \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_STR \ LIBC_STR \
LIBC_STUBS LIBC_STUBS

View file

@ -25,7 +25,6 @@ LIBC_FMT_A_SRCS = \
$(LIBC_FMT_A_SRCS_C) $(LIBC_FMT_A_SRCS_C)
LIBC_FMT_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_FMT_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_FMT_A_SRCS_C:%.c=o/$(MODE)/%.o)
@ -37,6 +36,7 @@ LIBC_FMT_A_DIRECTDEPS = \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \
LIBC_STR \ LIBC_STR \
LIBC_INTRIN \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV \ LIBC_SYSV \
LIBC_TINYMATH \ LIBC_TINYMATH \

View file

@ -16,7 +16,6 @@ LIBC_INTRIN_A_FILES := \
$(wildcard libc/intrin/*) $(wildcard libc/intrin/*)
LIBC_INTRIN_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_INTRIN_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_INTRIN_A_SRCS_C:%.c=o/$(MODE)/%.o)

View file

@ -18,7 +18,6 @@ LIBC_LOG_A_SRCS = \
$(LIBC_LOG_A_SRCS_S) $(LIBC_LOG_A_SRCS_S)
LIBC_LOG_A_OBJS = \ 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_C:%.c=o/$(MODE)/%.o) \
$(LIBC_LOG_A_SRCS_S:%.S=o/$(MODE)/%.o) $(LIBC_LOG_A_SRCS_S:%.S=o/$(MODE)/%.o)
@ -32,6 +31,7 @@ LIBC_LOG_A_DIRECTDEPS = \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_ELF \ LIBC_ELF \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \

View file

@ -17,7 +17,6 @@ LIBC_MATH_A_SRCS = \
$(LIBC_MATH_A_SRCS_C) $(LIBC_MATH_A_SRCS_C)
LIBC_MATH_A_OBJS = \ 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_A:%.s=o/$(MODE)/%.o) \
$(LIBC_MATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_MATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(LIBC_MATH_A_SRCS_C:%.c=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_CHECKS = $(LIBC_MATH_A).pkg
LIBC_MATH_A_DIRECTDEPS = \ LIBC_MATH_A_DIRECTDEPS = \
LIBC_STUBS \ LIBC_INTRIN \
LIBC_NEXGEN32E LIBC_NEXGEN32E \
LIBC_STUBS
LIBC_MATH_A_DEPS := \ LIBC_MATH_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_MATH_A_DIRECTDEPS),$($(x)))) $(call uniq,$(foreach x,$(LIBC_MATH_A_DIRECTDEPS),$($(x))))

View file

@ -20,7 +20,6 @@ LIBC_MEM_A_SRCS = \
$(LIBC_MEM_A_SRCS_C) $(LIBC_MEM_A_SRCS_C)
LIBC_MEM_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_MEM_A_SRCS_C:%.c=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_MEM_A_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \ LIBC_RAND \
LIBC_RUNTIME \ LIBC_RUNTIME \

View file

@ -18,7 +18,6 @@ LIBC_NEXGEN32E_A_SRCS = \
$(LIBC_NEXGEN32E_A_SRCS_C) $(LIBC_NEXGEN32E_A_SRCS_C)
LIBC_NEXGEN32E_A_OBJS = \ 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_A:%.s=o/$(MODE)/%.o) \
$(LIBC_NEXGEN32E_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_NEXGEN32E_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(LIBC_NEXGEN32E_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_NEXGEN32E_A_SRCS_C:%.c=o/$(MODE)/%.o)

View file

@ -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_ARTIFACTS += LIBC_NT_KERNEL32_A
LIBC_NT_KERNEL32 = $(LIBC_NT_KERNEL32_A_DEPS) $(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 = 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_OBJS = $(LIBC_NT_KERNEL32_A_SRCS:%.s=o/$(MODE)/%.o)
LIBC_NT_KERNEL32_A_CHECKS = $(LIBC_NT_KERNEL32_A).pkg LIBC_NT_KERNEL32_A_CHECKS = $(LIBC_NT_KERNEL32_A).pkg
LIBC_NT_KERNEL32_A_DIRECTDEPS = LIBC_STUBS
LIBC_NT_KERNEL32_A_DEPS := \ LIBC_NT_KERNEL32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_KERNEL32_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/advapi32/*.s)
LIBC_NT_ADVAPI32_A_OBJS = $(LIBC_NT_ADVAPI32_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_ADVAPI32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_ADVAPI32_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/comdlg32/*.s)
LIBC_NT_COMDLG32_A_OBJS = $(LIBC_NT_COMDLG32_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_COMDLG32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_COMDLG32_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/gdi32/*.s)
LIBC_NT_GDI32_A_OBJS = $(LIBC_NT_GDI32_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_GDI32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_GDI32_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/KernelBase/*.s)
LIBC_NT_KERNELBASE_A_OBJS = $(LIBC_NT_KERNELBASE_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_KERNELBASE_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_KERNELBASE_A_DIRECTDEPS),$($(x)))) $(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_A:%.s=o/$(MODE)/%.o) \
$(LIBC_NT_NTDLL_A_SRCS_S:%.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_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 := \ LIBC_NT_NTDLL_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_NTDLL_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/netapi32/*.s)
LIBC_NT_NETAPI32_A_OBJS = $(LIBC_NT_NETAPI32_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_NETAPI32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_NETAPI32_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/url/*.s)
LIBC_NT_URL_A_OBJS = $(LIBC_NT_URL_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_URL_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_URL_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/user32/*.s)
LIBC_NT_USER32_A_OBJS = $(LIBC_NT_USER32_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_USER32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_USER32_A_DIRECTDEPS),$($(x)))) $(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_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_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_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 := \ LIBC_NT_WS2_32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_WS2_32_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/MsWSock/*.s)
LIBC_NT_MSWSOCK_A_OBJS = $(LIBC_NT_MSWSOCK_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_MSWSOCK_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_MSWSOCK_A_DIRECTDEPS),$($(x)))) $(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_SRCS := $(wildcard libc/nt/shell32/*.s)
LIBC_NT_SHELL32_A_OBJS = $(LIBC_NT_SHELL32_A_SRCS:%.s=o/$(MODE)/%.o) 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_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 := \ LIBC_NT_SHELL32_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_SHELL32_A_DIRECTDEPS),$($(x)))) $(call uniq,$(foreach x,$(LIBC_NT_SHELL32_A_DIRECTDEPS),$($(x))))
$(LIBC_NT_SHELL32_A): \ $(LIBC_NT_SHELL32_A): \

View file

@ -16,8 +16,7 @@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE. PERFORMANCE OF THIS SOFTWARE.
*/ */
#include "libc/macros.h" .section .text.windows,"ax",@progbits
.text.windows
/ Epilogues for calling functions w/ Microsoft x64 convention. / Epilogues for calling functions w/ Microsoft x64 convention.
/ /
@ -32,18 +31,38 @@
__sysv2nt14: __sysv2nt14:
pushq 72(%rbp) pushq 72(%rbp)
pushq 64(%rbp) pushq 64(%rbp)
.type __sysv2nt14,@function
.size __sysv2nt14,.-__sysv2nt14
.globl __sysv2nt14
.hidden __sysv2nt14
__sysv2nt12: __sysv2nt12:
pushq 56(%rbp) pushq 56(%rbp)
pushq 48(%rbp) pushq 48(%rbp)
.type __sysv2nt12,@function
.size __sysv2nt12,.-__sysv2nt12
.globl __sysv2nt12
.hidden __sysv2nt12
__sysv2nt10: __sysv2nt10:
pushq 40(%rbp) pushq 40(%rbp)
pushq 32(%rbp) pushq 32(%rbp)
.type __sysv2nt10,@function
.size __sysv2nt10,.-__sysv2nt10
.globl __sysv2nt10
.hidden __sysv2nt10
__sysv2nt8: __sysv2nt8:
pushq 24(%rbp) pushq 24(%rbp)
pushq 16(%rbp) pushq 16(%rbp)
.type __sysv2nt8,@function
.size __sysv2nt8,.-__sysv2nt8
.globl __sysv2nt8
.hidden __sysv2nt8
__sysv2nt6: __sysv2nt6:
push %r9 push %r9
push %r8 push %r8
.type __sysv2nt6,@function
.size __sysv2nt6,.-__sysv2nt6
.globl __sysv2nt6
.hidden __sysv2nt6
__sysv2nt: __sysv2nt:
mov %rdx,%r8 mov %rdx,%r8
mov %rcx,%r9 mov %rcx,%r9
@ -53,10 +72,7 @@ __sysv2nt:
call *%rax call *%rax
leave leave
ret ret
.endfn __sysv2nt,globl,hidden .type __sysv2nt,@function
.endfn __sysv2nt6,globl,hidden .size __sysv2nt,.-__sysv2nt
.endfn __sysv2nt8,globl,hidden .globl __sysv2nt
.endfn __sysv2nt10,globl,hidden .hidden __sysv2nt
.endfn __sysv2nt12,globl,hidden
.endfn __sysv2nt14,globl,hidden
.source __FILE__

View file

@ -18,7 +18,6 @@ LIBC_OHMYPLUS_A_SRCS = \
$(LIBC_OHMYPLUS_A_SRCS_CXX) $(LIBC_OHMYPLUS_A_SRCS_CXX)
LIBC_OHMYPLUS_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_OHMYPLUS_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(LIBC_OHMYPLUS_A_SRCS_C:%.c=o/$(MODE)/%.o) \
$(LIBC_OHMYPLUS_A_SRCS_CXX:%.cc=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_OHMYPLUS_A_DIRECTDEPS = \
LIBC_BITS \ LIBC_BITS \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_STUBS LIBC_STUBS \
LIBC_NEXGEN32E
LIBC_OHMYPLUS_A_DEPS := \ LIBC_OHMYPLUS_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_OHMYPLUS_A_DIRECTDEPS),$($(x)))) $(call uniq,$(foreach x,$(LIBC_OHMYPLUS_A_DIRECTDEPS),$($(x))))

View file

@ -16,7 +16,6 @@ LIBC_RAND_A_SRCS = \
$(LIBC_RAND_A_SRCS_C) $(LIBC_RAND_A_SRCS_C)
LIBC_RAND_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_RAND_A_SRCS_C:%.c=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_RAND_A_DIRECTDEPS = \
LIBC_STUBS \ LIBC_STUBS \
LIBC_INTRIN \
LIBC_TINYMATH \ LIBC_TINYMATH \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \

View file

@ -25,7 +25,6 @@ LIBC_RUNTIME_A_SRCS = \
$(LIBC_RUNTIME_A_SRCS_C) $(LIBC_RUNTIME_A_SRCS_C)
LIBC_RUNTIME_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_RUNTIME_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_RUNTIME_A_SRCS_C:%.c=o/$(MODE)/%.o)
@ -37,6 +36,7 @@ LIBC_RUNTIME_A_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_ELF \ LIBC_ELF \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \
LIBC_STR \ LIBC_STR \

View file

@ -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_SRCS = $(filter %.c,$(LIBC_SOCK_A_FILES))
LIBC_SOCK_A_OBJS = \ LIBC_SOCK_A_OBJS = \
$(LIBC_SOCK_A_SRCS:%=o/$(MODE)/%.zip.o) \
$(LIBC_SOCK_A_SRCS:%.c=o/$(MODE)/%.o) $(LIBC_SOCK_A_SRCS:%.c=o/$(MODE)/%.o)
LIBC_SOCK_A_CHECKS = \ LIBC_SOCK_A_CHECKS = \
@ -22,6 +21,7 @@ LIBC_SOCK_A_DIRECTDEPS = \
LIBC_BITS \ LIBC_BITS \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \

View file

@ -16,7 +16,6 @@ LIBC_STDIO_A_SRCS = \
$(LIBC_STDIO_A_SRCS_C) $(LIBC_STDIO_A_SRCS_C)
LIBC_STDIO_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_STDIO_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_STDIO_A_SRCS_C:%.c=o/$(MODE)/%.o)
@ -30,6 +29,7 @@ LIBC_STDIO_A_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \

View file

@ -18,7 +18,6 @@ LIBC_STR_A_SRCS = \
$(LIBC_STR_A_SRCS_C) $(LIBC_STR_A_SRCS_C)
LIBC_STR_A_OBJS = \ 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_A:%.s=o/$(MODE)/%.o) \
$(LIBC_STR_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_STR_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(LIBC_STR_A_SRCS_C:%.c=o/$(MODE)/%.o) $(LIBC_STR_A_SRCS_C:%.c=o/$(MODE)/%.o)

View file

@ -27,7 +27,6 @@ LIBC_STUBS_A_SRCS = \
$(filter %.S,$(LIBC_STUBS_A_FILES)) $(filter %.S,$(LIBC_STUBS_A_FILES))
LIBC_STUBS_A_OBJS = \ LIBC_STUBS_A_OBJS = \
$(LIBC_STUBS_A_SRCS:%=o/$(MODE)/%.zip.o) \
$(LIBC_STUBS_A_SRCS:%.S=o/$(MODE)/%.o) $(LIBC_STUBS_A_SRCS:%.S=o/$(MODE)/%.o)
LIBC_STUBS_A_CHECKS = \ LIBC_STUBS_A_CHECKS = \

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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_CHECKS = $(LIBC_SYSV_A).pkg
LIBC_SYSV_A_DIRECTDEPS = \ LIBC_SYSV_A_DIRECTDEPS = \
LIBC_STUBS LIBC_NEXGEN32E
LIBC_SYSV_A_FILES := \ LIBC_SYSV_A_FILES := \
libc/sysv/macros.internal.h \ libc/sysv/macros.internal.h \
@ -34,7 +34,6 @@ LIBC_SYSV_A_FILES := \
libc/sysv/restorert.S \ libc/sysv/restorert.S \
libc/sysv/syscall.S \ libc/sysv/syscall.S \
libc/sysv/systemfive.S \ libc/sysv/systemfive.S \
$(wildcard libc/sysv/stubs/*) \
$(wildcard libc/sysv/consts/*) \ $(wildcard libc/sysv/consts/*) \
$(wildcard libc/sysv/errfuns/*) $(wildcard libc/sysv/errfuns/*)
@ -44,17 +43,14 @@ LIBC_SYSV_A_SRCS = \
LIBC_SYSV_A_OBJS = \ LIBC_SYSV_A_OBJS = \
$(LIBC_SYSV_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_SYSV_A_SRCS_A:%.s=o/$(MODE)/%.o) \
$(LIBC_SYSV_A_SRCS_S:%.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_DEPS := \ LIBC_SYSV_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_SYSV_A_DIRECTDEPS),$($(x)))) $(call uniq,$(foreach x,$(LIBC_SYSV_A_DIRECTDEPS),$($(x))))
$(LIBC_SYSV_A): libc/sysv/ \ $(LIBC_SYSV_A): libc/sysv/ \
libc/sysv/consts/ \ libc/sysv/consts/ \
libc/sysv/errfuns/ \
$(LIBC_SYSV_A).pkg \ $(LIBC_SYSV_A).pkg \
$(LIBC_SYSV_A_OBJS) $(LIBC_SYSV_A_OBJS)

View file

@ -74,7 +74,6 @@ LIBC_TESTLIB_A_SRCS = \
$(LIBC_TESTLIB_A_SRCS_C) $(LIBC_TESTLIB_A_SRCS_C)
LIBC_TESTLIB_A_OBJS = \ 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_C:%.c=o/$(MODE)/%.o) \
$(LIBC_TESTLIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_TESTLIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(LIBC_TESTLIB_A_ASSETS:%=o/$(MODE)/%.zip.o) $(LIBC_TESTLIB_A_ASSETS:%=o/$(MODE)/%.zip.o)
@ -84,6 +83,7 @@ LIBC_TESTLIB_A_DIRECTDEPS = \
LIBC_ALG \ LIBC_ALG \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
@ -92,10 +92,10 @@ LIBC_TESTLIB_A_DIRECTDEPS = \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STDIO \ LIBC_STDIO \
LIBC_STR \ LIBC_STR \
LIBC_TIME \
LIBC_TINYMATH \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV_CALLS \ LIBC_SYSV_CALLS \
LIBC_TIME \
LIBC_TINYMATH \
LIBC_UNICODE \ LIBC_UNICODE \
LIBC_X \ LIBC_X \
LIBC_ZIPOS \ 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_CHECKS = $(LIBC_TESTLIB_RUNNER_A).pkg
LIBC_TESTLIB_RUNNER_A_OBJS = \ 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_SRCS:%.c=o/$(MODE)/%.o)
LIBC_TESTLIB_RUNNER_A_DIRECTDEPS = \ LIBC_TESTLIB_RUNNER_A_DIRECTDEPS = \
LIBC_FMT \ LIBC_FMT \
LIBC_RUNTIME \ LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \
LIBC_STDIO \ LIBC_STDIO \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \
@ -161,11 +161,11 @@ LIBC_TESTMAIN_SRCS = \
libc/testlib/testmain.c libc/testlib/testmain.c
LIBC_TESTMAIN_OBJS = \ LIBC_TESTMAIN_OBJS = \
$(LIBC_TESTMAIN_SRCS:%=o/$(MODE)/%.zip.o) \
o/$(MODE)/libc/testlib/testmain.o o/$(MODE)/libc/testlib/testmain.o
LIBC_TESTMAIN_DIRECTDEPS = \ LIBC_TESTMAIN_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \

View file

@ -17,7 +17,6 @@ LIBC_TIME_A_SRCS = \
$(LIBC_TIME_A_SRCS_C) $(LIBC_TIME_A_SRCS_C)
LIBC_TIME_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_TIME_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(LIBC_TIME_A_SRCS_C:%.c=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_TIME_A_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_INTRIN \
LIBC_FMT \ LIBC_FMT \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \

View file

@ -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_CHECKS = $(LIBC_TINYMATH_A).pkg
LIBC_TINYMATH_A_OBJS = \ 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_A:%.s=o/$(MODE)/%.o) \
$(LIBC_TINYMATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_TINYMATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(LIBC_TINYMATH_A_SRCS_C:%.c=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_HDRS:%=o/$(MODE)/%.ok)
LIBC_TINYMATH_A_DIRECTDEPS = \ LIBC_TINYMATH_A_DIRECTDEPS = \
LIBC_INTRIN \
LIBC_STUBS \ LIBC_STUBS \
LIBC_NEXGEN32E LIBC_NEXGEN32E

View file

@ -18,7 +18,6 @@ LIBC_UNICODE_A_SRCS = \
$(LIBC_UNICODE_A_SRCS_C) $(LIBC_UNICODE_A_SRCS_C)
LIBC_UNICODE_A_OBJS = \ 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_A:%.s=o/$(MODE)/%.o) \
$(LIBC_UNICODE_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_UNICODE_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(LIBC_UNICODE_A_SRCS_C:%.c=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_HDRS:%=o/$(MODE)/%.ok)
LIBC_UNICODE_A_DIRECTDEPS = \ LIBC_UNICODE_A_DIRECTDEPS = \
LIBC_STUBS \ LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \
LIBC_SYSV LIBC_SYSV
LIBC_UNICODE_A_DEPS := \ LIBC_UNICODE_A_DEPS := \

View file

@ -25,7 +25,6 @@ LIBC_X_A_SRCS = \
$(LIBC_X_A_SRCS_C) $(LIBC_X_A_SRCS_C)
LIBC_X_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_X_A_SRCS_C:%.c=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_X_A_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \

View file

@ -19,7 +19,6 @@ LIBC_ZIPOS_A_SRCS = \
$(LIBC_ZIPOS_A_SRCS_C) $(LIBC_ZIPOS_A_SRCS_C)
LIBC_ZIPOS_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(LIBC_ZIPOS_A_SRCS_C:%.c=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_HDRS:%=o/$(MODE)/%.ok)
LIBC_ZIPOS_A_DIRECTDEPS = \ LIBC_ZIPOS_A_DIRECTDEPS = \
APE_LIB \
LIBC_CALLS \ LIBC_CALLS \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_SYSV \ LIBC_SYSV \
LIBC_STR \ LIBC_STR \
LIBC_INTRIN \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV_CALLS \ LIBC_SYSV_CALLS \
LIBC_NT_KERNEL32 \ LIBC_NT_KERNEL32 \

View file

@ -18,7 +18,6 @@ NET_HTTP_A_SRCS = \
$(NET_HTTP_A_SRCS_R) $(NET_HTTP_A_SRCS_R)
NET_HTTP_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(NET_HTTP_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(NET_HTTP_A_SRCS_C:%.c=o/$(MODE)/%.o) \
$(NET_HTTP_A_SRCS_R:%.rl=o/$(MODE)/%.o) $(NET_HTTP_A_SRCS_R:%.rl=o/$(MODE)/%.o)
@ -31,6 +30,7 @@ NET_HTTP_A_DIRECTDEPS = \
LIBC_ALG \ LIBC_ALG \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_LOG_ASAN \ LIBC_LOG_ASAN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_APE_LIB_SRCS))
TEST_APE_LIB_OBJS = \ TEST_APE_LIB_OBJS = \
$(TEST_APE_LIB_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_APE_LIB_SRCS:%.c=o/$(MODE)/%.o) $(TEST_APE_LIB_SRCS:%.c=o/$(MODE)/%.o)
TEST_APE_LIB_COMS = \ TEST_APE_LIB_COMS = \
@ -26,10 +25,11 @@ TEST_APE_LIB_CHECKS = \
TEST_APE_LIB_DIRECTDEPS = \ TEST_APE_LIB_DIRECTDEPS = \
APE_LIB \ APE_LIB \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_INTRIN \
LIBC_LOG \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STR \ LIBC_STR \
LIBC_LOG \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_X LIBC_X
@ -50,10 +50,6 @@ o/$(MODE)/test/ape/lib/%.com.dbg: \
$(APE) $(APE)
@$(APELINK) @$(APELINK)
# $(TEST_APE_LIB_OBJS): \
# OVERRIDE_CFLAGS += \
# -fsanitize=address
.PHONY: o/$(MODE)/test/ape/lib .PHONY: o/$(MODE)/test/ape/lib
o/$(MODE)/test/ape/lib: $(TEST_APE_LIB_BINS) \ o/$(MODE)/test/ape/lib: $(TEST_APE_LIB_BINS) \
$(TEST_APE_LIB_CHECKS) $(TEST_APE_LIB_CHECKS)

View file

@ -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_BINS = $(TEST_DSP_CORE_COMS) $(TEST_DSP_CORE_COMS:%=%.dbg)
TEST_DSP_CORE_OBJS = \ TEST_DSP_CORE_OBJS = \
$(TEST_DSP_CORE_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_DSP_CORE_SRCS:%.c=o/$(MODE)/%.o) $(TEST_DSP_CORE_SRCS:%.c=o/$(MODE)/%.o)
TEST_DSP_CORE_COMS = \ TEST_DSP_CORE_COMS = \

View file

@ -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_BINS = $(TEST_DSP_SCALE_COMS) $(TEST_DSP_SCALE_COMS:%=%.dbg)
TEST_DSP_SCALE_OBJS = \ TEST_DSP_SCALE_OBJS = \
$(TEST_DSP_SCALE_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_DSP_SCALE_SRCS:%.c=o/$(MODE)/%.o) $(TEST_DSP_SCALE_SRCS:%.c=o/$(MODE)/%.o)
TEST_DSP_SCALE_COMS = \ TEST_DSP_SCALE_COMS = \
@ -23,18 +22,19 @@ TEST_DSP_SCALE_CHECKS = \
TEST_DSP_SCALE_DIRECTDEPS = \ TEST_DSP_SCALE_DIRECTDEPS = \
DSP_CORE \ DSP_CORE \
DSP_SCALE \ DSP_SCALE \
LIBC_TINYMATH \
LIBC_LOG \
LIBC_RUNTIME \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_STDIO \
LIBC_X \
LIBC_RAND \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \
LIBC_RUNTIME \
LIBC_STDIO \
LIBC_STR \ LIBC_STR \
TOOL_VIZ_LIB \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TINYMATH \
LIBC_X \
TOOL_VIZ_LIB \
LIBC_TESTLIB LIBC_TESTLIB
TEST_DSP_SCALE_DEPS := \ TEST_DSP_SCALE_DEPS := \

View file

@ -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_BINS = $(TEST_DSP_TTY_COMS) $(TEST_DSP_TTY_COMS:%=%.dbg)
TEST_DSP_TTY_OBJS = \ TEST_DSP_TTY_OBJS = \
$(TEST_DSP_TTY_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_DSP_TTY_SRCS:%.c=o/$(MODE)/%.o) $(TEST_DSP_TTY_SRCS:%.c=o/$(MODE)/%.o)
TEST_DSP_TTY_COMS = \ TEST_DSP_TTY_COMS = \
@ -22,14 +21,15 @@ TEST_DSP_TTY_CHECKS = \
TEST_DSP_TTY_DIRECTDEPS = \ TEST_DSP_TTY_DIRECTDEPS = \
DSP_TTY \ DSP_TTY \
LIBC_TINYMATH \ LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_RUNTIME \
LIBC_RAND \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \
LIBC_RUNTIME \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TINYMATH \
LIBC_TESTLIB LIBC_TESTLIB
TEST_DSP_TTY_DEPS := \ TEST_DSP_TTY_DEPS := \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_ALG_SRCS))
TEST_LIBC_ALG_OBJS = \ TEST_LIBC_ALG_OBJS = \
$(TEST_LIBC_ALG_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_ALG_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_ALG_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_ALG_COMS = \ TEST_LIBC_ALG_COMS = \
@ -24,14 +23,15 @@ TEST_LIBC_ALG_CHECKS = \
TEST_LIBC_ALG_DIRECTDEPS = \ TEST_LIBC_ALG_DIRECTDEPS = \
LIBC_ALG \ LIBC_ALG \
LIBC_RAND \
LIBC_LOG \
LIBC_STDIO \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STDIO \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV \ LIBC_SYSV \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_BITS_SRCS))
TEST_LIBC_BITS_OBJS = \ TEST_LIBC_BITS_OBJS = \
$(TEST_LIBC_BITS_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_BITS_COMS = \ 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_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
TEST_LIBC_BITS_DIRECTDEPS = \ TEST_LIBC_BITS_DIRECTDEPS = \
LIBC_X \
LIBC_BITS \ LIBC_BITS \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_X \
THIRD_PARTY_COMPILER_RT THIRD_PARTY_COMPILER_RT
TEST_LIBC_BITS_DEPS := \ TEST_LIBC_BITS_DEPS := \

View file

@ -9,7 +9,6 @@ TEST_LIBC_CALLS_SRCS := \
TEST_LIBC_CALLS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_CALLS_SRCS)) TEST_LIBC_CALLS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_CALLS_SRCS))
TEST_LIBC_CALLS_OBJS = \ TEST_LIBC_CALLS_OBJS = \
$(TEST_LIBC_CALLS_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_CALLS_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_CALLS_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_CALLS_COMS = \ TEST_LIBC_CALLS_COMS = \
@ -29,12 +28,13 @@ TEST_LIBC_CALLS_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STR \ LIBC_STR \
LIBC_RAND \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV \ LIBC_SYSV \
LIBC_TESTLIB \ LIBC_TESTLIB \

View file

@ -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_COMS = $(TEST_LIBC_CRYPTO_OBJS:%.o=%.com)
TEST_LIBC_CRYPTO_OBJS = \ TEST_LIBC_CRYPTO_OBJS = \
$(TEST_LIBC_CRYPTO_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_CRYPTO_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_CRYPTO_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_CRYPTO_BINS = \ TEST_LIBC_CRYPTO_BINS = \
@ -23,9 +22,10 @@ TEST_LIBC_CRYPTO_CHECKS = \
TEST_LIBC_CRYPTO_DIRECTDEPS = \ TEST_LIBC_CRYPTO_DIRECTDEPS = \
LIBC_CRYPTO \ LIBC_CRYPTO \
LIBC_RUNTIME \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TESTLIB LIBC_TESTLIB

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_DNS_SRCS))
TEST_LIBC_DNS_OBJS = \ TEST_LIBC_DNS_OBJS = \
$(TEST_LIBC_DNS_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_DNS_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_DNS_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_DNS_COMS = \ TEST_LIBC_DNS_COMS = \
@ -27,6 +26,7 @@ TEST_LIBC_DNS_DIRECTDEPS = \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_DNS \ LIBC_DNS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \

View file

@ -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_TESTS = $(TEST_LIBC_FMT_SRCS_TEST:%.c=o/$(MODE)/%.com.ok)
TEST_LIBC_FMT_OBJS = \ TEST_LIBC_FMT_OBJS = \
$(TEST_LIBC_FMT_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_FMT_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_FMT_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_FMT_COMS = \ TEST_LIBC_FMT_COMS = \
@ -22,11 +21,12 @@ TEST_LIBC_FMT_DIRECTDEPS = \
LIBC_ALG \ LIBC_ALG \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \
LIBC_LOG_ASAN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_LOG \
LIBC_LOG_ASAN \
LIBC_STDIO \ LIBC_STDIO \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_INTRIN_SRCS))
TEST_LIBC_INTRIN_OBJS = \ TEST_LIBC_INTRIN_OBJS = \
$(TEST_LIBC_INTRIN_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_INTRIN_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_INTRIN_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_INTRIN_COMS = \ TEST_LIBC_INTRIN_COMS = \
@ -26,14 +25,14 @@ TEST_LIBC_INTRIN_CHECKS = \
TEST_LIBC_INTRIN_DIRECTDEPS = \ TEST_LIBC_INTRIN_DIRECTDEPS = \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \ LIBC_INTRIN \
LIBC_LOG \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \ LIBC_RAND \
LIBC_LOG \ LIBC_RUNTIME \
LIBC_STUBS \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_TINYMATH \ LIBC_TINYMATH \
LIBC_RUNTIME \
LIBC_X \ LIBC_X \
TOOL_VIZ_LIB TOOL_VIZ_LIB

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_MATH_SRCS))
TEST_LIBC_MATH_OBJS = \ TEST_LIBC_MATH_OBJS = \
$(TEST_LIBC_MATH_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_MATH_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_MATH_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_MATH_COMS = \ TEST_LIBC_MATH_COMS = \
@ -25,8 +24,10 @@ TEST_LIBC_MATH_CHECKS = \
TEST_LIBC_MATH_DIRECTDEPS = \ TEST_LIBC_MATH_DIRECTDEPS = \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MATH \ LIBC_MATH \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TESTLIB \ LIBC_TESTLIB \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_MEM_SRCS))
TEST_LIBC_MEM_OBJS = \ TEST_LIBC_MEM_OBJS = \
$(TEST_LIBC_MEM_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_MEM_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_MEM_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_MEM_COMS = \ 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_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
TEST_LIBC_MEM_DIRECTDEPS = \ TEST_LIBC_MEM_DIRECTDEPS = \
LIBC_MEM \
LIBC_CALLS \ LIBC_CALLS \
LIBC_STUBS \
LIBC_NEXGEN32E \
LIBC_SYSV \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \
LIBC_NEXGEN32E \
LIBC_RAND \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STDIO \ LIBC_STDIO \
LIBC_RAND \ LIBC_STUBS \
LIBC_SYSV \
LIBC_TESTLIB LIBC_TESTLIB
TEST_LIBC_MEM_DEPS := \ TEST_LIBC_MEM_DEPS := \

View file

@ -9,7 +9,6 @@ TEST_LIBC_NEXGEN32E_SRCS_TEST = \
$(filter %_test.c,$(TEST_LIBC_NEXGEN32E_SRCS)) $(filter %_test.c,$(TEST_LIBC_NEXGEN32E_SRCS))
TEST_LIBC_NEXGEN32E_OBJS = \ TEST_LIBC_NEXGEN32E_OBJS = \
$(TEST_LIBC_NEXGEN32E_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_NEXGEN32E_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_NEXGEN32E_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_NEXGEN32E_COMS = \ TEST_LIBC_NEXGEN32E_COMS = \
@ -30,16 +29,17 @@ TEST_LIBC_NEXGEN32E_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_STDIO \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \ LIBC_RAND \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STUBS \ LIBC_STDIO \
LIBC_STR \ LIBC_STR \
LIBC_UNICODE \ LIBC_STUBS \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_UNICODE \
LIBC_X \ LIBC_X \
TOOL_VIZ_LIB TOOL_VIZ_LIB

View file

@ -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_BINS = $(TEST_LIBC_RAND_COMS) $(TEST_LIBC_RAND_COMS:%=%.dbg)
TEST_LIBC_RAND_OBJS = \ TEST_LIBC_RAND_OBJS = \
$(TEST_LIBC_RAND_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_RAND_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_RAND_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_RAND_COMS = \ TEST_LIBC_RAND_COMS = \
@ -22,6 +21,7 @@ TEST_LIBC_RAND_CHECKS = \
TEST_LIBC_RAND_DIRECTDEPS = \ TEST_LIBC_RAND_DIRECTDEPS = \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \ LIBC_RAND \
LIBC_RUNTIME \ LIBC_RUNTIME \

View file

@ -1,7 +1,11 @@
int main() { int main() {
int rc;
FILE *f; FILE *f;
f = fopen("/dev/null", "w"); f = fopen("/dev/null", "w");
fprintf(f, "hello world\n"); fprintf(f, "hello world\n");
fclose(f); fclose(f);
rc = system("exit 42");
CHECK_NE(-1, rc);
CHECK_EQ(42, WEXITSTATUS(rc));
return 0; return 0;
} }

View file

@ -7,9 +7,13 @@ o/$(MODE)/test/libc/release/cosmopolitan.zip: \
o/$(MODE)/libc/crt/crt.o \ o/$(MODE)/libc/crt/crt.o \
o/$(MODE)/ape/ape.o \ o/$(MODE)/ape/ape.o \
o/$(MODE)/cosmopolitan.a o/$(MODE)/cosmopolitan.a
zip -j $@ $^ @zip -j $@ $^
o/$(MODE)/test/libc/release/smoke.com: \ 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 \ test/libc/release/smoke.c \
o/cosmopolitan.h \ o/cosmopolitan.h \
o/$(MODE)/ape/ape.lds \ o/$(MODE)/ape/ape.lds \
@ -26,7 +30,6 @@ o/$(MODE)/test/libc/release/smoke.com: \
-nostdinc \ -nostdinc \
-mno-red-zone \ -mno-red-zone \
-Wl,--gc-sections \ -Wl,--gc-sections \
-Wl,--oformat=binary \
-Wl,-z,max-page-size=0x1000 \ -Wl,-z,max-page-size=0x1000 \
-Wl,-T,o/$(MODE)/ape/ape.lds \ -Wl,-T,o/$(MODE)/ape/ape.lds \
-include o/cosmopolitan.h \ -include o/cosmopolitan.h \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_RUNTIME_SRCS))
TEST_LIBC_RUNTIME_OBJS = \ TEST_LIBC_RUNTIME_OBJS = \
$(TEST_LIBC_RUNTIME_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_RUNTIME_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_RUNTIME_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_RUNTIME_COMS = \ TEST_LIBC_RUNTIME_COMS = \
@ -28,18 +27,19 @@ TEST_LIBC_RUNTIME_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \
LIBC_LOG_ASAN \
LIBC_MEM \ LIBC_MEM \
LIBC_TINYMATH \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RAND \ LIBC_RAND \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STDIO \ LIBC_STDIO \
LIBC_LOG \
LIBC_LOG_ASAN \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV \ LIBC_SYSV \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_TINYMATH \
LIBC_X \ LIBC_X \
THIRD_PARTY_XED THIRD_PARTY_XED

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_SOCK_SRCS))
TEST_LIBC_SOCK_OBJS = \ TEST_LIBC_SOCK_OBJS = \
$(TEST_LIBC_SOCK_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_SOCK_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_SOCK_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_SOCK_COMS = \ TEST_LIBC_SOCK_COMS = \
@ -26,11 +25,12 @@ TEST_LIBC_SOCK_CHECKS = \
TEST_LIBC_SOCK_DIRECTDEPS = \ TEST_LIBC_SOCK_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_STDIO \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_SOCK \ LIBC_SOCK \
LIBC_STDIO \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV \ LIBC_SYSV \
LIBC_TESTLIB \ LIBC_TESTLIB \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_STDIO_SRCS))
TEST_LIBC_STDIO_OBJS = \ TEST_LIBC_STDIO_OBJS = \
$(TEST_LIBC_STDIO_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_STDIO_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_STDIO_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_STDIO_COMS = \ TEST_LIBC_STDIO_COMS = \
@ -28,6 +27,8 @@ TEST_LIBC_STDIO_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STDIO \ LIBC_STDIO \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_STR_SRCS))
TEST_LIBC_STR_OBJS = \ TEST_LIBC_STR_OBJS = \
$(TEST_LIBC_STR_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_STR_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_STR_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_STR_COMS = \ 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_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
TEST_LIBC_STR_DIRECTDEPS = \ TEST_LIBC_STR_DIRECTDEPS = \
LIBC_CALLS_HEFTY \
LIBC_ALG \ LIBC_ALG \
LIBC_FMT \
LIBC_NEXGEN32E \
LIBC_STDIO \
LIBC_MEM \
LIBC_RUNTIME \
LIBC_STR \
LIBC_RAND \
LIBC_UNICODE \
LIBC_CALLS \ 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_STUBS \
LIBC_SYSV \ LIBC_SYSV \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_LOG \ LIBC_UNICODE \
LIBC_X \ LIBC_X \
LIBC_ZIPOS \ LIBC_ZIPOS \
THIRD_PARTY_REGEX \ THIRD_PARTY_REGEX \

View file

@ -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_BINS = $(TEST_LIBC_TIME_COMS) $(TEST_LIBC_TIME_COMS:%=%.dbg)
TEST_LIBC_TIME_OBJS = \ TEST_LIBC_TIME_OBJS = \
$(TEST_LIBC_TIME_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_TIME_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_TIME_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_TIME_COMS = \ TEST_LIBC_TIME_COMS = \
@ -21,12 +20,13 @@ TEST_LIBC_TIME_CHECKS = \
TEST_LIBC_TIME_DIRECTDEPS = \ TEST_LIBC_TIME_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_INTRIN \
LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV \ LIBC_SYSV \
LIBC_LOG \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_TIME \ LIBC_TIME \
LIBC_X LIBC_X

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_TINYMATH_SRCS))
TEST_LIBC_TINYMATH_OBJS = \ TEST_LIBC_TINYMATH_OBJS = \
$(TEST_LIBC_TINYMATH_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_TINYMATH_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_TINYMATH_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_TINYMATH_COMS = \ TEST_LIBC_TINYMATH_COMS = \
@ -26,12 +25,13 @@ TEST_LIBC_TINYMATH_CHECKS = \
TEST_LIBC_TINYMATH_DIRECTDEPS = \ TEST_LIBC_TINYMATH_DIRECTDEPS = \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_TINYMATH \ LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_RUNTIME \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_TINYMATH \
LIBC_X LIBC_X
TEST_LIBC_TINYMATH_DEPS := \ TEST_LIBC_TINYMATH_DEPS := \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_UNICODE_SRCS))
TEST_LIBC_UNICODE_OBJS = \ TEST_LIBC_UNICODE_OBJS = \
$(TEST_LIBC_UNICODE_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_UNICODE_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_UNICODE_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_UNICODE_COMS = \ 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_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
TEST_LIBC_UNICODE_DIRECTDEPS = \ TEST_LIBC_UNICODE_DIRECTDEPS = \
LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_X_SRCS))
TEST_LIBC_X_OBJS = \ TEST_LIBC_X_OBJS = \
$(TEST_LIBC_X_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_X_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_X_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_X_COMS = \ TEST_LIBC_X_COMS = \
@ -26,14 +25,15 @@ TEST_LIBC_X_CHECKS = \
TEST_LIBC_X_DIRECTDEPS = \ TEST_LIBC_X_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_STDIO \
LIBC_STR \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_X \ LIBC_STDIO \
LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_X \
THIRD_PARTY_GDTOA THIRD_PARTY_GDTOA
TEST_LIBC_X_DEPS := \ TEST_LIBC_X_DEPS := \

View file

@ -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_SRCS = $(filter %_lib.c,$(TEST_LIBC_XED_FILES))
TEST_LIBC_XED_TESTLIB_A_OBJS = \ 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_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_XED_TESTLIB_A_DIRECTDEPS = \ TEST_LIBC_XED_TESTLIB_A_DIRECTDEPS = \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
@ -53,7 +53,6 @@ PKGS += TEST_LIBC_XED
TEST_LIBC_XED_SRCS = $(filter %_test.c,$(TEST_LIBC_XED_FILES)) TEST_LIBC_XED_SRCS = $(filter %_test.c,$(TEST_LIBC_XED_FILES))
TEST_LIBC_XED_OBJS = \ TEST_LIBC_XED_OBJS = \
$(TEST_LIBC_XED_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_LIBC_XED_SRCS:%.c=o/$(MODE)/%.o) $(TEST_LIBC_XED_SRCS:%.c=o/$(MODE)/%.o)
TEST_LIBC_XED_COMS = \ TEST_LIBC_XED_COMS = \
@ -71,6 +70,7 @@ TEST_LIBC_XED_CHECKS = \
TEST_LIBC_XED_DIRECTDEPS = \ TEST_LIBC_XED_DIRECTDEPS = \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \

View file

@ -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_BINS = $(TEST_NET_HTTP_COMS) $(TEST_NET_HTTP_COMS:%=%.dbg)
TEST_NET_HTTP_OBJS = \ TEST_NET_HTTP_OBJS = \
$(TEST_NET_HTTP_SRCS:%=o/$(MODE)/%.zip.o) \
$(TEST_NET_HTTP_SRCS:%.c=o/$(MODE)/%.o) $(TEST_NET_HTTP_SRCS:%.c=o/$(MODE)/%.o)
TEST_NET_HTTP_COMS = \ TEST_NET_HTTP_COMS = \

View file

@ -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_COMS = $(TEST_TOOL_BUILD_LIB_OBJS:%.o=%.com)
TEST_TOOL_BUILD_LIB_OBJS = \ 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_SRCS:%.c=o/$(MODE)/%.o)
TEST_TOOL_BUILD_LIB_COMS = \ 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_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
TEST_TOOL_BUILD_LIB_DIRECTDEPS = \ TEST_TOOL_BUILD_LIB_DIRECTDEPS = \
LIBC_X \
LIBC_CALLS \ LIBC_CALLS \
LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_FMT \
LIBC_STR \
LIBC_STDIO \ LIBC_STDIO \
LIBC_LOG \ LIBC_STR \
LIBC_SYSV \
LIBC_STUBS \ LIBC_STUBS \
LIBC_UNICODE \ LIBC_SYSV \
LIBC_TESTLIB \ LIBC_TESTLIB \
TOOL_BUILD_LIB \ LIBC_UNICODE \
LIBC_X \
THIRD_PARTY_COMPILER_RT \ THIRD_PARTY_COMPILER_RT \
TOOL_BUILD_LIB \
THIRD_PARTY_XED THIRD_PARTY_XED
TEST_TOOL_BUILD_LIB_DEPS := \ TEST_TOOL_BUILD_LIB_DEPS := \

View file

@ -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_SRCS_TEST = $(filter %_test.c,$(TEST_TOOL_VIZ_LIB_SRCS))
TEST_TOOL_VIZ_LIB_OBJS = \ 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_SRCS:%.c=o/$(MODE)/%.o)
TEST_TOOL_VIZ_LIB_COMS = \ TEST_TOOL_VIZ_LIB_COMS = \
@ -25,19 +24,20 @@ TEST_TOOL_VIZ_LIB_CHECKS = \
TEST_TOOL_VIZ_LIB_DIRECTDEPS = \ TEST_TOOL_VIZ_LIB_DIRECTDEPS = \
DSP_MPEG \ DSP_MPEG \
LIBC_ALG \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \ LIBC_LOG \
LIBC_UNICODE \
LIBC_TIME \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \
LIBC_ALG \
LIBC_RAND \ LIBC_RAND \
LIBC_RUNTIME \
LIBC_STDIO \ LIBC_STDIO \
LIBC_STUBS \ LIBC_STUBS \
LIBC_TINYMATH \
LIBC_TESTLIB \ LIBC_TESTLIB \
LIBC_TIME \
LIBC_TINYMATH \
LIBC_UNICODE \
LIBC_X \ LIBC_X \
TOOL_VIZ_LIB TOOL_VIZ_LIB

View file

@ -16,7 +16,6 @@ THIRD_PARTY_BLAS_A_SRCS = \
$(THIRD_PARTY_BLAS_A_SRCS_C) $(THIRD_PARTY_BLAS_A_SRCS_C)
THIRD_PARTY_BLAS_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(THIRD_PARTY_BLAS_A_SRCS_C:%.c=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_HDRS:%=o/$(MODE)/%.ok)
THIRD_PARTY_BLAS_A_DIRECTDEPS = \ THIRD_PARTY_BLAS_A_DIRECTDEPS = \
LIBC_STUBS \ LIBC_INTRIN \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_STUBS \
THIRD_PARTY_F2C THIRD_PARTY_F2C
THIRD_PARTY_BLAS_A_DEPS := \ THIRD_PARTY_BLAS_A_DEPS := \

View file

@ -37,10 +37,8 @@ THIRD_PARTY_CHIBICC_BINS = \
o/$(MODE)/third_party/chibicc/chibicc2.com o/$(MODE)/third_party/chibicc/chibicc2.com
THIRD_PARTY_CHIBICC_A_OBJS = \ 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_CHIBICC_A_SRCS:%.c=o/$(MODE)/%.o)
THIRD_PARTY_CHIBICC2_A_OBJS = \ 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_SRCS:%.c=o/$(MODE)/%.chibicc.o)
THIRD_PARTY_CHIBICC_A_CHECKS = \ THIRD_PARTY_CHIBICC_A_CHECKS = \
@ -54,21 +52,22 @@ THIRD_PARTY_CHIBICC_A_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_CALLS_HEFTY \ LIBC_CALLS_HEFTY \
LIBC_FMT \ LIBC_FMT \
LIBC_INTRIN \
LIBC_LOG \
LIBC_LOG \ LIBC_LOG \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \
LIBC_STDIO \ LIBC_STDIO \
LIBC_LOG \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \ LIBC_STUBS \
LIBC_SYSV \
LIBC_TIME \ LIBC_TIME \
LIBC_UNICODE \ LIBC_UNICODE \
LIBC_SYSV \
LIBC_X \ LIBC_X \
TOOL_BUILD_LIB \
THIRD_PARTY_COMPILER_RT \ THIRD_PARTY_COMPILER_RT \
THIRD_PARTY_DLMALLOC \ THIRD_PARTY_DLMALLOC \
TOOL_BUILD_LIB \
THIRD_PARTY_GDTOA THIRD_PARTY_GDTOA
THIRD_PARTY_CHIBICC_A_DEPS := \ THIRD_PARTY_CHIBICC_A_DEPS := \

View file

@ -25,11 +25,9 @@ THIRD_PARTY_CHIBICC_TEST_COMS = \
$(THIRD_PARTY_CHIBICC_TEST_SRCS_TEST:%.c=o/$(MODE)/%2.com) $(THIRD_PARTY_CHIBICC_TEST_SRCS_TEST:%.c=o/$(MODE)/%2.com)
THIRD_PARTY_CHIBICC_TEST_OBJS = \ 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_TEST_SRCS:%.c=o/$(MODE)/%.chibicc.o)
THIRD_PARTY_CHIBICC_TEST2_OBJS = \ 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_SRCS:%.c=o/$(MODE)/%.chibicc2.o)
THIRD_PARTY_CHIBICC_TEST_BINS = \ 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_HDRS:%=o/$(MODE)/%.ok)
THIRD_PARTY_CHIBICC_TEST_DIRECTDEPS = \ THIRD_PARTY_CHIBICC_TEST_DIRECTDEPS = \
LIBC_RUNTIME \
LIBC_FMT \ LIBC_FMT \
LIBC_STR \ LIBC_INTRIN \
LIBC_STDIO \
LIBC_STUBS \
LIBC_NEXGEN32E \
LIBC_UNICODE \
LIBC_MEM \ LIBC_MEM \
LIBC_NEXGEN32E \
LIBC_RUNTIME \
LIBC_STDIO \
LIBC_STR \
LIBC_STUBS \
LIBC_TINYMATH \ LIBC_TINYMATH \
LIBC_UNICODE \
LIBC_X \ LIBC_X \
THIRD_PARTY_CHIBICC \ THIRD_PARTY_CHIBICC \
THIRD_PARTY_COMPILER_RT THIRD_PARTY_COMPILER_RT

View file

@ -18,7 +18,6 @@ THIRD_PARTY_COMPILER_RT_A_SRCS = \
$(THIRD_PARTY_COMPILER_RT_A_SRCS_C) $(THIRD_PARTY_COMPILER_RT_A_SRCS_C)
THIRD_PARTY_COMPILER_RT_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(THIRD_PARTY_COMPILER_RT_A_SRCS_C:%.c=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_HDRS:%=o/$(MODE)/%.ok)
THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS = \ THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS = \
LIBC_TINYMATH \ LIBC_INTRIN \
LIBC_STUBS LIBC_NEXGEN32E \
LIBC_STUBS \
LIBC_TINYMATH
THIRD_PARTY_COMPILER_RT_A_DEPS := \ THIRD_PARTY_COMPILER_RT_A_DEPS := \
$(call uniq,$(foreach x,$(THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS),$($(x)))) $(call uniq,$(foreach x,$(THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS),$($(x))))

View file

@ -16,7 +16,6 @@ THIRD_PARTY_DLMALLOC_A_SRCS = \
$(THIRD_PARTY_DLMALLOC_A_SRCS_C) $(THIRD_PARTY_DLMALLOC_A_SRCS_C)
THIRD_PARTY_DLMALLOC_A_OBJS = \ 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_S:%.S=o/$(MODE)/%.o) \
$(THIRD_PARTY_DLMALLOC_A_SRCS_C:%.c=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 = \ THIRD_PARTY_DLMALLOC_A_DIRECTDEPS = \
LIBC_BITS \ LIBC_BITS \
LIBC_CALLS \ LIBC_CALLS \
LIBC_INTRIN \
LIBC_FMT \ LIBC_FMT \
LIBC_NEXGEN32E \ LIBC_NEXGEN32E \
LIBC_RUNTIME \ LIBC_RUNTIME \

View file

@ -18,7 +18,6 @@ THIRD_PARTY_DUKTAPE_A_SRCS = \
$(THIRD_PARTY_DUKTAPE_A_SRCS_C) $(THIRD_PARTY_DUKTAPE_A_SRCS_C)
THIRD_PARTY_DUKTAPE_A_OBJS = \ 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_A:%.s=o/$(MODE)/%.o) \
$(THIRD_PARTY_DUKTAPE_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_DUKTAPE_A_SRCS_S:%.S=o/$(MODE)/%.o) \
$(THIRD_PARTY_DUKTAPE_A_SRCS_C:%.c=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 = \ THIRD_PARTY_DUKTAPE_A_DIRECTDEPS = \
LIBC_CALLS \ LIBC_CALLS \
LIBC_STUBS \
LIBC_FMT \ LIBC_FMT \
LIBC_TIME \ LIBC_INTRIN \
LIBC_MEM \ LIBC_MEM \
LIBC_STR \ LIBC_STR \
LIBC_STUBS \
LIBC_TIME \
LIBC_TINYMATH \ LIBC_TINYMATH \
LIBC_UNICODE \ LIBC_UNICODE \
LIBC_NEXGEN32E LIBC_NEXGEN32E

Some files were not shown because too many files have changed in this diff Show more