summaryrefslogtreecommitdiff
path: root/include/dlfcn.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-06-10 04:01:36 +0000
committerUlrich Drepper <drepper@redhat.com>2000-06-10 04:01:36 +0000
commit8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51 (patch)
treede81e2ebf2b5b32510d511caa07c2496e3d540ba /include/dlfcn.h
parentf3863621f617b040c66d635109203c29f35f7331 (diff)
Update.
2000-06-09 Ulrich Drepper <drepper@redhat.com> 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.
Diffstat (limited to 'include/dlfcn.h')
-rw-r--r--include/dlfcn.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/dlfcn.h b/include/dlfcn.h
index a2398c4c93..ad445aef28 100644
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -36,14 +36,15 @@ extern void *_dl_sym (void *handle, const char *name, void *who)
extern void *_dl_vsym (void *handle, const char *name, const char *version,
void *who)
internal_function;
-
+
/* Call OPERATE, catching errors from `dl_signal_error'. If there is no
error, *ERRSTRING is set to null. If there is an error, *ERRSTRING is
set to a string constructed from the strings passed to _dl_signal_error,
- and the error code passed is the return value. ERRSTRING if nonzero
+ and the error code passed is the return value and *OBJNAME is set to
+ the object name which experienced the problems. ERRSTRING if nonzero
points to a malloc'ed string which the caller has to free after use.
ARGS is passed as argument to OPERATE. */
-extern int _dl_catch_error (char **errstring,
+extern int _dl_catch_error (const char **objname, const char **errstring,
void (*operate) (void *),
void *args)
internal_function;