summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2005-11-03 21:23:07 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2005-11-03 21:23:07 +0000
commitec2261ba97cc523230aed37979d81092e4b11f14 (patch)
treef971ffb4564f6a75772d21f05fa25936ccad5e5d
parent48e47d2f49bc42e23a95f3c4830db912a1304388 (diff)
Last bits for IMA, now everything can be built w/ DOMULTI=y on gcc-3.4.4 with my config (no locale, the rest enabled). Not tested if libc is complete and usable. All the files listed in *_NO_MULTI need love, best would be to replace all multisources w/ single sources.
-rw-r--r--libc/Makefile.in2
-rw-r--r--libc/misc/ctype/Makefile.in1
-rw-r--r--libc/misc/ftw/Makefile.in7
-rw-r--r--libc/misc/locale/Makefile.in5
-rw-r--r--libc/misc/time/Makefile.in7
-rw-r--r--libc/stdio/Makefile.in26
-rw-r--r--libc/stdlib/Makefile.in7
-rw-r--r--libc/string/sparc/Makefile.arch3
-rw-r--r--libc/string/x86_64/Makefile.arch3
-rw-r--r--libc/sysdeps/linux/alpha/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/arm/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/common/Makefile.in1
-rw-r--r--libc/sysdeps/linux/cris/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/i386/Makefile.arch1
-rw-r--r--libc/sysdeps/linux/mips/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/powerpc/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/sh/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/sparc/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/x86_64/Makefile.arch4
19 files changed, 53 insertions, 42 deletions
diff --git a/libc/Makefile.in b/libc/Makefile.in
index 88b61819a..3d9e52830 100644
--- a/libc/Makefile.in
+++ b/libc/Makefile.in
@@ -6,8 +6,6 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-DOMULTI=n
-
# we have SHARED_MAJORNAME=libc.so.$(MAJOR_VERSION) defined in Rules.mak
LIB_NAME:=libc
diff --git a/libc/misc/ctype/Makefile.in b/libc/misc/ctype/Makefile.in
index 8b67514be..0999d8334 100644
--- a/libc/misc/ctype/Makefile.in
+++ b/libc/misc/ctype/Makefile.in
@@ -30,7 +30,6 @@ MISC_CTYPE_MSRC:=$(MISC_CTYPE_DIR)/$(MSRC)
MISC_CTYPE_MOBJ:=$(patsubst %.o,$(MISC_CTYPE_OUT)/%.o,$(MOBJ))
MISC_CTYPE_MOBJx=$(patsubst %.o,$(MISC_CTYPE_OUT)/%.o,$(MOBJx))
-# adapt this if MOBJx is done for multi
MISC_CTYPE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_CTYPE_MOBJ))))
$(MISC_CTYPE_MOBJ): $(MISC_CTYPE_MSRC)
diff --git a/libc/misc/ftw/Makefile.in b/libc/misc/ftw/Makefile.in
index 20b8b0e3b..c2cabfa0e 100644
--- a/libc/misc/ftw/Makefile.in
+++ b/libc/misc/ftw/Makefile.in
@@ -11,16 +11,13 @@ MOBJ:=ftw.o ftw64.o
MISC_FTW_DIR:=$(top_srcdir)libc/misc/ftw
MISC_FTW_OUT:=$(top_builddir)libc/misc/ftw
-ifneq ($(DOMULTI),n)
# ftw.c has to be rewritten to allow multi
MISC_FTW_NO_MULTI:=ftw64.o
-MOBJ:=$(filter-out $(MISC_FTW_NO_MULTI),$(MOBJ))
-endif
MISC_FTW_MSRC:=$(MISC_FTW_DIR)/$(MSRC)
MISC_FTW_MOBJ:=$(patsubst %.o,$(MISC_FTW_OUT)/%.o,$(MOBJ))
-MISC_FTW_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_FTW_MOBJ))))
+MISC_FTW_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(filter-out $(MISC_FTW_NO_MULTI),$(notdir $(MISC_FTW_MOBJ)))))
MISC_FTW_OBJS:=$(MISC_FTW_MOBJ)
@@ -35,7 +32,7 @@ libc-so-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_OBJS:.o=.os)
CFLAGS-multi-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_DEF)
libc-multi-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_MSRC)
-libc-nomulti-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_OUT)/$(MISC_FTW_NO_MULTI)
+libc-nomulti-$(UCLIBC_HAS_FTW)+=$(patsubst %.o,$(MISC_FTW_OUT)/%.o,$(MISC_FTW_NO_MULTI))
objclean-y+=misc_ftw_objclean
diff --git a/libc/misc/locale/Makefile.in b/libc/misc/locale/Makefile.in
index 2cdd70609..5f363ac65 100644
--- a/libc/misc/locale/Makefile.in
+++ b/libc/misc/locale/Makefile.in
@@ -23,6 +23,8 @@ ifeq ($(UCLIBC_HAS_LOCALE),y)
DATA:=locale_data.o
endif
+MISC_LOCALE_NO_MULTI=localeconv.o
+
MISC_LOCALE_DIR:=$(top_srcdir)libc/misc/locale
MISC_LOCALE_OUT:=$(top_builddir)libc/misc/locale
@@ -31,7 +33,7 @@ MISC_LOCALE_MOBJ:=$(patsubst %.o,$(MISC_LOCALE_OUT)/%.o,$(MOBJ))
MISC_LOCALE_MOBJx=$(patsubst %.o,$(MISC_LOCALE_OUT)/%.o,$(MOBJx))
MISC_LOCALE_DATA=$(patsubst %.o,$(MISC_LOCALE_OUT)/%.o,$(DATA))
-MISC_LOCALE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_LOCALE_MOBJ))))
+MISC_LOCALE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(filter-out $(MISC_LOCALE_NO_MULTI),$(notdir $(MISC_LOCALE_MOBJ)))))
$(MISC_LOCALE_MOBJ): $(MISC_LOCALE_MSRC)
$(compile.m)
@@ -60,6 +62,7 @@ libc-so-$(UCLIBC_HAS_XLOCALE)+=$(MISC_LOCALE_MOBJx:.o=.os)
CFLAGS-multi-y+=$(MISC_LOCALE_DEF)
libc-multi-y+=$(MISC_LOCALE_MSRC)
+libc-nomulti-y+=$(patsubst %.o,$(MISC_LOCALE_OUT)/%.o,$(MISC_LOCALE_NO_MULTI))
libc-nomulti-$(UCLIBC_HAS_LOCALE)+=$(MISC_LOCALE_DATA)
libc-nomulti-$(UCLIBC_HAS_XLOCALE)+=$(MISC_LOCALE_MOBJx)
diff --git a/libc/misc/time/Makefile.in b/libc/misc/time/Makefile.in
index 1588bed0e..64cbfe253 100644
--- a/libc/misc/time/Makefile.in
+++ b/libc/misc/time/Makefile.in
@@ -32,10 +32,7 @@ CSRC:=adjtime.c ftime.c
MISC_TIME_DIR:=$(top_srcdir)libc/misc/time
MISC_TIME_OUT:=$(top_builddir)libc/misc/time
-ifndef ($(DOMULTI),n)
-MISC_TIME_NO_MULTI:=strftime.o
-MOBJ:=$(filter-out $(MISC_TIME_NO_MULTI),$(MOBJ))
-endif
+MISC_TIME_NO_MULTI:=strftime.o mktime.o strptime.o gmtime.o localtime.o asctime.o asctime_r.o gmtime_r.o localtime_r.o
MISC_TIME_SRC:=$(patsubst %.c,$(MISC_TIME_DIR)/%.c,$(CSRC))
MISC_TIME_OBJ:=$(patsubst %.c,$(MISC_TIME_OUT)/%.o,$(CSRC))
@@ -44,7 +41,7 @@ MISC_TIME_MSRC:=$(patsubst %.c,$(MISC_TIME_DIR)/%.c,$(MSRC))
MISC_TIME_MOBJ:=$(patsubst %.o,$(MISC_TIME_OUT)/%.o,$(MOBJ))
MISC_TIME_MOBJx=$(patsubst %.o,$(MISC_TIME_OUT)/%.o,$(MOBJx))
-MISC_TIME_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_TIME_MOBJ))))
+MISC_TIME_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(filter-out $(MISC_TIME_NO_MULTI),$(notdir $(MISC_TIME_MOBJ)))))
MISC_TIME_OBJS:=$(MISC_TIME_OBJ) $(MISC_TIME_MOBJ)
diff --git a/libc/stdio/Makefile.in b/libc/stdio/Makefile.in
index e6a8f6673..1f6438f60 100644
--- a/libc/stdio/Makefile.in
+++ b/libc/stdio/Makefile.in
@@ -83,6 +83,14 @@ endif
CSRC+=$(CUSRC) $(CWSRC)
+ifneq ($(DOMULTI),n)
+STDIO_CSRC_NO_MULTI:=fwrite.c fputc.c fputs.c fprintf.c _fpmaxtostr.c
+CSRC:=$(filter-out $(STDIO_CSRC_NO_MULTI),$(CSRC))
+endif
+STDIO_MOBJ1_NO_MULTI:=vfprintf.o vfwprintf.o register_printf_function.o
+STDIO_MOBJ2_NO_MULTI:=vfscanf.o vfwscanf.o fscanf.o
+STDIO_MOBJ_NO_MULTI:=$(STDIO_MOBJ1_NO_MULTI) $(STDIO_MOBJ2_NO_MULTI)
+
STDIO_DIR:=$(top_srcdir)libc/stdio
STDIO_OUT:=$(top_builddir)libc/stdio
@@ -101,11 +109,11 @@ STDIO_MOBJ2:=$(patsubst %.o,$(STDIO_OUT)/%.o,$(MOBJ2))
STDIO_MSRC:=$(STDIO_MSRC1) $(STDIO_MSRC2)
STDIO_MOBJ:=$(STDIO_MOBJ1) $(STDIO_MOBJ2)
-#STDIO_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STDIO_MOBJ))))
+STDIO_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(filter-out $(STDIO_MOBJ_NO_MULTI),$(notdir $(STDIO_MOBJ)))))
STDIO_OBJS:=$(STDIO_OBJ) $(STDIO_MOBJ) $(STDIO_CUOBJ) $(STDIO_CLOBJ)
-#STDIO_NO_MULTI:=$(STDIO_CUOBJ) $(STDIO_CLOBJ)
+STDIO_NO_MULTI:=$(STDIO_CUOBJ) $(STDIO_CLOBJ)
# these need special handling or rewrite to support multi-build
# CUOBJ
@@ -117,12 +125,13 @@ STDIO_OBJS:=$(STDIO_OBJ) $(STDIO_MOBJ) $(STDIO_CUOBJ) $(STDIO_CLOBJ)
# need this, else the other %64 files will get false rules
$(STDIO_CLSRC): $(STDIO_OUT)/%64.c : $(STDIO_DIR)/%.c
+ cp $< $@
$(STDIO_CLOBJ): %.o : %.c
- $(compile.c:64.c=.c) -D__DO_LARGEFILE
+ $(compile.c) -D__DO_LARGEFILE
$(STDIO_CLOBJ:.o=.os): %.os : %.c
- $(compile.c:64.c=.c) -D__DO_LARGEFILE
+ $(compile.c) -D__DO_LARGEFILE
$(STDIO_MOBJ1): $(STDIO_MSRC1)
$(compile.m)
@@ -139,10 +148,11 @@ $(STDIO_MOBJ2:.o=.os): $(STDIO_MSRC2)
libc-a-y+=$(STDIO_OBJS)
libc-so-y+=$(STDIO_OBJS:.o=.os)
-#CFLAGS-multi-y+=$(STDIO_DEF)
-#libc-multi-y+=$(STDIO_SRC) $(STDIO_MSRC)
-#libc-nomulti-y+=$(STDIO_NO_MULTI)
-libc-nomulti-y+=$(STDIO_OBJS)
+CFLAGS-multi-y+=$(STDIO_DEF)
+libc-multi-y+=$(STDIO_SRC) $(STDIO_MSRC)
+libc-nomulti-y+=$(STDIO_NO_MULTI)
+libc-nomulti-y+=$(patsubst %.c,$(STDIO_OUT)/%.o,$(STDIO_CSRC_NO_MULTI))
+libc-nomulti-y+=$(patsubst %.o,$(STDIO_OUT)/%.o,$(STDIO_MOBJ_NO_MULTI))
objclean-y+=stdio_objclean
diff --git a/libc/stdlib/Makefile.in b/libc/stdlib/Makefile.in
index b81114de8..52527e1e5 100644
--- a/libc/stdlib/Makefile.in
+++ b/libc/stdlib/Makefile.in
@@ -67,6 +67,10 @@ ifeq ($(UCLIBC_HAS_FLOATS),y)
CSRC+=drand48.c drand48_r.c erand48.c erand48_r.c
endif
+STDLIB_MOBJ1_NO_MULTI:=_stdlib_strto_l.o _stdlib_strto_ll.o
+STDLIB_MOBJ2_NO_MULTI:=strtod.o strtof.o __strtofpmax.o
+STDLIB_MOBJ_NO_MULTI:=$(STDLIB_MOBJ1_NO_MULTI) $(STDLIB_MOBJ2_NO_MULTI)
+
STDLIB_DIR:=$(top_srcdir)libc/stdlib
STDLIB_OUT:=$(top_builddir)libc/stdlib
@@ -85,7 +89,7 @@ STDLIB_MOBJ2x:=$(patsubst %.o,$(STDLIB_OUT)/%.o,$(MOBJ2x))
STDLIB_MSRC:=$(STDLIB_MSRC1) $(STDLIB_MSRC2) $(STDLIB_MSRC3)
STDLIB_MOBJ:=$(STDLIB_MOBJ1) $(STDLIB_MOBJ2) $(STDLIB_MOBJ3)
-STDLIB_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STDLIB_MOBJ))))
+STDLIB_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(filter-out $(STDLIB_MOBJ_NO_MULTI),$(notdir $(STDLIB_MOBJ)))))
STDLIB_MOBJx:=$(STDLIB_MOBJ1x) $(STDLIB_MOBJ2x)
@@ -129,6 +133,7 @@ libc-nonshared-y+=$(STDLIB_OUT)/atexit.os
CFLAGS-multi-y+=$(STDLIB_DEF)
libc-multi-y+=$(STDLIB_SRC) $(STDLIB_MSRC)
+libc-nomulti-y+=$(patsubst %.o,$(STDLIB_OUT)/%.o,$(STDLIB_MOBJ_NO_MULTI))
libc-nomulti-$(UCLIBC_HAS_XLOCALE)+=$(STDLIB_MOBJx)
objclean-y+=stdlib_objclean
diff --git a/libc/string/sparc/Makefile.arch b/libc/string/sparc/Makefile.arch
index 726140c1b..1acd93ad9 100644
--- a/libc/string/sparc/Makefile.arch
+++ b/libc/string/sparc/Makefile.arch
@@ -19,7 +19,8 @@ STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ) $(STRING_ARCH_SOBJ)
libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
-libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC) $(STRING_ARCH_SSRC)
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC)
+libc-nomulti-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SOBJ)
objclean-y+=string_arch_objclean
diff --git a/libc/string/x86_64/Makefile.arch b/libc/string/x86_64/Makefile.arch
index 914eab55c..56e5a5165 100644
--- a/libc/string/x86_64/Makefile.arch
+++ b/libc/string/x86_64/Makefile.arch
@@ -19,7 +19,8 @@ STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ) $(STRING_ARCH_SOBJ)
libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
-libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC) $(STRING_ARCH_SSRC)
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC)
+libc-nomulti-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SOBJ)
objclean-y+=string_x86_64_objclean
diff --git a/libc/sysdeps/linux/alpha/Makefile.arch b/libc/sysdeps/linux/alpha/Makefile.arch
index 4b9c45037..7022f636a 100644
--- a/libc/sysdeps/linux/alpha/Makefile.arch
+++ b/libc/sysdeps/linux/alpha/Makefile.arch
@@ -23,8 +23,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch
index e44b145f9..dfea3b72f 100644
--- a/libc/sysdeps/linux/arm/Makefile.arch
+++ b/libc/sysdeps/linux/arm/Makefile.arch
@@ -23,8 +23,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index 26560e84d..b287d5de9 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -18,7 +18,6 @@ COMMON_SSP:=ssp.c ssp-local.c
# full list
#COMMON_NO_MULTI:=getcwd.c getrlimit.c getrlimit64.c setrlimit.c setrlimit64.c getpriority.c getpriority64.c setpriority.c getrusage.c wait4.c getitimer.c setitimer.c open.c open64.c uname.c __syscall_fcntl.c __syscall_fcntl64.c
-#COMMON_NO_MULTI:=getcwd.c getrlimit.c getrlimit64.c setrlimit.c setrlimit64.c getpriority.c setpriority.c getrusage.c wait4.c getitimer.c setitimer.c open.c uname.c __syscall_fcntl.c __syscall_rt_sigaction.c
COMMON_NO_MULTI:=getrlimit.c getrlimit64.c setrlimit.c setrlimit64.c getpriority.c setpriority.c getrusage.c getitimer.c setitimer.c uname.c __syscall_rt_sigaction.c
ifneq ($(UCLIBC_HAS_SSP),y)
diff --git a/libc/sysdeps/linux/cris/Makefile.arch b/libc/sysdeps/linux/cris/Makefile.arch
index 321ea3478..f7bb743af 100644
--- a/libc/sysdeps/linux/cris/Makefile.arch
+++ b/libc/sysdeps/linux/cris/Makefile.arch
@@ -25,8 +25,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/i386/Makefile.arch b/libc/sysdeps/linux/i386/Makefile.arch
index dff7e4407..a5c969bce 100644
--- a/libc/sysdeps/linux/i386/Makefile.arch
+++ b/libc/sysdeps/linux/i386/Makefile.arch
@@ -25,6 +25,7 @@ libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/mips/Makefile.arch b/libc/sysdeps/linux/mips/Makefile.arch
index 5878aa708..792ac5340 100644
--- a/libc/sysdeps/linux/mips/Makefile.arch
+++ b/libc/sysdeps/linux/mips/Makefile.arch
@@ -25,8 +25,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/powerpc/Makefile.arch b/libc/sysdeps/linux/powerpc/Makefile.arch
index f0c5d9f02..d3ee147c1 100644
--- a/libc/sysdeps/linux/powerpc/Makefile.arch
+++ b/libc/sysdeps/linux/powerpc/Makefile.arch
@@ -23,8 +23,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/sh/Makefile.arch b/libc/sysdeps/linux/sh/Makefile.arch
index 686361772..e3a9fd936 100644
--- a/libc/sysdeps/linux/sh/Makefile.arch
+++ b/libc/sysdeps/linux/sh/Makefile.arch
@@ -23,8 +23,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/sparc/Makefile.arch b/libc/sysdeps/linux/sparc/Makefile.arch
index c446653b2..b7899b1cd 100644
--- a/libc/sysdeps/linux/sparc/Makefile.arch
+++ b/libc/sysdeps/linux/sparc/Makefile.arch
@@ -23,8 +23,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean
diff --git a/libc/sysdeps/linux/x86_64/Makefile.arch b/libc/sysdeps/linux/x86_64/Makefile.arch
index 6752c275d..5ba47ce2e 100644
--- a/libc/sysdeps/linux/x86_64/Makefile.arch
+++ b/libc/sysdeps/linux/x86_64/Makefile.arch
@@ -23,8 +23,8 @@ crt-y:=create
libc-a-y+=$(ARCH_OBJS)
libc-so-y+=$(ARCH_OBJS:.o=.os)
-#libc-multi-y+=$(ARCH_CSRC)
-libc-nomulti-y+=$(ARCH_OBJS)
+libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_SOBJ)
objclean-y+=arch_objclean