From 9381d622e2411a35a5fd73a5a573eb269e2dd9c9 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 1 Jul 2010 10:28:46 +0200 Subject: 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 --- libc/sysdeps/linux/Makefile.commonarch | 6 +++--- libc/sysdeps/linux/arm/Makefile.arch | 5 ++--- libc/sysdeps/linux/common/Makefile.in | 3 ++- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'libc/sysdeps') 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)),) -- cgit v1.2.3