From 13f6812ffb5b8ad8c343d49e0be7e5ae0d31dc8e Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 3 Nov 2009 23:52:01 +0100 Subject: Make name of libgcc_s library configurable --- nptl/ChangeLog | 7 +++++++ nptl/sysdeps/pthread/unwind-forcedunwind.c | 5 +++-- nptl/sysdeps/pthread/unwind-resume.c | 5 +++-- 3 files changed, 13 insertions(+), 4 deletions(-) (limited to 'nptl') diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 52176fc10d..0aaaa3f7b9 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,10 @@ +2009-11-03 Andreas Schwab + + [BZ #4457] + * sysdeps/pthread/unwind-resume.c: Include and use + LIBGCC_S_SO. + * sysdeps/pthread/unwind-forcedunwind.c: Likewise. + 2009-10-30 Ulrich Drepper * tst-sem11.c (main): Rewrite to avoid aliasing problems. diff --git a/nptl/sysdeps/pthread/unwind-forcedunwind.c b/nptl/sysdeps/pthread/unwind-forcedunwind.c index 402591f6e4..ae43f335e7 100644 --- a/nptl/sysdeps/pthread/unwind-forcedunwind.c +++ b/nptl/sysdeps/pthread/unwind-forcedunwind.c @@ -22,6 +22,7 @@ #include #include #include +#include static void *libgcc_s_handle; static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); @@ -49,7 +50,7 @@ pthread_cancel_init (void) return; } - handle = __libc_dlopen ("libgcc_s.so.1"); + handle = __libc_dlopen (LIBGCC_S_SO); if (handle == NULL || (resume = __libc_dlsym (handle, "_Unwind_Resume")) == NULL @@ -61,7 +62,7 @@ pthread_cancel_init (void) || ARCH_CANCEL_INIT (handle) #endif ) - __libc_fatal ("libgcc_s.so.1 must be installed for pthread_cancel to work\n"); + __libc_fatal (LIBGCC_S_SO " must be installed for pthread_cancel to work\n"); PTR_MANGLE (resume); libgcc_s_resume = resume; diff --git a/nptl/sysdeps/pthread/unwind-resume.c b/nptl/sysdeps/pthread/unwind-resume.c index 088f4c6f6c..69f3e04c43 100644 --- a/nptl/sysdeps/pthread/unwind-resume.c +++ b/nptl/sysdeps/pthread/unwind-resume.c @@ -20,6 +20,7 @@ #include #include #include +#include static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); static _Unwind_Reason_Code (*libgcc_s_personality) @@ -32,12 +33,12 @@ init (void) void *resume, *personality; void *handle; - handle = __libc_dlopen ("libgcc_s.so.1"); + handle = __libc_dlopen (LIBGCC_S_SO); if (handle == NULL || (resume = __libc_dlsym (handle, "_Unwind_Resume")) == NULL || (personality = __libc_dlsym (handle, "__gcc_personality_v0")) == NULL) - __libc_fatal ("libgcc_s.so.1 must be installed for pthread_cancel to work\n"); + __libc_fatal (LIBGCC_S_SO " must be installed for pthread_cancel to work\n"); libgcc_s_resume = resume; libgcc_s_personality = personality; -- cgit 1.4.1