diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2016-12-07 07:59:34 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2016-12-10 15:14:29 +0100 |
commit | 6579597083e608f5a66fe8a898d113c2588e2c8f (patch) | |
tree | 9b1bb6fb3003eb5dbe717b0606ce2e9e90c15453 /libpthread | |
parent | 569914be2e968a1bda8b4982ca97c1524635174e (diff) |
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>
Diffstat (limited to 'libpthread')
-rw-r--r-- | libpthread/nptl/sysdeps/Makefile.commonarch | 5 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/xtensa/Makefile.arch | 2 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S | 1 |
3 files changed, 5 insertions, 3 deletions
diff --git a/libpthread/nptl/sysdeps/Makefile.commonarch b/libpthread/nptl/sysdeps/Makefile.commonarch index c206ac90b..134eade89 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 9e63b1944..642e4ba3e 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 000000000..39da7c27e --- /dev/null +++ b/libpthread/nptl/sysdeps/xtensa/libc-dl-tlsdesc.S @@ -0,0 +1 @@ +#include <ldso/ldso/xtensa/dl-tlsdesc.S> |