From 8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 10 Jun 2000 04:01:36 +0000 Subject: Update. 2000-06-09 Ulrich Drepper Rewrite error message handling. * elf/dl-deps.c (_dl_map_object_deps): Pass new parameter to _dl_catch_error. * elf/dl-error (struct catch): Add objname member. (_dl_signal_error): Take new parameter with object name. When passing message on simply store object name and duplicate error message. (_dl_catch_error): Take new parameter. Store object name in the place pointed to. * include/dlfcn.h: Adjust _dl_catch_error prototype. * sysdeps/generic/ldsodefs.h: Adjust _dl_signal_error prototype. * elf/dl-libc.c (dlerror_run): Pass new parameter to _dl_catch_error. * elf/dl-open.c (_dl_open): Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-close.c: Mark error messages with N_(). * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/dl-lookup.c: Add comments about problems with error message translations. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise. --- elf/dl-libc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'elf/dl-libc.c') diff --git a/elf/dl-libc.c b/elf/dl-libc.c index c95935ff75..38774e50a0 100644 --- a/elf/dl-libc.c +++ b/elf/dl-libc.c @@ -1,5 +1,5 @@ /* Handle loading and unloading shared objects for internal libc purposes. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Zack Weinberg , 1999. @@ -35,14 +35,15 @@ static int internal_function dlerror_run (void (*operate) (void *), void *args) { - char *last_errstring = NULL; + const char *objname; + const char *last_errstring = NULL; int result; - (void) _dl_catch_error (&last_errstring, operate, args); + (void) _dl_catch_error (&objname, &last_errstring, operate, args); result = last_errstring != NULL; if (result) - free (last_errstring); + free ((char *) last_errstring); return result; } -- cgit v1.2.3