summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--toolchain/uClibc/patches/190-install_tls.patch12
-rw-r--r--toolchain/uClibc/patches/200-libpthread_static.patch11
2 files changed, 23 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches/190-install_tls.patch b/toolchain/uClibc/patches/190-install_tls.patch
new file mode 100644
index 000000000..74d403265
--- /dev/null
+++ b/toolchain/uClibc/patches/190-install_tls.patch
@@ -0,0 +1,12 @@
+--- a/libpthread/linuxthreads/Makefile.in
++++ b/libpthread/linuxthreads/Makefile.in
+@@ -128,7 +128,9 @@ linuxthreads_headers:
+ $(Q)$(LN) -sf ../$(PTDIR)/sysdeps/pthread/pthread.h $(top_builddir)include/
+ $(Q)$(LN) -sf ../$(PTDIR)/semaphore.h $(top_builddir)include/
+ $(Q)$(INSTALL) -d $(top_builddir)include/bits
++ $(Q)$(INSTALL) -d $(top_builddir)include/sys
+ $(Q)$(LN) -sf ../../$(PTDIR)/sysdeps/pthread/bits/pthreadtypes.h $(top_builddir)include/bits/
++ $(Q)$(LN) -sf ../../$(PTDIR)/sysdeps/$(TARGET_ARCH)/tls.h $(top_builddir)include/sys/
+
+ linuxthreads_headers_clean:
+ $(RM) $(top_builddir)include/pthread.h $(top_builddir)include/semaphore.h \
diff --git a/toolchain/uClibc/patches/200-libpthread_static.patch b/toolchain/uClibc/patches/200-libpthread_static.patch
new file mode 100644
index 000000000..269370d07
--- /dev/null
+++ b/toolchain/uClibc/patches/200-libpthread_static.patch
@@ -0,0 +1,11 @@
+--- a/libpthread/linuxthreads/Makefile.in
++++ b/libpthread/linuxthreads/Makefile.in
+@@ -65,7 +65,7 @@ CFLAGS-OMIT-libc_pthread_init.c := $(CFL
+ libpthread_libc_CSRC := \
+ forward.c libc-cancellation.c libc_pthread_init.c # alloca_cutoff.c
+ libpthread_libc_OBJ := $(patsubst %.c, $(libpthread_OUT)/%.o,$(libpthread_libc_CSRC))
+-libc-static-y += $(libpthread_OUT)/libc_pthread_init.o
++libc-static-y += $(libpthread_OUT)/libc_pthread_init.o $(libpthread_OUT)/libc-cancellation.o
+ libc-shared-y += $(libpthread_libc_OBJ:.o=.oS)
+
+ libpthread-static-y += $(patsubst %,$(libpthread_OUT)/%.o,$(libpthread_static_SRC))