summaryrefslogtreecommitdiffstats
path: root/libpthread/nptl/sysdeps/pthread/unwind-resume.c
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-08-21 04:26:01 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-08-21 04:26:01 +0000
commit4bdddc9cbfda2acc3da87f7565baca9307ab92f7 (patch)
treeddbbc7e72d72bf78d80f000163011d0c36a07aea /libpthread/nptl/sysdeps/pthread/unwind-resume.c
parentc1a6053c890d37c25fce66ffc65a4ede77093ee0 (diff)
downloaduClibc-alpine-4bdddc9cbfda2acc3da87f7565baca9307ab92f7.tar.bz2
uClibc-alpine-4bdddc9cbfda2acc3da87f7565baca9307ab92f7.tar.xz
Finally check in all the changes I made for NPTL library proper.
Diffstat (limited to 'libpthread/nptl/sysdeps/pthread/unwind-resume.c')
-rw-r--r--libpthread/nptl/sysdeps/pthread/unwind-resume.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libpthread/nptl/sysdeps/pthread/unwind-resume.c b/libpthread/nptl/sysdeps/pthread/unwind-resume.c
index 021024d49..594296723 100644
--- a/libpthread/nptl/sysdeps/pthread/unwind-resume.c
+++ b/libpthread/nptl/sysdeps/pthread/unwind-resume.c
@@ -19,6 +19,7 @@
#include <dlfcn.h>
#include <stdio.h>
+#include <stdlib.h>
#include <unwind.h>
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
@@ -29,14 +30,15 @@ static _Unwind_Reason_Code (*libgcc_s_personality)
static void
init (void)
{
- void *resume, *personality;
+ void *resume = NULL;
+ void *personality = NULL;
void *handle;
- handle = __libc_dlopen ("libgcc_s.so.1");
+ handle = dlopen ("libgcc_s.so.1", (RTLD_LOCAL | RTLD_LAZY));
if (handle == NULL
- || (resume = __libc_dlsym (handle, "_Unwind_Resume")) == NULL
- || (personality = __libc_dlsym (handle, "__gcc_personality_v0")) == NULL)
+ || (resume = dlsym (handle, "_Unwind_Resume")) == NULL
+ || (personality = dlsym (handle, "__gcc_personality_v0")) == NULL)
{
printf("libgcc_s.so.1 must be installed for pthread_cancel to work\n");
abort();