summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/unix/sysv/linux/arm
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2010-02-17 14:28:38 -0800
committerKhem Raj <raj.khem@gmail.com>2010-02-17 14:28:38 -0800
commit94f3c30dc2d8193f977daf04414b1edd815ced83 (patch)
tree830538d15828aa76991332aae8aa3a894ffa1c5b /libpthread/nptl/sysdeps/unix/sysv/linux/arm
parent5e6d4834e6b35c6b0017fcdaf246c505dec10452 (diff)
Assorted fixed to get nptl compiling on ARM
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux/arm')
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c5
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c5
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;