|
@@ -0,0 +1,60 @@
|
|
|
+From 6579597083e608f5a66fe8a898d113c2588e2c8f Mon Sep 17 00:00:00 2001
|
|
|
+From: Waldemar Brodkorb <wbx@openadk.org>
|
|
|
+Date: Wed, 7 Dec 2016 07:59:34 +0100
|
|
|
+Subject: [PATCH] xtensa: fix static linking
|
|
|
+
|
|
|
+uClibc-ng 1.0.20 fixed static linking with "libdl" by adding all libdl functions
|
|
|
+into the libc. On xtensa, though, libdl contains an unresolved reference that is
|
|
|
+satisfied by the ld.so - which is not a part of the linking in a static case.
|
|
|
+
|
|
|
+Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
+Acked-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
|
+---
|
|
|
+ libpthread/nptl/sysdeps/Makefile.commonarch | 5 +++--
|
|
|
+ libpthread/nptl/sysdeps/xtensa/Makefile.arch | 2 +-
|
|
|
+ libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S | 1 +
|
|
|
+ 3 files changed, 5 insertions(+), 3 deletions(-)
|
|
|
+ create mode 100644 libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S
|
|
|
+
|
|
|
+diff --git a/libpthread/nptl/sysdeps/Makefile.commonarch b/libpthread/nptl/sysdeps/Makefile.commonarch
|
|
|
+index c206ac9..134eade 100644
|
|
|
+--- a/libpthread/nptl/sysdeps/Makefile.commonarch
|
|
|
++++ b/libpthread/nptl/sysdeps/Makefile.commonarch
|
|
|
+@@ -32,10 +32,11 @@ libpthread_arch_SOBJ = $(patsubst %.S,$(libpthread_arch_OUT)/%.o,$(libpthread_ar
|
|
|
+ libpthread_arch_OBJS = $(libpthread_subarch_OBJS) $(libpthread_arch_COBJ) $(libpthread_arch_SOBJ)
|
|
|
+
|
|
|
+ libc_arch_COBJ = $(patsubst %.c,$(libpthread_arch_OUT)/%.o,$(libc_arch_CSRC))
|
|
|
+-libc_arch_SOBJ = $(patsubst %.c,$(libpthread_arch_OUT)/%.o,$(libc_arch_SSRC))
|
|
|
++libc_arch_SOBJ = $(patsubst %.S,$(libpthread_arch_OUT)/%.o,$(libc_arch_SSRC))
|
|
|
+ libc_arch_OBJS = $(libc_arch_COBJ) $(libc_arch_SOBJ)
|
|
|
+ libc_arch_a_COBJ = $(patsubst %.c,$(libpthread_arch_OUT)/%.o,$(libc_arch_a_CSRC))
|
|
|
+-libc_arch_a_OBJS = $(libc_arch_a_COBJ)
|
|
|
++libc_arch_a_SOBJ = $(patsubst %.S,$(libpthread_arch_OUT)/%.o,$(libc_arch_a_SSRC))
|
|
|
++libc_arch_a_OBJS = $(libc_arch_a_COBJ) $(libc_arch_a_SOBJ)
|
|
|
+
|
|
|
+ librt_arch_COBJ = $(patsubst %.c,$(libpthread_arch_OUT)/%.o,$(librt_arch_CSRC))
|
|
|
+ librt_arch_SOBJ = $(patsubst %.S,$(libpthread_arch_OUT)/%.o,$(librt_arch_SSRC))
|
|
|
+diff --git a/libpthread/nptl/sysdeps/xtensa/Makefile.arch b/libpthread/nptl/sysdeps/xtensa/Makefile.arch
|
|
|
+index 9e63b19..642e4ba 100644
|
|
|
+--- a/libpthread/nptl/sysdeps/xtensa/Makefile.arch
|
|
|
++++ b/libpthread/nptl/sysdeps/xtensa/Makefile.arch
|
|
|
+@@ -20,7 +20,7 @@ ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
|
|
|
+ ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
|
|
|
+
|
|
|
+ libc_arch_a_CSRC = libc-tls.c
|
|
|
+-librt_arch_a_SSRC = dl-tlsdesc.S
|
|
|
++libc_arch_a_SSRC = libc-dl-tlsdesc.S
|
|
|
+
|
|
|
+ CFLAGS-gen_tlsdesc.c = -S
|
|
|
+ $(libpthread_arch_OUT)/gen_tlsdesc.c: $(libpthread_arch_DIR)/tlsdesc.sym | $(libpthread_arch_OUT)
|
|
|
+diff --git a/libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S b/libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S
|
|
|
+new file mode 100644
|
|
|
+index 0000000..39da7c2
|
|
|
+--- /dev/null
|
|
|
++++ b/libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S
|
|
|
+@@ -0,0 +1 @@
|
|
|
++#include <ldso/ldso/xtensa/dl-tlsdesc.S>
|
|
|
+--
|
|
|
+2.1.4
|
|
|
+
|