diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-error.c | 3 | ||||
-rw-r--r-- | elf/dl-minimal.c | 8 |
3 files changed, 6 insertions, 8 deletions
@@ -1,5 +1,8 @@ 2005-12-17 Ulrich Drepper <drepper@redhat.com> + * elf/dl-error.c (_dl_signal_error): Use __longjmp instead of longjmp. + * elf/dl-minimal.c (longjmp): Remove definition. + * sysdeps/x86_64/bsd-setjmp.S [PIC] (setjmp): Add missing jmp. 2005-12-14 Thorsten Kukuk <kukuk@suse.de> diff --git a/elf/dl-error.c b/elf/dl-error.c index 3a0d9bb..be9209d 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 adb85e6..868d3bd 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 |