]> Git Repo - uclibc-ng.git/commitdiff
xtensa: fix static linking
authorWaldemar Brodkorb <[email protected]>
Wed, 7 Dec 2016 06:59:34 +0000 (07:59 +0100)
committerWaldemar Brodkorb <[email protected]>
Sat, 10 Dec 2016 14:14:29 +0000 (15:14 +0100)
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 <[email protected]>
Acked-by: Max Filippov <[email protected]>
libpthread/nptl/sysdeps/Makefile.commonarch
libpthread/nptl/sysdeps/xtensa/Makefile.arch
libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S [new file with mode: 0644]

index c206ac90bfcd6315a527a558038869a46ffc4eed..134eade89ee2fe48e96ed9495f3b7b27059be171 100644 (file)
@@ -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))
index 9e63b1944686968b4b5bc83eb8667031cdd380d2..642e4ba3efda7bda891aaeddb7818a9fc706824c 100644 (file)
@@ -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 (file)
index 0000000..39da7c2
--- /dev/null
@@ -0,0 +1 @@
+#include <ldso/ldso/xtensa/dl-tlsdesc.S>
This page took 0.026432 seconds and 4 git commands to generate.