diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2009-11-03 23:52:01 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2009-11-03 23:52:01 +0100 |
commit | 13f6812ffb5b8ad8c343d49e0be7e5ae0d31dc8e (patch) | |
tree | e57278e0d283a1c6dd1d6e2623c531d84d12bb0e | |
parent | cc49a5a8837be1f9307b167d9bf4399798a847c9 (diff) | |
download | glibc-13f6812ffb5b8ad8c343d49e0be7e5ae0d31dc8e.tar glibc-13f6812ffb5b8ad8c343d49e0be7e5ae0d31dc8e.tar.gz glibc-13f6812ffb5b8ad8c343d49e0be7e5ae0d31dc8e.tar.bz2 glibc-13f6812ffb5b8ad8c343d49e0be7e5ae0d31dc8e.zip |
Make name of libgcc_s library configurable
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | nptl/ChangeLog | 7 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/unwind-forcedunwind.c | 5 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/unwind-resume.c | 5 | ||||
-rw-r--r-- | sysdeps/generic/framestate.c | 3 | ||||
-rw-r--r-- | sysdeps/generic/libgcc_s.h | 2 |
6 files changed, 23 insertions, 5 deletions
@@ -1,3 +1,9 @@ +2009-11-03 Andreas Schwab <schwab@linux-m68k.org> + + [BZ #4457] + * sysdeps/generic/libgcc_s.h: New file. + * sysdeps/generic/framestate.c: Include it and use LIBGCC_S_SO. + 2009-11-01 Ulrich Drepper <drepper@redhat.com> * malloc/hooks.c (free_check): Restore locking and call _int_free 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 <schwab@linux-m68k.org> + + [BZ #4457] + * sysdeps/pthread/unwind-resume.c: Include <libgcc_s.h> and use + LIBGCC_S_SO. + * sysdeps/pthread/unwind-forcedunwind.c: Likewise. + 2009-10-30 Ulrich Drepper <drepper@redhat.com> * 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 <unwind.h> #include <pthreadP.h> #include <sysdep.h> +#include <libgcc_s.h> 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 <dlfcn.h> #include <stdio.h> #include <unwind.h> +#include <libgcc_s.h> 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; diff --git a/sysdeps/generic/framestate.c b/sysdeps/generic/framestate.c index a912a8c375..80375bba98 100644 --- a/sysdeps/generic/framestate.c +++ b/sysdeps/generic/framestate.c @@ -24,6 +24,7 @@ #define __frame_state_for fallback_frame_state_for #include <unwind-dw2.c> #undef __frame_state_for +#include <libgcc_s.h> typedef struct frame_state * (*framesf)(void *pc, struct frame_state *); struct frame_state *__frame_state_for (void *pc, @@ -36,7 +37,7 @@ __frame_state_for (void *pc, struct frame_state *frame_state) if (frame_state_for == NULL) { - void *handle = __libc_dlopen ("libgcc_s.so.1"); + void *handle = __libc_dlopen (LIBGCC_S_SO); if (handle == NULL || (frame_state_for diff --git a/sysdeps/generic/libgcc_s.h b/sysdeps/generic/libgcc_s.h new file mode 100644 index 0000000000..e74a1034ca --- /dev/null +++ b/sysdeps/generic/libgcc_s.h @@ -0,0 +1,2 @@ +/* Name of libgcc_s library provided by gcc. */ +#define LIBGCC_S_SO "libgcc_s.so.1" |