summaryrefslogtreecommitdiff
path: root/libc/sysdeps
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2010-07-01 10:28:46 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2010-07-06 18:33:22 +0200
commit9381d622e2411a35a5fd73a5a573eb269e2dd9c9 (patch)
tree84b4bcad496368d6ce9875451e5adcc9c6138560 /libc/sysdeps
parenteaae6e6776ad091a5b84c3fb09f26ff01bda2f18 (diff)
nptl: fix buildsys
Now automatically picks the correct (arch and subarch specific) impls in favour of generic impls. make O=/tmp/objs PREFIX=/my/sysroot -j works now as expected (both out-of-tree as well as parallel-safe). Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps')
-rw-r--r--libc/sysdeps/linux/Makefile.commonarch6
-rw-r--r--libc/sysdeps/linux/arm/Makefile.arch5
-rw-r--r--libc/sysdeps/linux/common/Makefile.in3
3 files changed, 7 insertions, 7 deletions
diff --git a/libc/sysdeps/linux/Makefile.commonarch b/libc/sysdeps/linux/Makefile.commonarch
index fe391d848..4e4815949 100644
--- a/libc/sysdeps/linux/Makefile.commonarch
+++ b/libc/sysdeps/linux/Makefile.commonarch
@@ -10,10 +10,10 @@ ARCH_OUT := $(top_builddir)libc/sysdeps/linux/$(TARGET_ARCH)
ARCH_CSRC := $(patsubst %.c,$(ARCH_DIR)/%.c,$(CSRC))
ARCH_COBJ := $(patsubst %.c,$(ARCH_OUT)/%.o,$(CSRC))
-ARCH_SSRC := $(patsubst %.s,$(ARCH_DIR)/%.s,$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC)))
-ARCH_SOBJ := $(patsubst %.s,$(ARCH_OUT)/%.o,$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC)))
+ARCH_SSRC = $(patsubst %.s,$(ARCH_DIR)/%.s,$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC)))
+ARCH_SOBJ = $(patsubst %.s,$(ARCH_OUT)/%.o,$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC)))
-ARCH_OBJS := $(ARCH_COBJ) $(ARCH_SOBJ)
+ARCH_OBJS = $(ARCH_COBJ) $(ARCH_SOBJ)
crt-y := FORCE
libc-y += $(ARCH_OBJS)
diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch
index bec06ff44..b53c539bf 100644
--- a/libc/sysdeps/linux/arm/Makefile.arch
+++ b/libc/sysdeps/linux/arm/Makefile.arch
@@ -13,12 +13,11 @@ endif
SSRC := \
__longjmp.S setjmp.S bsd-setjmp.S \
- bsd-_setjmp.S sigrestorer.S mmap64.S
+ bsd-_setjmp.S sigrestorer.S mmap64.S \
+ vfork.S clone.S
ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
SSRC += libc-aeabi_read_tp.S libc-thumb_atomics.S
-else
-SSRC += vfork.S clone.S
endif
ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index 6f833cec4..4f0a72c09 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -99,7 +99,8 @@ CSRC := $(filter-out vfork.c,$(CSRC))
endif
# provided via pthreads builddir
-CSRC := $(filter-out $(libc_a_CSRC) $(libc_a_SSRC:.S=.c),$(CSRC))
+CSRC := $(filter-out $(libc_a_CSRC) $(notdir $(libpthread_libc_OBJS:.o=.c)),$(CSRC))
+SSRC := $(filter-out $(libc_a_SSRC) $(notdir $(libpthread_libc_OBJS:.o=.S)),$(SSRC))
# fails for some reason
ifneq ($(strip $(ARCH_OBJS)),)