summaryrefslogtreecommitdiffstats
path: root/libpthread
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread')
-rw-r--r--libpthread/nptl/Makefile.in46
-rw-r--r--libpthread/nptl/sysdeps/generic/Makefile.in3
-rw-r--r--libpthread/nptl/sysdeps/pthread/Makefile.in8
-rw-r--r--libpthread/nptl/sysdeps/sh/Makefile.arch8
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in26
-rw-r--r--libpthread/nptl_db/Makefile.in8
6 files changed, 58 insertions, 41 deletions
diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in
index 4e1db3dcc..48ca3412d 100644
--- a/libpthread/nptl/Makefile.in
+++ b/libpthread/nptl/Makefile.in
@@ -209,7 +209,7 @@ else
LDFLAGS-libpthread.so := $(LDFLAGS)
endif
-LDFLAGS-libpthread.so += $(top_builddir)lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so $(top_builddir)lib/libdl-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+LDFLAGS-libpthread.so += $(top_builddir)lib/ld-uClibc-$(VERSION).so $(top_builddir)lib/libdl-$(VERSION).so
LIBS-libpthread.so := $(LIBS)
@@ -218,7 +218,7 @@ START_FILE-libpthread.so := $(top_builddir)/libpthread/nptl/sysdeps/pthread/crti
END_FILE-libpthread.so := $(SHARED_END_FILES) $(top_builddir)/libpthread/nptl/sysdeps/pthread/crtn.o
endif
-libpthread_FULL_NAME := libpthread-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+libpthread_FULL_NAME := libpthread-$(VERSION).so
PTHREAD_DIR := $(top_srcdir)libpthread/nptl
PTHREAD_OUT := $(top_builddir)libpthread/nptl
@@ -287,29 +287,39 @@ endif
CFLAGS-pthread-errnos.c = -S
$(PTHREAD_OUT)/pthread-errnos.c: $(PTHREAD_DIR)/pthread-errnos.sym
- awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
$(PTHREAD_OUT)/pthread-errnos.s: $(PTHREAD_OUT)/pthread-errnos.c
$(compile.c)
$(PTHREAD_OUT)/pthread-errnos.h: $(PTHREAD_OUT)/pthread-errnos.s
- @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_OUT)/pthread-errnos.h
-
-nptl_headers_bootstrap:
+ @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
+
+
+headers-$(UCLIBC_HAS_THREADS_NATIVE) += nptl_headers_bootstrap
+
+include/pthread.h:
+ $(do_ln) ../$(PTDIR)/sysdeps/pthread/$(@F) $(top_builddir)$@
+include/semaphore.h:
+ $(do_ln) ../$(PTDIR)/$(@F) $(top_builddir)$@
+include/bits/semaphore.h: | include/bits
+ $(do_ln) ../../$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/$(@F) $(top_builddir)$@
+include/bits/pthreadtypes.h: | include/bits
+ $(do_ln) ../../$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/$(@F) $(top_builddir)$@
+include/bits/libc-lock.h: | include/bits
+ $(do_ln) ../../$(PTDIR)/sysdeps/pthread/bits/$(@F) $(top_builddir)$@
+include/bits/stdio-lock.h: | include/bits
+ $(do_ln) ../../$(PTDIR)/sysdeps/pthread/bits/$(@F) $(top_builddir)$@
+$(PTDIR)/banner.h:
@sed 's/\(.*\)/"\1\\n"/' $(PTDIR)/Banner > $(PTDIR)/banner.h
+$(PTDIR)/version.h:
@echo "#define VERSION \""$(VERSION)"\"" > $(PTDIR)/version.h
- $(LN) -sf ../$(PTDIR)/sysdeps/pthread/pthread.h $(top_builddir)include/
- $(LN) -sf ../$(PTDIR)/semaphore.h $(top_builddir)include/
- $(INSTALL) -d $(top_builddir)include/bits
- $(LN) -sf ../../$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/semaphore.h $(top_builddir)include/bits/
- $(LN) -sf ../../$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/pthreadtypes.h $(top_builddir)include/bits/
- $(LN) -sf ../../$(PTDIR)/sysdeps/pthread/bits/libc-lock.h $(top_builddir)include/bits/
- $(LN) -sf ../../$(PTDIR)/sysdeps/pthread/bits/stdio-lock.h $(top_builddir)include/bits/
-
-nptl_headers:
-ifeq ($(shell $(CC) --help >& /dev/null && echo yes),yes)
- $(MAKE) $(PTHREAD_OUT)/pthread-errnos.h
-endif
+
+nptl_headers_bootstrap: include/pthread.h include/semaphore.h include/bits/semaphore.h include/bits/pthreadtypes.h \
+ include/bits/libc-lock.h include/bits/stdio-lock.h \
+ $(PTDIR)/banner.h $(PTDIR)/version.h
+
+nptl_headers: $(PTHREAD_OUT)/pthread-errnos.h
nptl_headers_clean:
$(RM) $(PTDIR)/banner.h $(top_builddir)include/pthread.h \
diff --git a/libpthread/nptl/sysdeps/generic/Makefile.in b/libpthread/nptl/sysdeps/generic/Makefile.in
index 79af336d2..87115570d 100644
--- a/libpthread/nptl/sysdeps/generic/Makefile.in
+++ b/libpthread/nptl/sysdeps/generic/Makefile.in
@@ -10,9 +10,8 @@
# their architecture specific directory which will override
# the one here.
#
-libc_a_CSRC = dl-support.c dl-tls.c libc-tls.c
+libc_a_CSRC = dl-tls.c libc-tls.c
-CFLAGS-dl-support.c = -D_GNU_SOURCE
CFLAGS-generic = $(SSP_ALL_CFLAGS)
#CFLAGS:=$(CFLAGS:-O1=-O2)
diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in
index 068316b96..59076006d 100644
--- a/libpthread/nptl/sysdeps/pthread/Makefile.in
+++ b/libpthread/nptl/sysdeps/pthread/Makefile.in
@@ -18,7 +18,8 @@ libpthread_CSRC = pthread_barrier_wait.c pthread_cond_broadcast.c \
pthread_rwlock_wrlock.c pthread_sigmask.c \
pthread_spin_destroy.c pthread_spin_init.c \
pthread_spin_unlock.c pt-sigfillset.c \
- unwind-forcedunwind.c pt-longjmp.c
+ pt-longjmp.c
+
ifeq ($(TARGET_ARCH),i386)
libpthread_CSRC += pthread_once.c
@@ -68,7 +69,7 @@ CFLAGS-pt-sigfillset.c = $(CFLAGS-pt-common) -DIS_IN_libpthread=1 \
-I$(top_srcdir)libc/signal
CFLAGS-pt-sigprocmask.c = $(CFLAGS-pt-common) -DIS_IN_libpthread=1 \
-I$(top_srcdir)libc/sysdeps/linux/common
-CFLAGS-unwind-forcedunwind.c = $(CFLAGS-pt-common) -DIS_IN_libpthread=1
+CFLAGS-unwind-forcedunwind.c = $(CFLAGS-pt-common) -DIS_IN_libpthread=1 -fexceptions -fasynchronous-unwind-tables
CFLAGS-librt-cancellation.c = -DIS_IN_librt=1 $(CFLAGS-pt-common) \
-fexceptions -fasynchronous-unwind-tables
CFLAGS-rt-unwind-resume.c = -DIS_IN_librt=1 $(CFLAGS-pt-common) \
@@ -84,7 +85,8 @@ pthread_OBJ = $(patsubst %.c, $(pthread_OUT)/%.o, $(libpthread_CSRC))
libpthread-a-y += $(pthread_OBJ)
libpthread-so-y += $(pthread_OBJ:.o=.oS)
-libpthread-so-y += $(pthread_OUT)/pt-sigaction.oS $(pthread_OUT)/pt-sigprocmask.oS
+libpthread-so-y += $(pthread_OUT)/pt-sigaction.oS $(pthread_OUT)/pt-sigprocmask.oS \
+ $(pthread_OUT)/unwind-forcedunwind.oS
CFLAGS-sigaction.c = -I$(top_srcdir)libc/signal
libc-y += $(pthread_OUT)/sigaction.o
diff --git a/libpthread/nptl/sysdeps/sh/Makefile.arch b/libpthread/nptl/sysdeps/sh/Makefile.arch
index f0669dc3d..84385bd36 100644
--- a/libpthread/nptl/sysdeps/sh/Makefile.arch
+++ b/libpthread/nptl/sysdeps/sh/Makefile.arch
@@ -35,13 +35,15 @@ headers_clean-y += nptl_arch_headers_clean
CFLAGS-tcb-offsets.c = -S
$(PTHREAD_ARCH_OUT)/tcb-offsets.c: $(PTHREAD_ARCH_DIR)/tcb-offsets.sym
- awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
$(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
$(compile.c)
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
- @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
+ @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
+
+nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
nptl_arch_headers_clean:
$(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c \
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in
index 842452856..06ef1a77f 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in
@@ -138,16 +138,16 @@ CFLAGS-lowlevelrwlock.c = -S
CFLAGS-unwindbuf.c = -S
$(PTHREAD_LINUX_OUT)/lowlevelbarrier.c: $(PTHREAD_LINUX_DIR)/lowlevelbarrier.sym
- awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
$(PTHREAD_LINUX_OUT)/lowlevelcond.c: $(PTHREAD_LINUX_DIR)/lowlevelcond.sym
- awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
$(PTHREAD_LINUX_OUT)/lowlevelrwlock.c: $(PTHREAD_LINUX_DIR)/lowlevelrwlock.sym
- awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
$(PTHREAD_LINUX_OUT)/unwindbuf.c: $(PTHREAD_LINUX_DIR)/unwindbuf.sym
- awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
$(PTHREAD_LINUX_OUT)/lowlevelbarrier.s: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.c
$(compile.c)
@@ -176,15 +176,17 @@ $(PTHREAD_LINUX_OUT)/unwindbuf.h: $(PTHREAD_LINUX_OUT)/unwindbuf.s
$(PTHREAD_LINUX_DIR)/pt-sleep.c:
$(LN) -s sleep.c $@
-nptl_linux_headers:
- $(MAKE) $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h
- $(MAKE) $(PTHREAD_LINUX_OUT)/lowlevelcond.h
- $(MAKE) $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h
- $(MAKE) $(PTHREAD_LINUX_OUT)/unwindbuf.h
-
-nptl_linux_headers_bootstrap:
- $(LN) -sf ../../$(PTHREAD_LINUX_DIR)/bits/local_lim.h $(top_builddir)include/bits
+nptl_linux_headers: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \
+ $(PTHREAD_LINUX_OUT)/lowlevelcond.h \
+ $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h \
+ $(PTHREAD_LINUX_OUT)/unwindbuf.h
+
+HEADERS_BITS_PTHREAD := $(notdir $(wildcard $(PTHREAD_LINUX_DIR)/bits/*.h))
+ALL_HEADERS_BITS_PTHREAD := $(addprefix include/bits/,$(HEADERS_BITS_PTHREAD))
+$(ALL_HEADERS_BITS_PTHREAD):
+ $(do_ln) ../../$(PTHREAD_LINUX_DIR)/bits/$(@F) $(top_builddir)$@
+
nptl_linux_headers_clean:
$(RM) $(PTHREAD_LINUX_OUT)/lowlevelbarrier.{c,h,s} \
$(RM) $(PTHREAD_LINUX_OUT)/lowlevelcond.{c,h,s} \
diff --git a/libpthread/nptl_db/Makefile.in b/libpthread/nptl_db/Makefile.in
index 18503339c..0b1ac3b87 100644
--- a/libpthread/nptl_db/Makefile.in
+++ b/libpthread/nptl_db/Makefile.in
@@ -14,7 +14,7 @@ LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) -s --warn-unresolved-symbols
LIBS-libthread_db.so := $(LIBS)
-libthread_db_FULL_NAME := libthread_db-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+libthread_db_FULL_NAME := libthread_db-$(VERSION).so
libthread_db_DIR := $(top_srcdir)libpthread/nptl_db
libthread_db_OUT := $(top_builddir)libpthread/nptl_db
@@ -57,8 +57,10 @@ $(top_builddir)lib/libthread_db.a: $(libthread_db-a-y)
$(do_strip)
$(do_ar)
-nptl_db_headers:
- $(LN) -sf ../$(PTDIR)_db/thread_db.h $(top_builddir)include/
+include/thread_db.h:
+ $(do_ln) ../$(PTDIR)_db/$(@F) $(top_builddir)$@
+
+nptl_db_headers: include/thread_db.h
nptl_db_headers_clean:
$(RM) $(top_builddir)include/thread_db.h