mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 05:42:29 +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
|
@ -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 \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue