diff options
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux/arm')
4 files changed, 10 insertions, 3 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch index a82f8c8be..c5852818d 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch @@ -9,7 +9,7 @@ libpthread_SSRC = pt-vfork.S libpthread_CSRC = pthread_once.c lowlevellock.c \ pt-__syscall_rt_sigaction.c pt-__syscall_error.c -libc_a_CSRC = fork.c +libc_a_CSRC = fork.c lowlevellock.c libc_a_SSRC = clone.S vfork.S ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.c index 60ccf7700..8c8955e05 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.c +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.c @@ -21,6 +21,7 @@ #include <sysdep.h> #include <lowlevellock.h> #include <sys/time.h> +#include <tls.h> void __lll_lock_wait_private (int *futex) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c index e19facfb8..d095d3083 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c @@ -21,6 +21,9 @@ #include <stdio.h> #include <unwind.h> #include <pthreadP.h> +#define __libc_dlopen(x) dlopen(x, (RTLD_LOCAL | RTLD_LAZY)) +#define __libc_dlsym dlsym +#define __libc_dlclose dlclose static void *libgcc_s_handle; static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); @@ -59,7 +62,7 @@ pthread_cancel_init (void) == NULL || (getcfa = __libc_dlsym (handle, "_Unwind_GetCFA")) == NULL ) - __libc_fatal ("libgcc_s.so.1 must be installed for pthread_cancel to work\n"); + fprintf(stderr, "libgcc_s.so.1 must be installed for pthread_cancel to work\n"); libgcc_s_resume = resume; libgcc_s_personality = personality; diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c index 8dcfd34b1..bf0348ac2 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c @@ -20,6 +20,9 @@ #include <dlfcn.h> #include <stdio.h> #include <unwind.h> +#define __libc_dlopen(x) dlopen(x, (RTLD_LOCAL | RTLD_LAZY)) +#define __libc_dlsym dlsym +#define __libc_dlclose dlclose static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); static _Unwind_Reason_Code (*libgcc_s_personality) @@ -42,7 +45,7 @@ init (void) || (sjlj_unregister = __libc_dlsym (handle, "_Unwind_SjLj_Unregister")) == NULL || (resume = __libc_dlsym (handle, "_Unwind_SjLj_Resume")) == NULL || (personality = __libc_dlsym (handle, "__gcc_personality_sj0")) == NULL) - __libc_fatal ("libgcc_s.so.1 must be installed for pthread_cancel to work\n"); + fprintf(stderr, "libgcc_s.so.1 must be installed for pthread_cancel to work\n"); libgcc_s_resume = resume; libgcc_s_personality = personality; |