diff options
author | Roland McGrath <roland@gnu.org> | 1995-05-08 09:11:25 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-05-08 09:11:25 +0000 |
commit | 421f82e5cc8f81ab003247d771bcecbad799be85 (patch) | |
tree | 6d2e888aa32ba05854b1bd793b903cd0eb755bc4 /elf/dl-error.c | |
parent | 0fb807c1dbb08de4408c440c2db490b52bd16f57 (diff) | |
download | glibc-421f82e5cc8f81ab003247d771bcecbad799be85.zip glibc-421f82e5cc8f81ab003247d771bcecbad799be85.tar.gz glibc-421f82e5cc8f81ab003247d771bcecbad799be85.tar.bz2 |
Sat May 6 11:06:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makeconfig (+gccwarn): Add -Winline.
* hurd/hurdsig.c (_hurd_internal_post_signal): If SS->context is
set, avoid abort_rpcs, and use reply and intr ports saved in
SS->context.
* sysdeps/mach/hurd/i386/trampoline.c: Don't set SS->intr_port
from SS->context. Don't clear SS->context.
* sysdeps/mach/hurd/i386/sigreturn.c: Don't set SS->intr_port when
setting SS->context. If msg_sig_post returns, re-lock and clear
SS->context.
Fri May 5 10:37:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* mach/Makefile (errsystems.c): Comment out generation rule.
* sysdeps/mach/_strerror.c: Consider a system unknown if its
bad_sub member is null.
* mach/mig-alloc.c: Add weak alias to non-__ name.
Diffstat (limited to 'elf/dl-error.c')
-rw-r--r-- | elf/dl-error.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/elf/dl-error.c b/elf/dl-error.c index b9ee351..5f8e4e4 100644 --- a/elf/dl-error.c +++ b/elf/dl-error.c @@ -22,23 +22,28 @@ Cambridge, MA 02139, USA. */ #include <setjmp.h> static jmp_buf catch_env; -static const char *signalled_errstring; +static const char *signalled_errstring, *signalled_objname; void -_dl_signal_error (int errcode, const char *errstring) +_dl_signal_error (int errcode, + const char *objname, + const char *errstring) { signalled_errstring = errstring ?: "DYNAMIC LINKER BUG!!!"; longjmp (catch_env, errcode ?: -1); } int -_dl_catch_error (const char **errstring, void (*operate) (void)) +_dl_catch_error (const char **errstring, + const char **objname, + void (*operate) (void)) { int errcode; - signalled_errstring = NULL; + signalled_errstring = signalled_objname = NULL; errcode = setjmp (catch_env); (*operate) (); *errstring = signalled_errstring; + *objname = signalled_objname; return *errstring ? errcode : 0; } |