summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-12-17 23:26:28 +0000
committerUlrich Drepper <drepper@redhat.com>2005-12-17 23:26:28 +0000
commit8292f6fc71a60e92a23be053c500f504c6802c54 (patch)
tree100fe65d6ecec85d60480efdb0e5207af33a9609
parentb15cc6a1ef600e405212d045e3b681d81434065a (diff)
* elf/dl-error.c (_dl_catch_error): Use __sigsetgjmp instead of
setjmp.
-rw-r--r--ChangeLog2
-rw-r--r--elf/dl-error.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2d61341154..b2af78c42b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2005-12-17 Ulrich Drepper <drepper@redhat.com>
+ * elf/dl-error.c (_dl_catch_error): Use __sigsetgjmp instead of
+ setjmp.
* elf/dl-error.c (_dl_signal_error): Use __longjmp instead of longjmp.
* elf/dl-minimal.c (longjmp): Remove definition.
diff --git a/elf/dl-error.c b/elf/dl-error.c
index be9209da22..b5374e949c 100644
--- a/elf/dl-error.c
+++ b/elf/dl-error.c
@@ -170,7 +170,8 @@ _dl_catch_error (const char **objname, const char **errstring,
struct catch **const catchp = &CATCH_HOOK;
old = *catchp;
- errcode = setjmp (c.env);
+ /* Do not save the signal mask. */
+ errcode = __sigsetjmp (c.env, 0);
if (__builtin_expect (errcode, 0) == 0)
{
*catchp = &c;