about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-error.c3
-rw-r--r--elf/dl-minimal.c8
2 files changed, 3 insertions, 8 deletions
diff --git a/elf/dl-error.c b/elf/dl-error.c
index 3a0d9bb8a7..be9209da22 100644
--- a/elf/dl-error.c
+++ b/elf/dl-error.c
@@ -112,7 +112,8 @@ _dl_signal_error (int errcode, const char *objname, const char *occation,
 	  lcatch->errstring = _dl_out_of_memory;
 	  lcatch->malloced = false;
 	}
-      longjmp (lcatch->env, errcode ?: -1);
+      /* We do not restore the signal mask because none was saved.  */
+      __longjmp (lcatch->env, errcode ?: -1);
     }
   else
     {
diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c
index adb85e6753..868d3bd2ed 100644
--- a/elf/dl-minimal.c
+++ b/elf/dl-minimal.c
@@ -1,5 +1,5 @@
 /* Minimal replacements for basic facilities used in the dynamic linker.
-   Copyright (C) 1995-1998,2000-2002,2004 Free Software Foundation, Inc.
+   Copyright (C) 1995-1998,2000-2002,2004,2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -148,12 +148,6 @@ __sigjmp_save (sigjmp_buf env, int savemask __attribute__ ((unused)))
   env[0].__mask_was_saved = 0;
   return 0;
 }
-
-void weak_function
-longjmp (jmp_buf env, int val)
-{
-  __longjmp (env[0].__jmpbuf, val);
-}
 
 /* Define our own version of the internal function used by strerror.  We
    only provide the messages for some common errors.  This avoids pulling